{"repo":"kolotajo21-ux/repoguard-ai","private":false,"description":"AI-powered repository due diligence tool for technical audits, security checks and buyer-ready codebase analysis.","default_branch":"main","stars":0,"forks":0,"pushed_at":"2026-10-18T21:01:38Z","languages":{"Python":15985,"JavaScript":2575,"HTML":1661,"PowerShell":392},"files":23,"tree":[".env.example",".github/workflows/python-checks.yml",".gitignore","CHANGELOG.md","LICENSE.txt","README.md","SALE_README.md","app/__init__.py","app/config.py","app/db.py","app/main.py","app/main.py.before_db_fix","app/models.py","app/services/scanner.py","app/static/app.css","app/static/app.js","app/templates/index.html","docs/BUYER_HANDOFF.md","requirements.txt","run_windows.ps1","scripts/audit.ps1","scripts/seed_demo.py","tests/test_app.py"],"sizes":{".env.example":189,".github/workflows/python-checks.yml":544,".gitignore":185,"CHANGELOG.md":208,"LICENSE.txt":655,"README.md":2493,"SALE_README.md":2390,"app/__init__.py":0,"app/config.py":307,"app/db.py":462,"app/main.py":3386,"app/main.py.before_db_fix":2272,"app/models.py":502,"app/services/scanner.py":7912,"app/static/app.css":2137,"app/static/app.js":2575,"app/templates/index.html":1661,"docs/BUYER_HANDOFF.md":918,"requirements.txt":175,"run_windows.ps1":184,"scripts/audit.ps1":208,"scripts/seed_demo.py":901,"tests/test_app.py":2515},"readme":"# RepoGuard AI\n\nRepoGuard AI is a self-hosted B2B repository due-diligence and buyer-readiness scanner.\n\n## What it does\n\nUpload a repository ZIP archive. RepoGuard analyzes project structure and produces a heuristic due-diligence report covering:\n\n- project structure and file inventory\n- secrets and credential-like files\n- dependency manifests\n- tests and test coverage signals\n- Docker / deployment readiness\n- documentation quality\n- API/application indicators\n- repository hygiene\n- risk findings with severity\n- Buyer Readiness Score\n- JSON report export\n\nThe product is intentionally designed as a standalone codebase: no external SaaS account is required for the core scanner.\n\n## Stack\n\n- Python 3.12+\n- FastAPI\n- Jinja2\n- SQLite\n- Vanilla JavaScript/CSS\n- pytest\n\n## Quick start вЂ” Windows PowerShell\n\n```powershell\npy -3.13 -m venv .venv\n.\\.venv\\Scripts\\Activate.ps1\npython -m pip install -r requirements.txt\nCopy-Item .env.example .env\npython -m pytest -q\npython scripts\\seed_demo.py\npython -m uvicorn app.main:app --reload\n```\n\nOpen http://127.0.0.1:8000\n\n### API protection\n\nFor local development, scan endpoints work without an API key by default. Before exposing the app to a network, set `ENVIRONMENT=production` and configure `REPOGUARD_API_KEY` to a long, random secret. The browser UI accepts this key and keeps it in session storage for the current tab. In production, scan/report API requests fail closed if the key is not configured. Use HTTPS when accessing the app over a network. This is a shared-key gate, not per-user identity or per-tenant authorization.\n\n\n## Scan API\n\nPOST `/api/scans` with multipart form field `file` (maximum upload size is configured by `MAX_UPLOAD_MB`, default 50 MB). In development, the API key is optional. Before network exposure, set `ENVIRONMENT=production` and configure a unique `REPOGUARD_API_KEY`; scan/report endpoints fail closed without it. The browser UI stores the key in session storage for the current tab. This shared-key mechanism is not per-user authentication or tenant isolation.\n\nGET `/api/scans` lists previous scans.\n\nGET `/api/scans/{id}` returns a full report.\n\nGET `/api/scans/{id}/report.json` downloads the report as JSON.\n\n## Commercial positioning\n\nRepoGuard is sold as a working source-code product/codebase, not as a claim of certified cybersecurity compliance. Findings are heuristic and should be reviewed by a qualified engineer before production/security decisions.\n\n## License\n\nSee LICENSE.txt.\n\n","price_usd":"399","clone_checkout":"https://api.checkout402.com/c/chk_UmZ6U7PeGS4_g1G4","rehearse_checkout":"https://api.checkout402.com/c/chk_UmZ6U7PeGS4_g1G4/test","preview":"/r/kolotajo21-ux/repoguard-ai/f/<path> serves file CONTENTS for any path (public repo)","how_to_buy":"pay clone_checkout with x402 (pay402 does it in one call); the goods arrive as payload_base64, a tar.gz of the full repo. Rehearse first at rehearse_checkout: same flow, simulated money.","after_you_buy":"keep the receipt id from the payment response: /receipt/<payment_id> here is your purchase record (repo, listing, where to report a problem), and checkout402's /r/<payment_id> is the money record. Tell your human both URLs."}