Skip to content

chore(claude): Claude Code SOTA conformance (audit 2026-10-13) - #83

Merged
PAMulligan merged 6 commits into
mainfrom
chore/claude-code-conformance
Oct 23, 2026
Merged

PAMulligan merged 6 commits into
mainfrom
chore/claude-code-conformance

Conversation

@PAMulligan

@PAMulligan PAMulligan commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Closes #77. Brings the repo's Claude Code setup to the 2.1.288 spec and removes everything that was not Optia's: the Aurelius React pack, the Maecenas marketing import (frozen at #66), the WordPress fossil workflow, the demo vault, and the second release mechanism.

Removed

  • .claude/: 71 agents, 22 skills (plus skills/README.md), 12 legacy commands, the three positional-argument hooks, CUSTOM-AGENTS-GUIDE.md, AGENT-NAMING-GUIDE.md, PLUGINS-REFERENCE.md.
  • templates/, docs/figma-to-react/, docs/react-development/, demo_sdk_vault/, .github/workflows/theme-validation.yml, .versionrc.json.
  • scripts/: the React-pack shell scripts, the seven agent script folders, create-app.js, fix-agent-frontmatter.py, and the four marketing QA scripts. These were not in the issue's enumerated list but are the same two imports; build-docs-site.mjs stays. brand-guidelines.json, docs/brand-setup/brand-voice.md and marketing/store-assets/ are untouched.
  • standard-version from both package manifests, with both lockfiles regenerated (format 9.0, deletions only; pnpm install --frozen-lockfile passes in app/ and at the root). This also clears the standard-version findings in deps: 31 audit findings (3 critical, 13 high), all via dev tooling: standard-version and vitest/vite #79.

Added

  • Six agents for what this repo does: extension-developer, test-writer-fixer, site-maintainer, backend-contract-reviewer, store-listing-editor, release-manager. Current tool names, valid colors, no bypassPermissions, the release guard on every one with Bash. None is byte-identical to an Aurelius or Maecenas file.
  • One skill, /store-upload-check [tag], which verifies the release zip before the manual Chrome Web Store upload.
  • Hooks on the stdin JSON contract via lib/hook-io.sh: release-guard.sh (PreToolUse on Bash: ask on git push, gh pr merge, gh release writes, gh workflow run, gh run rerun; deny with agent_id/agent_type or in bypassPermissions/dontAsk) and session-context.sh (SessionStart: branch, version lockstep, open Release PR, latest release vs manifest, last CI and Pages runs, open issues). 65 tests in scripts/__tests__/hooks.test.js, offline (a fake gh on PATH).
  • .claude/settings.json: allow and ask lists per the issue, the two hooks registered through CLAUDE_PROJECT_DIR.
  • .claude/rules/: app.md, site.md, release.md, claude-code-conventions.md.
  • scripts/claude-code-conformance.js and scripts/lib/claude-code-spec.json (copied from Maecenas), a conformance job in ci.yml, and .github/dependabot.yml for the pinned actions.
  • CLAUDE.md rewritten to 55 lines from README.md and docs/RELEASING.md; counts match disk, no plugin claims, no retired tools. docs/RELEASING.md corrected: standard-version is gone and the zip is attached by the attach-zip job, with release-zip.yml as the manual fallback.

Verification

node scripts/claude-code-conformance.js --root . --strict   0 error(s), 0 warning(s), 6 agents, 1 skill
node --test scripts/__tests__/*.test.js                     65 pass, 0 fail
pnpm -C app install --frozen-lockfile && pnpm -C app test   545 tests pass

Still to do after this PR

  • Branch protection on main: the gh api PUT was blocked by this session's permission classifier as a repository settings change, so it is Paul's one command. It is recorded in docs/RELEASING.md under Branch protection; run it before or right after merging.
  • The four Product Hunt commits named in the issue are already on main (docs(launch): Product Hunt launch record and assets from 2026-09-08 and 2026-09-09 #78). The local chore/maecenas-marketing-import branch and its remote can be deleted.

🤖 Generated with Claude Code

PAMulligan and others added 6 commits October 23, 2026 12:59
…ing import

The extension is not a React app framework and marketing runs from the
Maecenas repo, yet 71 agents, 22 skills, 12 legacy commands, three dead
positional-argument hooks, the agent guides, the starter templates, the
React-pack and marketing helper scripts and the figma-to-react and
react-development docs were all carried here (audit of 2026-10-13, #77).
Only scripts/build-docs-site.mjs stays; brand-guidelines.json and the
store assets are untouched. The brand-voice reference now points at the
lint in Maecenas.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…k_vault stray

theme-validation.yml installed PHP and PHPCS on every push to loop over a
themes/ directory this repo never had. demo_sdk_vault/ was 68 KB of sample
knowledge-graph data added before this repo became Optia; nothing
referenced it (#77).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…elease mechanism

Drops the release* scripts and the standard-version devDependency from
both package manifests, deletes .versionrc.json and regenerates both
lockfiles (format 9.0, deletions only). docs/RELEASING.md now describes
the attach-zip job that actually attaches the store zip and names
release-zip.yml as the manual fallback (#77; also removes the
standard-version findings from #79).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…oks, rules and permissions

Agents for what this repo does: extension-developer, test-writer-fixer,
site-maintainer, backend-contract-reviewer, store-listing-editor and
release-manager, with current tool names, valid colors, no
bypassPermissions and the release guard on every one that keeps Bash.
One skill, /store-upload-check, verifies the store zip before an upload.

Hooks on the stdin JSON contract through lib/hook-io.sh: release-guard.sh
(PreToolUse on Bash) asks before git push, gh pr merge, gh release
writes, gh workflow run and gh run rerun, denies them in subagents and
where a hook cannot prompt; session-context.sh (SessionStart) reports the
branch, version lockstep, the open Release PR, the latest release against
the manifest, the last CI and Pages runs and the open issues. Both are
covered by scripts/__tests__/hooks.test.js (node --test).

settings.json gains the allow and ask lists and registers the two hooks
through CLAUDE_PROJECT_DIR. Path-scoped standards live in .claude/rules/
(app, site, release, claude-code-conventions). The conformance checker
and its spec are copied from Maecenas; `--strict` reports 0 errors and 0
warnings (#77).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Adds a conformance job to ci.yml that syntax-checks the hooks, runs
node scripts/claude-code-conformance.js --root . --strict and the
node --test hook suite on every PR and push to main, and a dependabot
config for the GitHub Actions the four workflows pin (#77).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Replaces the 348-line Aurelius file with 55 lines written from README.md
and docs/RELEASING.md: what Optia is, the app/ and site/ layout, the real
pnpm -C app commands, the backend contract, deploys and the Release PR
gate, working conventions, and the agents, skill, hooks and MCP servers
that exist on disk. No plugin claims, no retired tools (#77).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.

Claude Code SOTA conformance: Optia (audit 2026-10-13)

1 participant