mirror of
https://github.com/CharlesWiltgen/Axiom.git
synced 2026-09-20 19:58:20 +08:00
21990414b2
scripts/audit-areas.json is now the single source for /axiom:audit areas. Three surfaces are generated from it into marker-delimited regions, leaving the surrounding hand-authored prose untouched: commands/audit.md argument: list (hash markers, inside frontmatter) commands/audit.md body table (model-facing "Detects" text) docs/commands/utility/audit.md (human-facing prose) The registry keeps `detects` and `docsDetects` as separate fields rather than reconciling them. They differ for 22 of 32 areas because one is routing text the model reads and the other is prose a person reads — the docs-are-human / source-is-for-LLM split, not drift. The sidebar is deliberately NOT generated: each of its groups interleaves audit entries with unrelated commands (Build holds audit-build beside fix-build, optimize-build, resolve-deps), so the audit rows are not a spliceable region and generating the groups would delete the others. It stays hand-maintained and is now checked directly against the registry, which is what the old docs-vs-sidebar grouped parity was approximating. Retires validateParity and validateGroupedParity: with three surfaces generated from one source they cannot disagree by construction, so the set-parity and grouped-parity comparisons are replaced by one staleness check — the same generate-and-diff pattern already used for the inlined auditors (12d-bis) and the Codex variant (12f). validateRegistry gates the source itself (duplicate areas, unknown groups, empty fields, a `|` that would break a table cell, a docPath the sidebar parser could not read the area back out of). Also collapses the three arbitrary orderings that had accumulated across the surfaces into one: group order, then alphabetical within group. Row order in a for-LLM table carries no meaning, and docs and sidebar already used exactly this order. Verified no data was lost: every body-table row and every docs description is byte-identical to the previous committed content compared order-independently; only ordering changed. Mutation-tested by adding an area to the registry alone — all three generated regions plus the sidebar check reported it. 126 unit tests pass.
47 lines
1.6 KiB
JSON
47 lines
1.6 KiB
JSON
{
|
|
"name": "axiom",
|
|
"version": "27.0.0-beta.33",
|
|
"description": "Battle-tested Claude Code skills, agents, and tools for modern xOS (iOS, iPadOS, tvOS, watchOS) development — Swift 6, SwiftUI, Liquid Glass, Apple Intelligence, and more",
|
|
"type": "module",
|
|
"pi": {
|
|
"skills": [
|
|
".claude-plugin/plugins/axiom/skills"
|
|
],
|
|
"extensions": [
|
|
"axiom-pi/src/index.ts"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"build": "npm run build:audit-areas && npm run build:auditors && npm run build:codex && npm run build:mcp && npm run build:docs",
|
|
"build:audit-areas": "node scripts/build-audit-areas.ts",
|
|
"build:auditors": "node scripts/build-inlined-auditors.ts",
|
|
"build:codex": "node scripts/build-codex.ts",
|
|
"build:mcp": "cd axiom-mcp && pnpm run build:bundle",
|
|
"build:docs": "vitepress build docs",
|
|
"docs:build": "npm run build:docs",
|
|
"docs:dev": "vitepress dev docs",
|
|
"docs:preview": "vitepress preview docs",
|
|
"test": "node scripts/pre-deploy.ts --static",
|
|
"test:full": "node scripts/pre-deploy.ts",
|
|
"test:unit": "node --test scripts/*.test.ts",
|
|
"test:routing": "node scripts/test-routing.ts",
|
|
"check:refs": "node scripts/check-cross-refs.js",
|
|
"predeploy": "npm run test:unit && npm run build:mcp && node scripts/pre-deploy.ts"
|
|
},
|
|
"devDependencies": {
|
|
"gray-matter": "^4.0.3",
|
|
"mermaid": "^11.12.2",
|
|
"vitepress": "2.0.0-alpha.15",
|
|
"vitepress-plugin-mermaid": "^2.0.17"
|
|
},
|
|
"keywords": [
|
|
"claude-code",
|
|
"ios",
|
|
"xcode",
|
|
"plugins",
|
|
"development"
|
|
],
|
|
"author": "",
|
|
"license": "MIT"
|
|
}
|