
Product
Introducing Reachability for PHP
Reachability analysis for PHP is now available in experimental, helping teams identify which vulnerabilities are actually exploitable.
repo2string
Advanced tools
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.

Product
Reachability analysis for PHP is now available in experimental, helping teams identify which vulnerabilities are actually exploitable.

Product
Export Socket alert data to your own cloud storage in JSON, CSV, or Parquet, with flexible snapshot or incremental delivery.

Research
/Security News
Bitwarden CLI 2026.4.0 was compromised in the Checkmarx supply chain campaign after attackers abused a GitHub Action in Bitwarden’s CI/CD pipeline.