Hey ! I’m thrilled to introduce RepoPacker.jl, a package that helps you prepare your Julia projects for AI analysis with minimal effort. Think of it as your personal codebase packer for the AI era!
Why should you care? 
If you’ve ever tried to feed your Julia code into an AI assistant (like GitHub Copilot, ChatGPT, or any LLM), you know the pain: either you’re manually copying files one by one, or struggling with context limits. RepoPacker.jl solves this by giving you a simple, Julia-native way to package your entire project into a single file that AI tools love to munch on!
What’s in the box? 
Just works out of the box - No complicated setup, just
Pkg.add("RepoPacker")
and you’re ready to go!
Multiple output formats to fit your needs:
- XML (default, perfect for most AI tools)
- JSON (great for programmatic processing)
- Markdown (human-friendly for documentation)
Smart defaults that just make sense:
- Automatically includes all common Julia/text files
- Excludes binary files and
.git
directories - Calculates token counts so you know if you’re staying within LLM context limits
**Customizable **:
- Add your favorite file extensions (
.r
,.sql
, etc.) - Exclude paths you don’t want shared (
.env
,test/
, etc.) - Detailed metrics to help manage AI context windows
Installation? Super easy! 
using Pkg
Pkg.add("RepoPacker")
Let’s see it in action! 
Pack your current project (takes seconds!):
using RepoPacker
RepoPacker.pack_directory(".", "my_project.xml")
Boom! You now have a neatly packaged file ready to share with your AI assistant.
Want to analyze someone else’s Julia project?
using RepoPacker
RepoPacker.clone_and_pack("https://github.com/JuliaLang/julia.git", "julia.xml")
No more cloning, navigating directories, and manually selecting files - RepoPacker does it all for you!
But wait, there’s more! 
RepoPacker.jl is designed with real-world workflows in mind:
using RepoPacker
# Let's customize for your specific needs
RepoPacker.add_extension(".r") # Love R in your Julia project? No problem!
RepoPacker.neglect_path("test/") # Skip tests - AI doesn't need those
RepoPacker.neglect_path(".env") # Keep secrets secret
# Pack it up!
RepoPacker.pack_directory(".", "project.xml", verbose=true)
The output file gives you:
- A clear directory structure (so AI understands your project layout)
- All your code in one place (no more missing context!)
- Handy metrics like total tokens (so you know if you’re within LLM limits)
- Top files by token count (helpful when you need to trim things down)
Why this makes your life better 
Whether you’re:
- Getting help from AI on your Julia package
- Documenting your project with AI assistance
- Building AI-powered development tools
- Just tired of manually copying files to chat with your favorite LLM
RepoPacker.jl bridges that gap between your Julia code and the AI tools that want to help you. It’s like giving your AI assistant a complete map of your codebase instead of just handing it random scraps of paper!
Try it out today! 
RepoPacker.jl is ready for action with a solid test suite behind it. I’ve been using it in my own workflow and it’s made working with AI assistants so much smoother.
Special shoutout to yamadashy for the original Repomix concept that inspired this Julia-native implementation. RepoPacker.jl maintains compatibility while delivering the Julia performance and type safety we all love.
Try it and let me know what you think! I’d love to hear how you’re using it, what features would make it even better, or just to see what cool things you’re building with it.