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
16 lines
493 B
Python
16 lines
493 B
Python
#!/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")
|