Skip to content

v0.0.10 — 7-CLI policy enforcement: Claude, Codex, Copilot, Cursor, Gemini, OpenCode, Pi

Latest

Choose a tag to compare

@NiveditJain NiveditJain released this 10 May 16:40
· 46 commits to main since this release
5839fb8

First stable release of the 7-CLI cycle. failproofai now enforces policies across all major terminal coding agents:

CLI Config path Stop semantics
Claude Code .claude/settings.json exit-2 force-retry
OpenAI Codex .codex/hooks.json exit-2 force-retry
GitHub Copilot .github/hooks/failproofai.json {decision:"block",reason} JSON force-retry
Cursor Agent .cursor/hooks.json {followup_message} JSON force-retry
Gemini CLI .gemini/settings.json {decision:"block",reason} JSON force-retry
OpenCode .opencode/plugins/failproofai.mjs + .opencode/opencode.json in-process plugin
Pi .pi/settings.json + bundled pi-extension/ before_agent_start next-turn injection

Highlights this cycle

  • Per-CLI multi-select control panel in the dashboard /policies Configure tab — install / uninstall the diff across all 7 CLIs in one round-trip, with brand-colored per-row status pills, a 7-segment coverage strip, and pre-checked detected CLIs for one-click adoption (#344).
  • Pi Stop policy enforcement via before_agent_start system-prompt injection — works around Pi's AgentEndEvent having no Result type by capturing the deny reason and gating the next user turn (#341).
  • OpenCode + Pi tool-input canonicalization — two-layer (shim + handler) so block-read-outside-cwd, block-env-files, and block-secrets-write actually fire on read/write/edit calls. Existing user-scope shims auto-upgrade on the next failproofai version bump without a re-install (#337, #340).
  • Per-CLI Stop semantics docs — new "Per-CLI Stop semantics" subsection in docs/built-in-policies.mdx with a 7-row table + Pi-limitation callout so users enabling require-*-before-stop understand what they'll see on each CLI (#342).
  • Dashboard restyle: single dark theme, project pages keyed by encoded cwd, full Gemini session UUIDs, plain-text startup line replacing the ASCII wordmark (#319, #335, #336, #338).
  • release-prep-check workflow policy + dated ## <version> — <YYYY-MM-DD> CHANGELOG headings so every PR ships release-ready (no ## Unreleased drift) (#335).

See CHANGELOG.md for the complete per-beta breakdown across the 13 betas in this cycle.