Skip to content

Releases: gf-labs/claude-toolbox

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 20:18
v0.8.0
c0753c0

[0.8.0] — 2026-07-28

Added

  • cli-capability-audit skill — derives a CLI's implemented command surface from its
    dispatcher source (bash case arms and if-guards, Python equality chains / argparse /
    click, Go cobra), diffs it against --help and the docs in both directions, and
    publishes a capability map that records reality rather than intent. Ships two bundled
    scripts (extract-surface.py, diff-surface.py), a failure-modes reference, and a map
    template. No command is ever executed to introspect it; --help is the only invocation.
  • diff-surface.py --strict — exits 1 on findings so a trusted map can gate CI. The
    default stays 0: findings are unverified candidates, not build failures.
  • Harness-sanity warnings in diff-surface.py — an empty implemented set, an empty
    advertised set, or zero overlap between them now warns loudly and invalidates the run.
    Real drift is patchy; a total mismatch is a broken checker, not a broken codebase.
  • tests/test_cli_capability_audit.py — 23 cases covering both parsers as units and both
    CLIs end to end.

Fixed

  • Dependabot now targets develop (target-branch), not the default branch. It had been
    opening action bumps against main, where Git Flow permits release and hotfix merges
    only — merging one would leave an untagged commit on main, put main ahead of
    develop, and pass check-manifest-tag.py unnoticed because the manifest is untouched.
    (Dependabot reads its config from the default branch, so this takes effect from this
    release onward.)
  • Action pins bumped to actions/checkout@v7.0.1 and actions/setup-python@v7.0.0 — the
    bot's PRs had been open and unmerged since 2026-07-22.
  • LIBRARY.md registers cli-capability-audit and counts two skills; the README points at
    it as the complete-surface map, and it had been left listing one. README version badge
    refreshed (it still read 0.5.1, two releases stale).

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 14:44

[0.7.0] — 2026-07-28

Added

  • /tools:atlas — cross-project atlas with an adaptive render: ≤4 in-scope projects
    get detail cards, more collapse to one aligned digest line each, grouped by domain.
    Facets projects · sessions · memory · plans · specs · plugins · claude.md; --dir NAME|PATH anchors the lens at any subtree, --all spans every project, --project NAME inspects one from anywhere, --full/--compact force cards/digest, --stale
    lists orphaned/unscoped keys. Built on a new _projects.py enumeration layer.
  • /tools:pin non-interactive flow — --yes-all runs the pin without prompts
    (--save persists proposed node upgrades + the MEMORY snapshot, --ask overrides),
    and --yas is shorthand for --yes-all --save. Config-driven via YES_ALL.
  • scripts/stamp-git-policy.py — deterministic git-policy adoption transform: derives
    per-repo CI values, renders the templates/git-policy/ files, and dry-run-diffs
    (default) or writes (--write) them into a target repo. Closes the audit's
    "apply-manual" gap; the test.yml template gains an explicit Lint step.

Changed

  • Project enumeration single-sourced onto _projects.py (enumerate_projects for
    repo-space, iter_session_dirs for storage-space) — the hand-rolled enumeration
    across collectors is gone; storage enumeration is namespace-split for orphan safety.
  • Current-session resolution now reads the CLAUDE_CODE_SESSION_ID environment
    variable instead of inferring the live session from transcript mtimes — the
    freshest-file heuristic misidentified the session whenever two were open at once.
  • Repo is ruff-clean with a CI lint gate on test.yml; release.yml now runs the
    same lint+test bar before cutting a Release, and hard-fails when the pushed tag
    has no matching CHANGELOG.md section (previously it shipped placeholder notes).
  • git-policy docs clarified: the manifest↔tag sync compares versions, not commits.

Fixed

  • Background jobs never claim fork titles in session naming.
  • _scope._reconstruct correctly inverts the lossy project-key encoding.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 15:22
d0ad388

[0.6.0] — 2026-07-01

Added

  • git-guard.py — a fail-open PreToolUse (Bash) hook that denies only local, irreversible git operations (reset --hard, clean -f*, branch -D, and checkout/restore discards) when Claude runs them via the Bash tool. It never fires on the user's !git commands, which remain the unguarded escape hatch. Pairs with a new Git workflow prose rule in CLAUDE.md (branch off develop, ask-first) — interpretive habits stay prose, deterministic damage-prevention is the hook. This is the plugin's first PreToolUse matcher and the layer-3 (client-side, pre-emptive) complement to the CI/CD and branch-protection layers.