Skip to content

v0.4.0

Latest

Choose a tag to compare

@kwschulz kwschulz released this 13 May 23:08
650f5ee

Added

  • Permission transparency report — new ai-launcher permissions command and launch-box section
    that audits Claude Code's effective permissions, flags accumulated narrow Bash() patterns,
    detects redundancy against global Bash(*), and emits actionable fix recommendations. See
    docs/permission-transparency.md.
  • .vscode/extensions.json and .vscode/settings.json — shared workspace config so every
    contributor sees the same ruff/mypy warnings as CI.
  • CONTRIBUTING.md — development setup, code style, testing, and local hook installation.
  • docs/releasing.md — full release procedure including pre-release wheel test, dry-run, and
    failure recovery.
  • Makefile — wraps the common dev commands (test, lint, validate-ci, install-hooks);
    validate-ci delegates to scripts/ci-local.sh for single-source truth with the pre-push hook.
  • .github/workflows/commit-lint.yml — PR-title gate enforcing Conventional Commits so
    squash-merge commits on main stay parseable.
  • Markdown linting via .markdownlint.jsonc with prettier + markdownlint-cli2 pre-commit hooks.
    Prettier hard-wraps prose to 100 chars and aligns tables; markdownlint catches the rest. Every
    linter exception in the config carries an inline // why comment.

Fixed

  • Launch box overflow on long paths and file lists — the 85-column box no longer breaks when
    paths or memory file lists exceed its width. Memory display lists files when ≤5 or shows count +
    wrapped directory path otherwise; recommendation lines use project-relative paths instead of
    absolute.
  • Three unused-argument and one unused-variable lint issues in _analyze_permissions and the
    memory-list wrapper.
  • Dead parameters removed from _analyze_permissionsglobal_deny, global_ask, and
    config_file_path were accepted but never read. Caller and tests updated. Docstring documents why
    deny/ask are tracked elsewhere.

Changed

  • CLAUDE.md rewrite (322 → 57 lines) — restructured from a project overview into a behavior
    contract with numbered Core Principles (Process, Project Invariants, Secrets), a Where Things Live
    table, and Verification / Shell & Commits sections. Dev workflow content moved to
    CONTRIBUTING.md; release content moved to docs/releasing.md.
  • .gitignore — removed the overly defensive .vscode/* exclusion. .vscode/ is shared
    workspace config and now tracks all files.