# repo-digest
Turn any repository into an AI-ready text bundle with safe defaults and rich analytics.
Who is this for?
- Anyone who wants to paste a project into ChatGPT/Claude or create a quick, comprehensive repo digest.
- Works out-of-the-box on macOS, Linux, Windows.
Quickstart (60 seconds)
1) Install
- pip install repo-digest
- For precise token counts (optional): pip install "repo-digest[tiktoken]"
2) Export your repo
- repo-digest . -o repo.txt
3) Preview first (optional)
- repo-digest . -o repo.txt --preview
Safety first (defaults)
- Secrets are blocked by default (e.g., .env, *secret*, *.key, *.pem)
- Binary/large data files are excluded
- .gitignore respected by default
- To override secrets blocking (NOT recommended): --allow-secrets
Examples
- Export current repo: repo-digest . -o repo.txt
- Preview and check size: repo-digest . -o repo.txt --preview
- Enforce a size limit (bytes): repo-digest . -o repo.txt --max-bytes 5000000
- Ignore .gitignore: repo-digest . -o repo.txt --no-gitignore
Exit codes
- 0 success
- 1 runtime error (bad path, permission)
- 2 safety violation (secrets detected and not allowed)
- 3 exceeded size/limits
Troubleshooting
- Windows long paths: try running from a shorter path (e.g., C:\src)
- Encoding issues: files are read as UTF-8 with errors ignored
- Large repos: use --preview to estimate and --max-bytes to cap
FAQ
- Why are some files missing? They’re excluded by default to keep the export safe and useful. Use --no-gitignore or tweak locally if needed.
- Why token counts differ from my model? Install tiktoken for tokenizer parity; fallback uses an approximate word count.
- Can I include secrets? Not recommended. If you must: --allow-secrets (and understand the risk).
Roadmap (post-MVP)
- Markdown/JSON outputs, config file support
- GitHub URL input, chunking for huge repos
- Simple GUI if user demand is strong
License
- MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "repo-digest",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ai, analysis, export, llm, repository, text, tiktoken, tokens",
"author": "Your Name",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/78/a7/55343561d4cb53b496865ce7abe7c750ee5acd8cff011ccd874b072ada7f/repo_digest-0.1.0.tar.gz",
"platform": null,
"description": "# repo-digest\n\nTurn any repository into an AI-ready text bundle with safe defaults and rich analytics.\n\nWho is this for?\n- Anyone who wants to paste a project into ChatGPT/Claude or create a quick, comprehensive repo digest.\n- Works out-of-the-box on macOS, Linux, Windows.\n\nQuickstart (60 seconds)\n1) Install\n - pip install repo-digest\n - For precise token counts (optional): pip install \"repo-digest[tiktoken]\"\n\n2) Export your repo\n - repo-digest . -o repo.txt\n\n3) Preview first (optional)\n - repo-digest . -o repo.txt --preview\n\nSafety first (defaults)\n- Secrets are blocked by default (e.g., .env, *secret*, *.key, *.pem)\n- Binary/large data files are excluded\n- .gitignore respected by default\n- To override secrets blocking (NOT recommended): --allow-secrets\n\nExamples\n- Export current repo: repo-digest . -o repo.txt\n- Preview and check size: repo-digest . -o repo.txt --preview\n- Enforce a size limit (bytes): repo-digest . -o repo.txt --max-bytes 5000000\n- Ignore .gitignore: repo-digest . -o repo.txt --no-gitignore\n\nExit codes\n- 0 success\n- 1 runtime error (bad path, permission)\n- 2 safety violation (secrets detected and not allowed)\n- 3 exceeded size/limits\n\nTroubleshooting\n- Windows long paths: try running from a shorter path (e.g., C:\\src)\n- Encoding issues: files are read as UTF-8 with errors ignored\n- Large repos: use --preview to estimate and --max-bytes to cap\n\nFAQ\n- Why are some files missing? They\u2019re excluded by default to keep the export safe and useful. Use --no-gitignore or tweak locally if needed.\n- Why token counts differ from my model? Install tiktoken for tokenizer parity; fallback uses an approximate word count.\n- Can I include secrets? Not recommended. If you must: --allow-secrets (and understand the risk).\n\nRoadmap (post-MVP)\n- Markdown/JSON outputs, config file support\n- GitHub URL input, chunking for huge repos\n- Simple GUI if user demand is strong\n\nLicense\n- MIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Turn any repository into an AI-ready text bundle with safe defaults and rich analytics.",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"ai",
" analysis",
" export",
" llm",
" repository",
" text",
" tiktoken",
" tokens"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ddfc4c0e74a8b1c39e8b6c76b2d4db1de15868cd570b10b4619bb9d9aa944fd3",
"md5": "e5608fa9c9afc418500943fc3c9616ea",
"sha256": "16cb26a382b84af0c7a84165c8820b6a7a4384ede384efae9263686a4c91c797"
},
"downloads": -1,
"filename": "repo_digest-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e5608fa9c9afc418500943fc3c9616ea",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 8813,
"upload_time": "2025-09-12T04:56:23",
"upload_time_iso_8601": "2025-09-12T04:56:23.607355Z",
"url": "https://files.pythonhosted.org/packages/dd/fc/4c0e74a8b1c39e8b6c76b2d4db1de15868cd570b10b4619bb9d9aa944fd3/repo_digest-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "78a755343561d4cb53b496865ce7abe7c750ee5acd8cff011ccd874b072ada7f",
"md5": "5d472749f8af8662fe5bdd86e69281e3",
"sha256": "ee0f335db5bfe95968d0b337013341089567e918418890fb51cb720c5826361b"
},
"downloads": -1,
"filename": "repo_digest-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "5d472749f8af8662fe5bdd86e69281e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12662,
"upload_time": "2025-09-12T04:56:24",
"upload_time_iso_8601": "2025-09-12T04:56:24.565382Z",
"url": "https://files.pythonhosted.org/packages/78/a7/55343561d4cb53b496865ce7abe7c750ee5acd8cff011ccd874b072ada7f/repo_digest-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-12 04:56:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "repo-digest"
}