Thanks for your interest in agent-rollback — the undo button for OpenAI
Codex CLI. We welcome bug reports, feature requests, documentation
improvements, and code.
bin/agent-rollback.jsandbin/arb.js— CLI entry pointssrc/cli.js— command parsing and user-facing outputsrc/snapshot.js— checkpoint creation, diffing, listing, restoresrc/workspace.js— workspace file discovery and path safetysrc/runner.js—codex execwrappersrc/mcp.js— MCP server (stdio)src/hooks.js— Codex hook generationtest/*.test.js— Node's built-in test runnerscripts/install.sh— one-click installer
- Keep runtime dependencies at zero unless a dependency clearly removes more risk than it adds.
- Prefer small, focused functions with clear names.
- Do not add undocumented Codex hook assumptions without linking to official OpenAI docs or a stable upstream source.
- Storage changes need integration tests that create, mutate, diff, and restore a temporary workspace.
- Preserve content-addressed object storage unless replacing it with a simpler tested design.
Run before committing:
npm test
npm run checkBoth must pass.
Use the bug report template. Include:
agent-rollback --versionoutput- The exact command that failed
- Expected vs actual behavior
- A minimal reproduction if possible
Use the feature request template. Explain the problem first, then the solution you have in mind. We strongly prefer solutions that fit the existing CLI surface and don't add a dependency.
- Fork the repo and create a branch from
main. - Make your changes. Add a test under
test/if you change behavior. - Run
npm testandnpm run check— both must pass. - Open a PR with a clear title and description. Reference any related issue.
- A maintainer will review within 3-5 days.
- ESM (
type: "module"inpackage.json) - Two-space indent
- Single quotes
constoverletwhere possible- No
console.logoutside the CLI layer; use the existing helpers (info,ok,warn,err) insrc/cli.js
- Doc fixes are very welcome — README, comments, JSDoc.
- For new user-facing commands, add an example to the "Usage" section and the "30-second start" if it's part of the common flow.
- For new MCP tools, add a row to the "MCP tool reference" table.
Use short, present-tense imperatives:
add --with-mcp flag to installerfix undo safety-checkpoint orderdocs: clarify Codex hook install
Maintainers cut releases via npm version <major|minor|patch> and
npm publish. The tag is pushed automatically. See
CHANGELOG (generated from git history).
This project follows the Contributor Covenant. By participating, you agree to uphold it.
By contributing, you agree that your contributions will be licensed under the MIT License.