Changes
Fixed
- Codex hooks that fail with
hook exited with code 127, or file edits denied
withcan't open file .../hook.py, come from sessions started before a
plugin update: Codex keeps the old plugin directory, which the update
deleted. Restart those sessions. The installation doctor now reports missing
hook files in itshook-filescheck.
Changed
make validatechecks every generated hook config for all targets: known
events, valid matchers and timeouts, the right plugin-root variable, and
referenced files that exist. Tests also run each generated hook command from
its plugin root.make testruns in parallel, and CI runs tests when onlydist/changes.
Plugins
| Plugin | Description |
|---|---|
| browser | Browser-based testing, validation, screenshots, recordings, and quick automation |
| dev-flow | Code review, fixes, commits, release flows, and linting for development workflows |
| discovery | Research, docs lookup, utility routing, skill authoring, instruction review, and agent configuration audits |
| git-flow | Git worktrees, branch cleanup, hooks, secret scanning, config hygiene, and guardrails |
| infra-ops | Kubernetes, Terraform, Helm, GitHub Actions, AWS, GCP, and Linux infrastructure operations |
| programming | Idiomatic development across C# /.NET, Go, Java/Kotlin, Python, Rust, TypeScript, shell, and web |
| spec-flow | Lightweight spec loop: plan one slice, execute one task, checkpoint or close |
Distribution
Artifacts are rendered by Agent Bundler from the repository root:
agbun build --root .