Skip to content

feat(plugins): scaffold 5 community plugin dirs for v5.0.0 split#485

Merged
tractorjuice merged 32 commits into
mainfrom
feat/plugin-split-v5
May 18, 2026
Merged

feat(plugins): scaffold 5 community plugin dirs for v5.0.0 split#485
tractorjuice merged 32 commits into
mainfrom
feat/plugin-split-v5

Conversation

@tractorjuice
Copy link
Copy Markdown
Owner

Summary

  • Scaffolds 5 jurisdictional community plugin directories for the v5.0.0 plugin split: arckit-at, arckit-ca, arckit-eu, arckit-fr, arckit-uae (each with plugin.json, README.md, VERSION)
  • Registers the 5 new plugins in the root .claude-plugin/marketplace.json
  • Corrects install snippet syntax in the new READMEs and aligns the recipe disclosure between arckit-uae/README.md and arckit-uae/.claude-plugin/plugin.json (plus a plugin.json touch-up in arckit-ca)

Test plan

  • /plugin marketplace add tractorjuice/arc-kit@feat/plugin-split-v5 (or via extraKnownMarketplaces with ref: feat/plugin-split-v5)
  • Each of the 5 new plugins shows up in /plugin listing
  • Install snippets in each README.md are copy-paste correct
  • arckit-uae recipe disclosure matches between README and plugin.json
  • Existing arckit-claude plugin is unaffected

🤖 Generated with Claude Code

tractorjuice and others added 9 commits May 17, 2026 22:53
Task 3 of v5.0.0 plugin split (docs/superpowers/plans/2026-05-17-plugin-split.md).

Moves via git mv (history preserved):
- 12 UAE commands → arckit-uae/commands/
- 12 UAE templates → arckit-uae/templates/
- 2 UAE recipes (uae-federal-ai, uae-agentic-transformation) → arckit-uae/recipes/

Commands use ${CLAUDE_PLUGIN_ROOT}/templates/uae-*-template.md which now
resolves to arckit-uae/templates/ — no command-content rewrite needed.

Updates docs/guides/uae-overlay-maintenance.md path-watch list to point
at arckit-uae/ paths instead of arckit-claude/.

Generated extension outputs (arckit-codex, arckit-opencode, arckit-copilot,
arckit-paperclip) still reference old arckit-claude paths — these get
regenerated in Task 10 (converter rewrite).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pre-release semver — sorts before 5.0.0 final, forces marketplace to
serve updated content on re-install. Each test-worthy task on
feat/plugin-split-v5 will bump the alpha increment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
arckit-claude (core): 4.22.0 → 5.0.0-alpha.1 (content shrunk in Task 3 — lost 12 UAE commands, 12 UAE templates, 2 UAE recipes)
arckit-at, arckit-ca, arckit-eu, arckit-fr: 5.0.0 → 5.0.0-alpha.1 (no content yet, aligned with uae for consistent dev versioning)
marketplace.json entries kept in sync.

Pre-release semver — sorts before 5.0.0 final, forces marketplace
re-install to serve updated content.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 4 of v5.0.0 plugin split.

Moves via git mv:
- 12 CA commands → arckit-ca/commands/
- 12 CA templates → arckit-ca/templates/
- 1 CA recipe (ca-federal-fitaa) → arckit-ca/recipes/

Doc updates for new paths:
- docs/DEPENDENCY-MATRIX.md handoff-matrix path note
- .claude/skills/pr-review-community-overlay/SKILL.md precedent path
  and grep examples (arckit-claude/commands/<prefix>-*.md →
  arckit-<prefix>/commands/<prefix>-*.md)

Version bumps for dev testing:
- arckit-ca: 5.0.0-alpha.1 → 5.0.0-alpha.2 (CA content added)
- arckit (core): 5.0.0-alpha.1 → 5.0.0-alpha.2 (CA content removed)

Generated extension formats (codex/opencode/copilot/paperclip) still
reference old paths — regenerated in Task 10.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 5 of v5.0.0 plugin split.

Moves via git mv:
- 12 FR commands → arckit-fr/commands/
- 12 FR templates → arckit-fr/templates/
- (no FR recipes)

Version bumps:
- arckit-fr: 5.0.0-alpha.1 → 5.0.0-alpha.3 (FR content added)
- arckit (core): 5.0.0-alpha.2 → 5.0.0-alpha.3 (FR content removed)

Generated extension formats unchanged here — regenerated in Task 10.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 6 of v5.0.0 plugin split.

Moves via git mv:
- 7 EU commands → arckit-eu/commands/
- 7 EU templates → arckit-eu/templates/
- (no EU recipes)

Version bumps:
- arckit-eu: 5.0.0-alpha.1 → 5.0.0-alpha.4 (EU content added)
- arckit (core): 5.0.0-alpha.3 → 5.0.0-alpha.4 (EU content removed)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 7 of v5.0.0 plugin split.

Moves via git mv:
- 3 AT commands → arckit-at/commands/ (bvergg, dsgvo, nisg)
- 3 AT templates → arckit-at/templates/

Version bumps:
- arckit-at: 5.0.0-alpha.1 → 5.0.0-alpha.5 (AT content added)
- arckit (core): 5.0.0-alpha.4 → 5.0.0-alpha.5 (AT content removed)

All 5 jurisdiction moves now complete (Tasks 3-7).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tractorjuice and others added 14 commits May 18, 2026 08:49
Task 9 of v5.0.0 plugin split.

SKILL.md changes:

1. Recipe loading precedence: 2 tiers → 3 tiers
   - Tier 1: project override (.arckit/recipes/{NAME}.yaml)
   - Tier 2: core plugin (uk-saas, uk-mod-sovereign)
   - Tier 3: sibling community plugins
     ${CLAUDE_PLUGIN_ROOT}/../arckit-*/recipes/{NAME}.yaml
     (e.g. arckit-uae/recipes/uae-federal-ai.yaml,
            arckit-ca/recipes/ca-federal-fitaa.yaml)

2. Built-in recipes table gains a Plugin column. Adds ca-federal-fitaa
   (previously missing from the table despite shipping in v4.15.0).

3. Failure-modes section: missing-recipe error now surfaces a concrete
   install command when the recipe's expected community plugin isn't
   installed (e.g. "claude plugin install arckit-uae").

Version bump: arckit (core) 5.0.0-alpha.5 → 5.0.0-alpha.6.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sk 10)

Task 10 of v5.0.0 plugin split.

After the split, commands and templates live across 6 plugin directories.
Non-Claude extensions stay monolithic per the v5 spec, so the converter
walks every source and merges into one output per format.

Changes to scripts/converter.py:

1. New PLUGIN_SOURCES list (community first, core last) drives both
   command iteration and template merging. Adding a 7th community plugin
   = adding one line to PLUGIN_SOURCES.

2. convert(commands_dir, ...) → convert(commands_dirs: list, ...).
   Iterates each source, builds a merged file list with duplicate-filename
   warning (jurisdiction prefixes make collisions implausible), and sorts
   alphabetically so extension output order doesn't depend on
   PLUGIN_SOURCES iteration order.

3. copy_extension_files(plugin_dir) → copy_extension_files(plugin_sources).
   Templates merge across all 6 sources into each extension's templates/.
   Scripts/guides/config/schemas/skills/references stay core-only.

4. __main__ updates: build commands_dirs from PLUGIN_SOURCES; print
   per-source command count summary.

Recipes are NOT merged into non-Claude extensions because arckit-build
is a Claude-only skill (already filtered by claude_only_skills).

Output verification (vs main):
- 116 commands per extension (117 total - build.md Claude-only)
- 112 templates merged into each extension (66 core + 46 jurisdictional)
- arckit-paperclip/src/data/commands.json: byte-identical to main
- All other extension outputs: byte-identical to main
- Only drift: arckit-codex/.codex-plugin/plugin.json picked up its own
  VERSION file change (4.21.0 → 4.22.0, pre-existing sync)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 11 of v5.0.0 plugin split.

New scripts:

1. scripts/check_recipes.py — validates every arckit-*/recipes/*.yaml
   and arckit-claude/skills/arckit-build/recipes/*.yaml:
   - parses as YAML
   - has required top-level keys (recipe, schema_version, targets,
     defaults.version)
   - unique target IDs within each recipe
   - every dep entry resolves to a target in the same recipe (glob
     patterns expand and require at least one match)

2. scripts/check_doctype_collisions.py — regex-based check on
   arckit-claude/config/doc-types.mjs that every KNOWN_TYPES key is
   unique. Catches the failure mode where a copy-paste introduces a
   second 'PIA' or similar.

Both wired into .github/workflows/lint-markdown.yml as additional
linter steps after the existing cross-reference linter. Workflow
'paths:' trigger extended to fire on changes to recipes/, doc-types.mjs,
and the linter scripts themselves.

Local validation:
- check_recipes.py: 5 recipes validated (uk-saas, uk-mod-sovereign,
  uae-federal-ai, uae-agentic-transformation, ca-federal-fitaa)
- check_doctype_collisions.py: 104 unique doc-type codes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 12 of v5.0.0 plugin split.

scripts/bump-version.sh now updates:

- arckit-claude/.claude-plugin/plugin.json + VERSION (existing)
- arckit-uae/.claude-plugin/plugin.json + VERSION (new)
- arckit-fr/.claude-plugin/plugin.json + VERSION (new)
- arckit-ca/.claude-plugin/plugin.json + VERSION (new)
- arckit-eu/.claude-plugin/plugin.json + VERSION (new)
- arckit-at/.claude-plugin/plugin.json + VERSION (new)
- .claude-plugin/marketplace.json — all 6 plugins[].version bumped in one
  jq pass (was only plugins[0]); metadata.version stays at 1.0.0

Verification block at end of script lists all 6 plugin.json versions
and each marketplace plugin entry, so the operator sees the post-bump
state at a glance.

Non-Claude extension VERSION files and pyproject.toml / README / docs
already handled by the existing script — no change needed there.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ask 13)

Task 13 of v5.0.0 plugin split.

One-shot SessionStart hook that helps users on v4 → v5 upgrade. Reads
.arckit/manifest.json to detect prior community-overlay usage, prints
install commands for exactly the right plugins, and self-suppresses
once .arckit/v5-migration-acked exists.

Decision tree:
- Ack marker exists → silent
- No manifest → silent (project never used ArcKit)
- Manifest with no jurisdictional artefacts → silent (UK-only project)
- Manifest with arckit:uae-/fr-/ca-/eu-/at- artefacts → print install
  suggestion for matching arckit-{jurisdiction} plugins

Files:

- arckit-claude/hooks/v5-migration-banner.mjs — the hook (52 lines)
- arckit-claude/hooks/hooks.json — registered as 3rd SessionStart hook
  after arckit-session.mjs and version-check.mjs
- tests/plugin/v5-migration-banner.test.mjs — 4 test cases:
  (1) no manifest → silent
  (2) UAE manifest → suggests arckit-uae only
  (3) ack marker → silent even with active manifest
  (4) mixed UAE+FR → suggests both
  All 4 pass.

Version bump: arckit (core) 5.0.0-alpha.6 → 5.0.0-alpha.7
(core content changed: new hook registered).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…k 14)

Task 14 of v5.0.0 plugin split.

Each Claude Code plugin gets a native tag `<plugin-name>--vX.Y.Z` alongside
the umbrella `vX.Y.Z` tag, for the plugin system's bookkeeping.

Iterates the 6 plugin dirs, reads each plugin.json's `name` field, and
creates the tag if it doesn't already exist. Skipped tags reported in
the summary so re-running is safe (idempotent).

Run order at release time (see docs/RELEASING.md):
  1. scripts/bump-version.sh 5.0.0
  2. git tag v5.0.0 && git push --tags  (umbrella, triggers release.yml)
  3. scripts/tag-plugins.sh 5.0.0       (per-plugin native tags)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 15 of v5.0.0 plugin split.

Docs sweep covering the 6-plugin marketplace topology:

- README.md: install snippet now shows core-only, common combos, and
  full install commands (claude plugin install arckit arckit-uae,
  arckit arckit-{uae,fr,ca,eu,at}). Notes community plugins require core.

- CLAUDE.md: distribution-formats #2 expanded from "Claude Code plugin"
  to list all 6 plugin directories with the per-plugin responsibility.

- docs/RELEASING.md: new "v5.0.0+ multi-plugin release flow" section
  covering the loop over 6 manifests for claude-plugin-tag --dry-run
  and the post-tag scripts/tag-plugins.sh step.

- CONTRIBUTING.md: new "Adding a new doc-type code" section codifying
  the two-part PR rule (community plugin for the command, core plugin
  for the doc-type registration). REGIMES / REGIME_LABELS reminder.

- CHANGELOG.md + arckit-claude/CHANGELOG.md: v5.0.0 entries with
  BREAKING, Added, Changed sections and a doc-types note. Dated XX-XX
  pending the final release.

All 6 changed files lint clean (markdownlint-cli2 0 errors).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI was failing on the codex-plugin job because tests/codex/test_codex_extension.py
asserts that the Codex extension's command set matches arckit-claude/commands/
only. After the v5 split, the converter merges commands from all 6 plugin
sources into each non-Claude extension (per the v5 spec — extensions stay
monolithic). Tests needed the same view.

Changes:

- tests/codex/test_codex_extension.py: expected_command_names() now globs
  all 6 PLUGIN_COMMAND_DIRS instead of just arckit-claude/commands/. Mirrors
  scripts/converter.py's PLUGIN_SOURCES list. 28 tests pass locally.

- tests/paperclip/test_commands_json.py: same change to
  expected_command_count(). 11 tests pass locally.

- tests/plugin/test_template_consistency.py: walks all 6 plugins'
  commands/ and templates/ dirs. Each command's referenced templates
  must exist in its OWN plugin's templates/ (not arckit-claude/templates/
  for community commands). .arckit/templates/ (CLI scaffold) is the
  union of all 6 plugin templates/ dirs. 219 tests pass locally.

Other tests already passed (897 total pass + 213 pre-existing skips).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 2 of the AU plugin plan (docs/superpowers/plans/2026-05-18-arckit-au-plugin.md).

Adds the 7th marketplace plugin:
- arckit-au/.claude-plugin/plugin.json (name, version 5.0.0-alpha.1, description)
- arckit-au/README.md (8-command listing, install snippet, @royster70 co-maintainer note)
- arckit-au/VERSION (5.0.0-alpha.1)
- .claude-plugin/marketplace.json — arckit-au entry inserted after arckit-at

Empty plugin at this point — commands/templates/recipes ported in Tasks 3-5.

Supersedes PR #441 (au-federal-recipe by @royster70) by restructuring
the content into the v5.0.0 per-jurisdiction layout.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ks 3-5)

Tasks 3, 4, 5 of the AU plugin plan.

Ported verbatim from PR #441 (au-source branch — refs/pull/441/head):
- 8 commands → arckit-au/commands/
  au-ai-assurance, au-disp-attestation, au-dss, au-e8-posture,
  au-ism-controls, au-ndb-playbook, au-pia, au-pspf
- 8 templates → arckit-au/templates/
- au-federal recipe → arckit-au/recipes/au-federal.yaml (35 targets, 9 waves)

Pre-port blocker checks (per .claude/skills/pr-review-community-overlay/SKILL.md):
- B1 (## Document Control heading): all 8 templates clean
- B2 (classification-line override): all 8 commands clean
- B3 (generate-document-id.sh invocation): all 8 commands clean
- Recipe schema: 35 targets, dep resolution ok

Commands use ${CLAUDE_PLUGIN_ROOT}/templates/au-*-template.md which now
resolves to arckit-au/templates/ — no command-content rewrite needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Task 6 of the AU plugin plan.

Doc-types stay in core per v5.0.0 spec — single source of truth for
validate-arc-filename.mjs.

arckit-claude/config/doc-types.mjs:
- Adds 8 AU entries (AUE8, AUISM, AUPIA, AUNDB, AUDSS, AUPSPF, AUAIA, AUDISP)
  in a new "Australian Federal Overlay" section after the CA section.
  Compliance vs Governance category mirrors PR #441; severity HIGH on
  assessment-class types per the same precedent.
- REGIMES: 'UK', 'MOD', 'EU', 'FR', 'AT', 'UAE' → 'UK', 'MOD', 'AT', 'AU', 'CA',
  'EU', 'FR', 'UAE'. Adds AU; corrective inclusion of CA (which shipped doc-
  types in v4.15.0 but was missing from REGIMES — blocker class B5 from
  the pr-review-community-overlay skill).
- REGIME_LABELS gains 'AU': 'Australia' and 'CA': 'Canada', re-ordered to
  match: officially-maintained first (UK, MOD), then community alphabetical.

arckit-claude/commands/pages.md:
- Adds Australian Federal section to the Document Types allow-list,
  mirroring the doc-types.mjs entries (single source of truth principle).

Validation:
- scripts/check_doctype_collisions.py: 112 unique codes (104 + 8)
- validate-arc-filename hook accepts ARC-001-AUPIA-v1.0.md (exit 0)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tasks 7 and 8 of the AU plugin plan.

Ports from PR #441 with path rewrites for the v5.0.0 layout:
- docs/guides/au-federal-overlay.md (overlay maintenance reference)
- docs/au-federal-validation-scorecard.md (25/25 evaluation evidence)

Rewrites:
- arckit-claude/commands/au-*    → arckit-au/commands/au-*
- arckit-claude/templates/au-*   → arckit-au/templates/au-*
- arckit-claude/skills/arckit-build/recipes/au-* → arckit-au/recipes/au-*

The validation evidence carries verbatim — no re-validation needed
since the layout change is structural only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sions (Task 9)

Task 9 of the AU plugin plan.

- arckit-claude/skills/arckit-build/SKILL.md: adds au-federal row to the
  built-in recipes table (plugin: arckit-au, 35 targets / 9 waves).
- scripts/converter.py: PLUGIN_SOURCES gains 'arckit-au' so the 8 AU
  commands flow through to all 5 non-Claude extension formats.
- Regenerated extensions: 124 commands per format (was 116; +8 AU).
  arckit-codex, arckit-opencode, arckit-gemini, arckit-copilot,
  arckit-paperclip all updated.

Version bumps for dev testing:
- arckit (core) 5.0.0-alpha.7 → 5.0.0-alpha.8 (SKILL.md + converter +
  doc-types from Task 6 are core-side changes)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tasks 10 and 11 of the AU plugin plan.

- README.md: install snippet now lists 7 plugins (was 6 — adds arckit-au).
  Full-install command + community-plugins sentence updated.
- CLAUDE.md: distribution formats #2 lists 7 plugin directories.
- CHANGELOG.md: v5.0.0 entry expanded to mention arckit-au content +
  the CA-regime corrective inclusion in REGIMES. Plugin count: 6 → 7.
- arckit-au/CHANGELOG.md: per-plugin changelog for the 5.0.0 initial
  release, with @royster70 co-maintainer attribution.

Task 11 validation (all green):
- markdownlint-cli2 on AU files + guide + scorecard: 0 errors
- scripts/check_recipes.py: 6 recipes validated (uk-saas, uk-mod-sovereign,
  uae-federal-ai, uae-agentic-transformation, ca-federal-fitaa, au-federal)
- scripts/check_doctype_collisions.py: 112 unique codes (104 → 112)
- scripts/check_references.py: 369 markdown files, no broken references

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tractorjuice and others added 5 commits May 18, 2026 09:31
Per https://code.claude.com/docs/en/plugin-dependencies (Claude Code v2.1.110+),
plugins can declare dependencies that auto-install at install time and
re-resolve on /reload-plugins.

All 6 community plugins (arckit-uae, arckit-fr, arckit-ca, arckit-eu,
arckit-at, arckit-au) gain:

  "dependencies": [
    { "name": "arckit", "version": "=5.0.0-alpha.8" }
  ]

The exact (`=`) pin keeps the 6 plugins shipping as a coherent set:
- Installing arckit-uae auto-installs arckit core, reports it in the
  install output.
- Core ships a breaking change in v6.0 → community plugin holds at v5
  until the co-maintainer publishes a v6-compatible release with the
  widened constraint.
- Tagged releases convention (`{plugin-name}--v{version}`) already
  produced by scripts/tag-plugins.sh — no additional release-flow change.

scripts/bump-version.sh updated:
- Loop now includes arckit-au (was 5 jurisdictions, now 6).
- jq pipeline bumps both `.version` and
  `.dependencies[arckit].version = "=" + new_version` in lockstep so
  the dependency pin always tracks the core version being released.

Version bumps for dev testing:
- arckit-{uae,fr,ca,eu,at,au}: 5.0.0-alpha.* → 5.0.0-alpha.9 (unified;
  the per-task alpha tracks were getting hard to follow)
- arckit (core): unchanged at 5.0.0-alpha.8 (no core content change here)

CHANGELOG.md gains a "Note on plugin dependencies" callout under v5.0.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per https://code.claude.com/docs/en/plugins-reference manifest schema,
add the two discovery-related metadata fields the 6 community plugins
were missing.

- homepage: deep link into each plugin's directory on GitHub
  (https://github.com/tractorjuice/arc-kit/tree/main/arckit-{jurisdiction})
- keywords: mirror the discovery tags already carried in
  .claude-plugin/marketplace.json so each plugin.json is independently
  discoverable when surfaced outside the marketplace catalog.

Field order normalized: $schema, name, version, description, author,
homepage, repository, license, keywords, dependencies, ... (matches the
order used in arckit-claude/.claude-plugin/plugin.json convention).

No version bump — manifest metadata change only; no behavioural impact.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per user direction — homepage is the docs URL, arckit.org is the
official site (see memory: project_arckit_domain). repository field
still points at github.com/tractorjuice/arc-kit (source), so the two
fields are now cleanly separated:

  homepage   = https://arckit.org                    (docs)
  repository = https://github.com/tractorjuice/arc-kit (source)

Applied to all 6 community plugins.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sweep of stale references following the AU plugin addition. Previously
written for "6 plugins / 117 commands / 46 community" — now reflects:
"7 plugins / 125 commands / 54 community / 6 jurisdictions".

Files updated:

- docs/index.html (arckit.org): meta description, og:description,
  twitter:description, JSON-LD descriptions, hero stat (117 → 125),
  WhatPlatform comparison, command-browser CTA, jurisdiction lists
  (added Australia), keyword meta (added Australia, DISP, Essential
  Eight). 12 occurrences total.
- docs/commands.html: command-count display (117 → 125).
- docs/guides/roles/README.md + enterprise-architect.md: "117 commands"
  → "125 commands".
- docs/RELEASING.md: v5.0.0+ section now says "7 plugins (1 core +
  6 community overlays)"; per-plugin tag dry-run loop includes arckit-au.
- scripts/tag-plugins.sh: PLUGINS array includes arckit-au.
- README.md: install snippet count, cross-AI count (70→71), community
  count (46→54), feature matrix row.

Historical entries in docs/DEPENDENCY-MATRIX.md left alone (they
describe the state at a specific past release).

The separate arckit-fde site (cloned at arckit-consulting/) still
references "117 commands" — that lives in tractorjuice/arckit-fde and
needs its own PR; out of scope here.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Catches the remaining stale references on the AI Command Reference
page (arckit.org/commands.html). The visible count on the page itself
was updated in the previous commit; this catches the SEO metadata
(description, og:description, twitter:description), the JSON-LD
description block, and the hero stat label.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tractorjuice and others added 4 commits May 18, 2026 10:07
…arckit

CI on PR #485 was failing on tests/codex/test_codex_extension.py because
the test's PLUGIN_COMMAND_DIRS list was added during the v5 split (Tasks
3-7) but never updated when arckit-au landed.

Fixes:

1. tests/codex/test_codex_extension.py: PLUGIN_COMMAND_DIRS gains
   arckit-au/commands (test now expects 124 cross-AI commands per
   extension instead of 116).
2. tests/paperclip/test_commands_json.py: same.
3. tests/plugin/test_template_consistency.py: PLUGIN_SOURCES gains
   arckit-au.
4. .arckit/templates/au-*-template.md (8 files) ported from PR #441 —
   the CLI-scaffold templates dir is the union of all plugin templates,
   and these were missing.

Local verification: 274 tests pass across all 3 test modules.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pre-v5 the install step assumed a single 'arckit' plugin. After the
split the marketplace ships 7 plugins and users need to pick which
jurisdictions to install.

Changes:
- Title: 'Install ArcKit Plugin' → 'Install ArcKit Plugins'.
- Adds 'install only the jurisdictions you need' block with three
  install examples (core only, core + UAE, all 7).
- Mentions the auto-install dependency behaviour (community plugins
  bring core in automatically as a declared dependency).
- Sparse-checkout snippet now lists each plugin dir explicitly so
  users following the lighter-clone path can still install the
  community plugins. Previously the snippet hardcoded
  'arckit-claude' only and would have left users unable to install
  community plugins after sparse install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
commands.html catalog was hand-curated and had 0 AU command rows
despite the AU plugin shipping 8 of them. Adds:

- 8 <tr> rows for the AU commands (au-e8-posture, au-pia, au-dss,
  au-ism-controls, au-ndb-playbook, au-pspf, au-ai-assurance,
  au-disp-attestation), data-jurisdiction='australia', data-tier='community'.
- Category-filter option 'Australian Federal Overlay (Community)'.
- Jurisdiction-filter option 'Australia'.
- Updates hero stat (117 → 125) and table heading (70 → 125).

Plus a 'Which plugin ships which command?' inset box near the top that
maps the Tier + Jurisdiction columns to the 7 marketplace plugins, with
an install snippet pointer to getting-started.html.

Table now has 125 rows matching the actual command total.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…SON-LD coverage

index.html had Australia in the meta description and keywords list but
the visible jurisdiction-card grid only showed 7 cards (UK, Generic, EU,
France, Austria, Canada, UAE) — missing Australia.

Changes:

1. New 8th jurisdiction card (🇦🇺 Australian Federal, 8 commands,
   community badge) listing ASD Essential Eight, ISM, DTA DSS,
   Privacy Act PIA, OAIC NDB, PSPF, AI Assurance, DISP attestation.

2. JSON-LD itemListElement: adds an Australia entry alongside the
   existing UAE Federal entry so search engines pick up the AU
   jurisdiction listing.

3. JSON-LD FAQ 'What does ArcKit cover' answer extended to include
   the Australian Federal / DISP-supplier overlay alongside the other
   five community overlays.

Co-Authored-By: Claude Opus 4.7 (1M context) <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.

1 participant