Skip to content

feat(commands): Unify command names and narrow single-language rules - #13

Merged
ikorich merged 5 commits into
masterfrom
feature/unify-commands
Jul 29, 2026
Merged

ikorich merged 5 commits into
masterfrom
feature/unify-commands

Conversation

@ikorich

@ikorich ikorich commented Jul 29, 2026

Copy link
Copy Markdown
Member

Motivation

Two related pieces of work.

The igrsoft dev-plugin family adopted apple-developer's verb-prefix command scheme as its shared standard, so every plugin exposes the same 15 core commands. This plugin's command names were renamed onto it and the missing commands added.

Separately, an audit for a defect class found across the family — a rule true for one technology stated as though it were universal — covered this plugin. It spans C, C++, Python and Bash, four languages with genuinely different toolchains, comment syntax, test frameworks and build systems, so the class is live here.

Changes

Command unification (1.5.0)

  • Renames: code-review→review-code, lint-fix→fix-quick, code-modernize→fix-modernize, profile-performance→fix-performance, generate-tests→gen-tests, deps-audit→deps (now subcommand-dispatched audit|upgrade|add).
  • Eight new commands for core parity: arch-select, arch-review, analyze-tech-debt, gen-docs, debug, analyze-accessibility, fix-refactor, develop-feature.
  • fix-performance keeps measure-only as its default path and puts the apply phase behind an explicit checkpoint, so the rename does not silently turn a read-only command into a mutating one.

Scope audit (1.6.0) — single-language rules stated as universal, plus:

  • deps could answer a mutation request with a read-only audit: dispatch selects the mode from the first token, so deps --upgrade <pkg> fell through to audit and the caller was handed an audit report. It now stops with an explicit error. (The same hole was found and fixed in three sibling plugins.)

Full detail in the CHANGELOG.

Notes

Renames are breaking with no alias mechanism; a migration table is in the README.

Verification: scripts/validate.sh --strict reports 0 errors. Remaining warnings are pre-existing oversized-skill notices unrelated to this work.

Merge order: this PR and the other five plugin PRs should merge before the company-workflow (igrsoft) PR, which references the new command names.

ikorich added 5 commits July 29, 2026 10:41
Rename six commands to the cross-plugin verb-first scheme shared with
apple-developer, so the same intent resolves to the same name in every
plugin:

  code-review        -> review-code
  lint-fix           -> fix-quick
  code-modernize     -> fix-modernize
  profile-performance-> fix-performance
  generate-tests     -> gen-tests
  deps-audit         -> deps

Sweep every in-body self-reference and cross-command reference across
commands, agents, skills, tests, and README so no stale slash-command
name survives. Historical CHANGELOG/MEMORY/README release-note entries
keep the names in use at that release.

fix-performance gains an optional apply phase: measure-only stays the
default and Phases 1-5 remain strictly read-only, while --apply unlocks
a PHASE CHECKPOINT (AskUserQuestion) that must be approved before
sys-code-fixer touches a file, followed by a binding build+test gate and
a mandatory re-measure.

deps is restructured to the subcommand form (audit | upgrade | add) with
an explicit dispatch rule defaulting to the read-only audit path.

Normalize command frontmatter: verb-first descriptions capped at 120
chars, allowed-tools kept minimal, estimated-cost on every file.

validate.sh: normalize a ${CLAUDE_SKILL_DIR}/ prefix before resolving
backticked skill reference paths, clearing two false "does not exist"
warnings for files that are present on disk.
Port the eight commands the naming standard defines but this plugin
lacked, adapting each apple-developer counterpart across three axes:
tech stack (Swift/Xcode -> C/C++/Python/Bash toolchains), agent routing,
and skill references. Every referenced skill was verified to exist here;
no apple skill name was transliterated.

  arch-select           system-architector; structural pattern plus the
                        orthogonal concurrency and ownership axes
  arch-review           system-architector; read-only, violations with
                        file:line and P0-P3
  analyze-tech-debt     architect plus per-language developers; read-only
  gen-docs              Doxygen (C/C++), Sphinx docstrings (Python),
                        shell header comments; verified by the doc build
  debug                 configure/triage dispatch over gdb, lldb, strace,
                        py-spy, and shell xtrace
  analyze-accessibility CLI output only -- NO_COLOR, contrast-safe ANSI,
                        screen-reader-friendly output, --help clarity;
                        read-only, haiku, and explicit that it makes no
                        WCAG or GUI claim
  fix-refactor          architect plans, sys-code-fixer applies
  develop-feature       architect -> language developers -> test
                        generator -> security auditor, with phase
                        checkpoints and a resumable state file

Both analyze-* commands are read-only and carry no Write or Edit. Every
build gate is /system-developer:build-test. All sixteen commands are
registered in marketplace.json, which now matches commands/ exactly.
Document the unified 16-command surface and bump the version strings
together across plugin.json, marketplace.json, README, and MEMORY.md
per the /cc-update convention.

README: command table regrouped by intent (build/verify, review/analyze,
change code, design/document/build) and a "Migration: old -> new command
names" section stating the behavior delta for each rename.

CHANGELOG: 1.5.0 entry covering the six renames as breaking, the eight
new commands, the fix-performance --apply phase, the deps subcommand
restructure, and the validate.sh reference-path fix.

MEMORY.md: 1.5.0 refresh log, and the "plain command names" decision is
superseded by the shared verb-first naming standard so future commands
take the cross-plugin name rather than a locally-invented one. Records
the two pre-existing >8KB SKILL.md warnings as debt this release did not
introduce.
Rules true for one of the four languages were stated as holding for all
of them, and deps could answer a mutation request with a read-only
audit when the mode was given as a flag rather than the first token.
@ikorich
ikorich merged commit ad30c62 into master Jul 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant