Release 0.1 of repo-contextr
Finally, at the end of week 3, version 0.1 of repo-contextr is out! 🎉 This marks my first real open source project release, and honestly, I'm still amazed by how it all came together.
This release represents the foundation of what the tool will look like at full release. When I first set up this project, I had no idea it would evolve the way it has. It's incredible to see how small pieces of work can create something genuinely useful. Although this isn't the end of the project, I can already see a clearer picture of what the final product will become.
The tool solves a simple but annoying problem: sharing your entire codebase with AI assistants like ChatGPT or Claude without having to copy-paste files one by one.
A Glimpse of repo-contextr
It scans your entire project, gathers all the important information, and packages everything into one clean, organized text file that's perfect for sharing with AI tools.
The tool is pretty straightforward in what it does. It looks through your project files, grabs your git information like commit details and branch name, and puts everything together in a nice structured format. You can also filter which files to include - for example, if you only want Python files, just add --include "*.py"
to the command.
# Basic usage - analyze current directory
contextr .
# Filter for specific file types
contextr . --include "*.py"
# Save output to file for sharing
contextr . --include "*.py" --output context.txt
The best part is that the output is really well organized. It creates sections for your git information, shows your project structure like a file tree, and includes all your code with proper formatting. This makes it super easy for AI assistants to understand your entire codebase at once, instead of you having to explain everything piece by piece.
My Learnings!
During this release 0.1 development, I got to explore Git in ways I never had before. This project has taught me how to manage code changes, work with others, and understand how open source projects actually work.
Git Skills:
It is very hard at the start to wrap your mind around the concept of git and workflows related to it. Once you get the hang of branches, commit histories, pushing to remote repos and all, it becomes very easy. Then you won't have to think much before running any git commands.
GitHub Skills:
On the other side of version control, which is the collaboration tool - GitHub. I believe this tool is also a major part of the workflows connected to git. I learned to create issues, PRs, and work with project authors and contributors during this phase.
Problems:
It is quite obvious that working in an asynchronous manner has the problem of not coming to a result one would want to have at their own time. You have to understand others and help the contributors through the issues they are facing. I had the chance to get myself in this situation, where I and another contributor both missed the deadline of this release. But we calmly understood each other's issues and tried to resolve them, and completed this release.
One other personal problem that I got into and am still in, is the name of the tool. So initially I wanted to publish this package to PyPI so it can be installed with pip. But in the middle of the project I got to know that the "contextr" CLI tool name was already taken by someone. So I had to change the name of the tool to "repo-contextr" and that confused the contributor, resulting in unnecessary issues. I am still working on this and probably will be able to publish it in the next release.
Try repo-contextr Yourself
Want to see what all the excitement is about? Here's how you can try repo-contextr:
🔗 GitHub Repository: github.com/dharamghevariya/repo-contextr
# Install directly using pipx (recommended)
pipx install git+https://github.com/dharamghevariya/repo-contextr.git
# Try it on any project
contextr . --include "*.py"
Top comments (0)