Skip to content

v0.5.0

Choose a tag to compare

@prabhuakshay prabhuakshay released this 24 Jun 16:27

forge v0.5.0 adds two utility commands and makes the type-check step adapt to projects that don't use mypy.

Added

  • /forge:status — a one-screen snapshot of where a project stands: phase and active plan, each gate (check / audit) as green-for-the-current-tree / stale / never-run, the dirty set, installed style references, the binding-directive count, plus any armed one-shot override (about to fire) and recent override history. Pure read; the report builder lives in lib/status.py.
  • /forge:override <gate> "<reason>" — an ergonomic, logged front door to the one-shot bypass the hooks already honour (gates: check, audit, stop, plan, uv). It arms .forge/override-<gate> with the reason baked in; the next matching gated action consumes it and records the bypass. Writing the sentinel by hand still works. The hook deny messages and docs/state-schema.md now point at the command.

Changed

  • The type-check step is now opt-in by configuration. mypy runs only when the project configures it ([tool.mypy], mypy.ini/.mypy.ini, or a [mypy] section in setup.cfg); otherwise the step is skipped, not failed. Previously uv run mypy on a project that never installed mypy would fail the gate for a tool it deliberately doesn't use. forge-scaffolded projects ship [tool.mypy], so they keep type-checking unchanged.

Full changelog: https://github.com/prabhuakshay/forge/blob/main/CHANGELOG.md