OneSource ⚡
The Local-First Project Packer for AI Context.
🚫 Escape the Node.js ecosystem. No
npm install. No file uploads. 🚀 Just download and run. (Orpip installif you prefer).
OneSource aggregates your entire project into a single, context-rich text file (or clipboard) for LLMs like Claude, ChatGPT, and Gemini.
It bridges the gap between Windows users who want a simple .exe and Python developers who want a native CLI tool.
🥊 Why OneSource? (vs The Rest)
| Feature | OneSource ⚡ | Repomix (Repopack) | Gitingest | code2prompt |
|---|---|---|---|---|
| No Node.js Required | ✅ YES (Standalone EXE) | ❌ No (Need NPM) | ✅ Yes (Web) | ✅ Yes (Rust) |
| Local Privacy | ✅ 100% Local | ✅ Local | ❌ Uploads/Git Push needed | ✅ Local |
| Windows Friendly | ✅ Native .exe | ❌ Complex setup | ✅ Web browser | ⚠️ CLI focused |
| Edit/Extend | ✅ Simple Python | ❌ TypeScript | ❌ Web Service | ❌ Rust (Harder to mod) |
| Clipboard Auto-Copy | ✅ Built-in | ✅ Yes | ❌ Manual copy | ✅ Yes |
- vs Repomix: Stop installing 200MB of
node_modulesjust to pack a text file. OneSource is lightweight. - vs Gitingest: Don't push your private secrets or messy WIP code to GitHub just to analyze it. OneSource works on your local disk, offline.
- vs code2prompt: Easier for Python developers to customize and integrate into their own scripts.
📥 Installation
Select your platform below to see the instructions.
🪟 Windows Users - Packed up exe (Click to expand)
We offer two ways to install OneSource on Windows. Choose the one that fits your style.
Option 1: The Network Installer (PowerShell) - Recommended
Best for most users. Installs the latest version and adds it to PATH via one command.
Open PowerShell and paste the following:
irm [https://raw.githubusercontent.com/TW-RF54732/OneSource/main/install.ps1](https://raw.githubusercontent.com/TW-RF54732/OneSource/main/install.ps1) | iex
Option 2: The Portable EXE
Best for USB drives or temporary use.
- Download the standalone
OneSource.exefrom the Releases Page. - Place it anywhere (e.g., inside your project folder).
- Run it directly via terminal:
.\OneSource.exe
🐍 Python Developers / Every OS - python pip cli tool (Click to expand)
If you have Python installed or want to integrate this into your CI/CD pipeline, use PyPI.
Installation:
pip install onesource-cli
Upgrade:
pip install --upgrade onesource-cli
🎮 Usage Scenarios
Run these commands in your project root.
Scenario 1: The "Lazy" Mode (Bug Fixing) 🌟
You broke the code. You need AI help NOW.
This packs everything (respecting .gitignore) and copies it to your clipboard.
OneSource -c
-> Ctrl+V into ChatGPT.
Scenario 2: Focused Backend Work
Don't confuse the AI with frontend assets. Only grab the Python logic.
OneSource -i "*.py" -c
Scenario 3: "Will this fit in the context window?"
Check token count before pasting.
OneSource -t --dry-run
Scenario 4: Set It and Forget It
Always exclude tests/ and legacy/ folders? Save your config.
OneSource -x "tests/**,legacy/**" --save
Creates a hidden config file. Next time, just run OneSource.
Scenario 5: "Smart Isolation" Mode (Separate Tree & Content) 🧠
Want to see the full project structure (including docs and configs) to give AI context, but only feed it the actual Python code content to save tokens?
OneSource -i "*.py" -ti "*.py,*.md,*.json" -c
Files processed: Only .py. Project Tree shown: .py, .md, and .json.
📖 Command Reference
| Argument | Description | Default |
|---|---|---|
path |
(Positional) Target project path. | Current folder (.) |
-o, --output |
Output filename. | allCode.txt |
-c, --copy |
Auto-copy result to clipboard. | False |
-i, --include |
Only include files matching this pattern (Applied AFTER .gitignore). |
All non-ignored files |
-x, --exclude |
Extra patterns to ignore. **Wins over -i** if there is a conflict. |
None |
--no-ignore |
Unlock mode: Force scan files even if listed in .gitignore. |
False |
-ti, --tree-include |
Tree include patterns. Triggers Independent Mode (isolates tree from file filters). | None (Inherits -i) |
-tx, --tree-exclude |
Tree exclude patterns. Triggers Independent Mode (isolates tree from file filters). | None (Inherits -x) |
--tree-no-ignore |
Ignore .gitignore rules only for the project tree visualization. |
False |
-t, --tokens |
Show token count (requires tiktoken). |
False |
--no-tree |
Disable the directory tree visualization at the top. | False |
--max-size |
Skip files larger than this size (in KB). | 500 KB |
--marker |
Custom XML tag for wrapping code (e.g., use code instead of file). |
file |
--dry-run |
Preview which files will be processed without writing/copying. | False |
--save |
Save current flags as default config (.onesourcerc). |
False |
Built for Vibe Coding. Privacy First. Local First.
Metadata
Release files for onesource-cli 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onesource_cli-1.3.1.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onesource_cli-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.7 kB
Release files / onesource_cli-1.3.1.tar.gz
| Download URL | onesource_cli-1.3.1.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc3ad5e8f84abdca759f8e017239fe8899c1c09f73b4b10c5950f975e10702a6
|
|
BLAKE2b-256 checksum How to use checksums |
54f5e40a0da0b7aa1aba2b5c4e03a81cf94a25b7faa9ad5dda7bd46052f73c10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / onesource_cli-1.3.1-py3-none-any.whl
| Download URL | onesource_cli-1.3.1-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b5d52db1881c8509f749fbe7ec6f37f19873f2641f991a51eab81a1555cec4f3
|
|
BLAKE2b-256 checksum How to use checksums |
0cfea35ff4a3a0a0dcbbec39a756d57bc2fb6faedab539c71c2f8bc1b22967bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|