
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Yeet your entire codebase into clipboard:
pip install repo2string
cd your/project/path
r2s # Yoink! Your entire codebase is now in your clipboard 📋
Token limit got you down? Cherry-pick your files:
r2s -s # Opens a nice UI for file selection 🎯
repo2string is a tool that helps you prepare your codebase for large language models (LLMs) like ChatGPT. In CLI mode, it automatically processes all relevant files in your project, excluding common build artifacts and respecting .gitignore
. For more control, the file selection UI lets you interactively select specific files and folders while tracking token counts. Either way, the result is copied to your clipboard, ready to be pasted into your favorite LLM.
Features:
.gitignore
(if present) or skip only .git
if no .gitignore
exists.-v
or --verbose
): Also prints the token counts per file,
sorted from highest to lowest.-s
or --select
): Opens a lightweight web interface to select exactly
which files and folders to include.You can install repo2string
directly from PyPI:
pip install repo2string
Or install from source:
git clone https://github.com/szulcmaciej/repo2string.git
cd repo2string
pip install .
You can use either the full command repo2string
or its shorter alias r2s
.
The CLI mode processes all relevant files in the directory, excluding those matched by .gitignore
and default exclusions. Use this when you want to quickly copy the entire codebase.
r2s [PATH] [--verbose]
PATH
is optional; defaults to current directory--verbose
or -v
shows token counts per fileExample:
r2s # Copy current directory
r2s /path/to/project # Copy specific directory
r2s -v # Show token counts per file
Need more control? The file selection UI lets you choose specific files and folders while tracking token counts.
r2s [PATH] --select # or -s
This opens a local web interface where you can:
The UI runs locally - no data leaves your machine, and the server shuts down automatically when you're done.
The tool automatically excludes common directories and files that typically don't need to be included in the LLM context:
.git/
**/.*cache/
, **/__pycache__/
**/build/
, **/dist/
, **/target/
, **/bin/
, **/obj/
, **/out/
**/node_modules/
, **/vendor/
, **/package-lock.json
**/.idea/
, **/.vscode/
, **/.vs/
**/.env*/
, **/venv/
These are in addition to any patterns specified in your .gitignore
file.
To set up the development environment:
Clone the repository:
git clone https://github.com/szulcmaciej/repo2string.git
cd repo2string
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
To run tests manually:
pytest
The release process is fully automated through a chain of GitHub Actions:
master
, the CI workflow runs tests and lintingpyproject.toml
was bumped:
No manual intervention is needed beyond pushing your changes with a version bump.
FAQs
Copy any repository into the clipboard. And get the token count.
We found that repo2string demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.