Simple GitHub webhook -> OMX automation loop.
- Typer CLI
- FastAPI webhook server
- Registered repos only
- Repo-serial / cross-repo parallel job handling
- non-interactive
omx exec/omx exec resumelaunches - Separate prompt templates in
dani/prompts.py - Workflows for:
- issue request report
/approveimplementation- 3 review rounds for PRs
- final verdict + auto-merge on APPROVE
Required local tools:
gitomx
Required environment variables:
DANI_WEBHOOK_SECRETDANI_GITHUB_TOKEN(preferred) orGITHUB_TOKEN/GH_TOKEN/GITHUB_PAT
Before dani can reliably launch or resume OMX/Codex sessions for a repository, that repository directory should be trusted by Codex at least once. In practice, run omx exec 'hello' or codex exec 'hello' once from the target repo and accept the trust prompt before using dani automation there. Otherwise a trust prompt can block session startup or resume.
dani register-repo owner/name /absolute/path/to/repo
dani serve --data-dir .dani
dani bootstrap owner/name
dani show-stateState is stored under ~/.dani/ by default:
registry.jsonjobs.jsonsessions.jsonevents.jsonlruns/for generated OMX prompt/script artifacts
- OMX sessions should use
ghfor issue comments, PR comments, and PR creation/update. dani/github.pyanddani/github_helper.pyremain PyGithub-backed internal surfaces for dani runtime logic.