refactor: restructure into proper project layout + improve docs

Project layout:
- src/: application modules (run_server, auto_merge_bot, health-check, sync-key, trivial_merge, callback_server, start_server)
- scripts/: setup/deployment helpers (setup_all, setup_app, generate_manifest)
- templates/: manifest.json (GitHub App manifest template)
- docs/  + CONTRIBUTING.md: documentation

Improvements:
- flake.nix: added pr-agent-auto-merge wrapper binary, updated installPhase paths
- deploy.yml: syntax check covers all modules including health-check.py and sync-key.py
- README.md: comprehensive with architecture, layout, dev, ops, deployment
- CONTRIBUTING.md: standards and testing checklist
- .gitignore: added *.log, *.pid, .env.*
- Cleanup: removed duplicate manifest_current.json / manifest_final.json
- Fix: health-check.py docstring updated to claude-opus-5

Verification:
- ✅ python3 -m py_compile: all 11 modules pass
- ✅ nix flake check: passes
This commit is contained in:
asepharyana committed 2026-08-20 11:38:24 +07:00
1 parent 017656d97b
commit bc8e1739e9
19 files changed
+141 -90

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env python3
"""PR-Agent GitHub Webhook Server - Start Script"""
import os
import sys
# Add the pr-agent package to path
sys.path.insert(0, os.path.expanduser("~/hermes-agent/.venv/lib/python3.12/site-packages"))
from pr_agent.servers.github_app import app
import uvicorn
if __name__ == '__main__':
port = int(os.environ.get("PORT", "4002"))
print(f"Starting PR-Agent GitHub App server on 0.0.0.0:{port}")
uvicorn.run(app, host="0.0.0.0", port=port, log_level="info")