@erclx/aitk 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/claude/.claude-plugin/plugin.json +19 -0
  4. package/claude/skills/bash-script/SKILL.md +96 -0
  5. package/claude/skills/bash-script/references/patterns.md +349 -0
  6. package/claude/skills/ci-workflow/SKILL.md +52 -0
  7. package/claude/skills/ci-workflow/references/workflows.md +74 -0
  8. package/claude/skills/claude-address-review/SKILL.md +107 -0
  9. package/claude/skills/claude-autoship/SKILL.md +137 -0
  10. package/claude/skills/claude-design-extract/SKILL.md +69 -0
  11. package/claude/skills/claude-design-propose/SKILL.md +75 -0
  12. package/claude/skills/claude-diagram/SKILL.md +126 -0
  13. package/claude/skills/claude-docs/SKILL.md +204 -0
  14. package/claude/skills/claude-feature/REQUIREMENT.md +35 -0
  15. package/claude/skills/claude-feature/SKILL.md +148 -0
  16. package/claude/skills/claude-groundwork/SKILL.md +148 -0
  17. package/claude/skills/claude-groundwork/references/folder-format.md +107 -0
  18. package/claude/skills/claude-memory-capture/SKILL.md +80 -0
  19. package/claude/skills/claude-memory-review/REQUIREMENT.md +37 -0
  20. package/claude/skills/claude-memory-review/SKILL.md +206 -0
  21. package/claude/skills/claude-orchestrate/SKILL.md +125 -0
  22. package/claude/skills/claude-pr-review/SKILL.md +150 -0
  23. package/claude/skills/claude-review/SKILL.md +136 -0
  24. package/claude/skills/claude-roadmap/SKILL.md +61 -0
  25. package/claude/skills/claude-roadmap/references/roadmap.md +52 -0
  26. package/claude/skills/claude-screencast/SKILL.md +160 -0
  27. package/claude/skills/claude-seed-sync/SKILL.md +141 -0
  28. package/claude/skills/claude-slides-draft/SKILL.md +62 -0
  29. package/claude/skills/claude-standards-audit/REQUIREMENT.md +33 -0
  30. package/claude/skills/claude-standards-audit/SKILL.md +79 -0
  31. package/claude/skills/claude-standards-audit/references/branch.md +49 -0
  32. package/claude/skills/claude-standards-audit/references/pr.md +124 -0
  33. package/claude/skills/claude-tasks/SKILL.md +123 -0
  34. package/claude/skills/claude-ui-test/SKILL.md +75 -0
  35. package/claude/skills/claude-ux-audit/SKILL.md +78 -0
  36. package/claude/skills/claude-worktree/SKILL.md +79 -0
  37. package/claude/skills/cli-script/SKILL.md +47 -0
  38. package/claude/skills/cli-script/references/template.md +43 -0
  39. package/claude/skills/create-rule/SKILL.md +68 -0
  40. package/claude/skills/create-skill/REQUIREMENT.md +30 -0
  41. package/claude/skills/create-skill/SKILL.md +24 -0
  42. package/claude/skills/create-snippet/SKILL.md +28 -0
  43. package/claude/skills/create-snippet/references/snippets.md +57 -0
  44. package/claude/skills/create-standard/SKILL.md +31 -0
  45. package/claude/skills/create-standard/references/standard.md +52 -0
  46. package/claude/skills/docs-sync/SKILL.md +87 -0
  47. package/claude/skills/git-branch/REQUIREMENT.md +38 -0
  48. package/claude/skills/git-branch/SKILL.md +60 -0
  49. package/claude/skills/git-branch/references/branch.md +49 -0
  50. package/claude/skills/git-commit/REQUIREMENT.md +33 -0
  51. package/claude/skills/git-commit/SKILL.md +51 -0
  52. package/claude/skills/git-commit/references/commit.md +63 -0
  53. package/claude/skills/git-followup/REQUIREMENT.md +38 -0
  54. package/claude/skills/git-followup/SKILL.md +35 -0
  55. package/claude/skills/git-issue/REQUIREMENT.md +38 -0
  56. package/claude/skills/git-issue/SKILL.md +69 -0
  57. package/claude/skills/git-issue/references/issue.md +84 -0
  58. package/claude/skills/git-pr/REQUIREMENT.md +37 -0
  59. package/claude/skills/git-pr/SKILL.md +119 -0
  60. package/claude/skills/git-pr/references/branch.md +49 -0
  61. package/claude/skills/git-pr/references/pr.md +124 -0
  62. package/claude/skills/git-ship/REQUIREMENT.md +34 -0
  63. package/claude/skills/git-ship/SKILL.md +39 -0
  64. package/claude/skills/git-split/REQUIREMENT.md +38 -0
  65. package/claude/skills/git-split/SKILL.md +160 -0
  66. package/claude/skills/git-split/references/branch.md +49 -0
  67. package/claude/skills/git-split/references/pr.md +124 -0
  68. package/claude/skills/git-stage/REQUIREMENT.md +36 -0
  69. package/claude/skills/git-stage/SKILL.md +74 -0
  70. package/claude/skills/git-stage/references/commit.md +63 -0
  71. package/claude/skills/git-worktree/REQUIREMENT.md +37 -0
  72. package/claude/skills/git-worktree/SKILL.md +120 -0
  73. package/claude/skills/migration-claude-md/SKILL.md +74 -0
  74. package/claude/skills/migration-context/SKILL.md +93 -0
  75. package/claude/skills/migration-standards/SKILL.md +75 -0
  76. package/claude/skills/project-commands/SKILL.md +73 -0
  77. package/claude/skills/session-resume/SKILL.md +36 -0
  78. package/claude/skills/setup-gov/SKILL.md +71 -0
  79. package/claude/skills/setup-indexes/SKILL.md +148 -0
  80. package/claude/skills/setup-init/SKILL.md +114 -0
  81. package/claude/skills/setup-plugins/SKILL.md +81 -0
  82. package/claude/skills/setup-plugins/references/plugin-catalog.md +53 -0
  83. package/claude/skills/setup-verify/SKILL.md +51 -0
  84. package/claude/skills/systematic-debugging/SKILL.md +70 -0
  85. package/claude/skills/toolkit-cli/SKILL.md +38 -0
  86. package/claude/skills/toolkit-feedback/SKILL.md +80 -0
  87. package/claude/skills/toolkit-operator/SKILL.md +45 -0
  88. package/claude/skills/toolkit-triage/SKILL.md +63 -0
  89. package/claude/skills/youtube-transcripts/SKILL.md +34 -0
  90. package/docs/agents.md +371 -0
  91. package/docs/ai-workflow.md +157 -0
  92. package/docs/index.md +20 -0
  93. package/docs/operating-model.md +106 -0
  94. package/docs/target-projects.md +183 -0
  95. package/docs/visual-design-workflow.md +136 -0
  96. package/docs/zshrc-aliases.md +65 -0
  97. package/governance/rules/claude/500-prose.md +12 -0
  98. package/governance/rules/claude/510-context.md +16 -0
  99. package/governance/rules/claude/520-wireframes.md +12 -0
  100. package/governance/rules/claude/530-requirements.md +11 -0
  101. package/governance/rules/claude/540-architecture.md +11 -0
  102. package/governance/rules/claude/550-design.md +11 -0
  103. package/governance/rules/claude/555-tasks.md +12 -0
  104. package/governance/rules/claude/560-diagrams.md +11 -0
  105. package/governance/rules/claude/570-skill.md +18 -0
  106. package/governance/rules/claude/580-readme.md +11 -0
  107. package/governance/rules/claude/590-rule-authoring.md +12 -0
  108. package/governance/rules/core/000-constitution.md +30 -0
  109. package/governance/rules/core/010-testing.md +35 -0
  110. package/governance/rules/core/020-concurrency.md +22 -0
  111. package/governance/rules/core/030-error-handling.md +31 -0
  112. package/governance/rules/core/040-performance.md +20 -0
  113. package/governance/rules/core/050-logging.md +20 -0
  114. package/governance/rules/core/060-naming.md +19 -0
  115. package/governance/rules/core/070-planning.md +13 -0
  116. package/governance/rules/core/080-config-comments.md +22 -0
  117. package/governance/rules/framework/200-react.md +51 -0
  118. package/governance/rules/framework/210-astro.md +41 -0
  119. package/governance/rules/framework/220-fastapi.md +43 -0
  120. package/governance/rules/framework/230-nextjs.md +48 -0
  121. package/governance/rules/framework/250-tailwind.md +32 -0
  122. package/governance/rules/framework/260-shadcn.md +34 -0
  123. package/governance/rules/lang/100-typescript.md +40 -0
  124. package/governance/rules/lang/110-python.md +42 -0
  125. package/governance/rules/lib/300-testing-ts.md +38 -0
  126. package/governance/rules/lib/310-zod.md +25 -0
  127. package/governance/rules/lib/320-tanstack-query.md +32 -0
  128. package/governance/rules/lib/330-testing-py.md +44 -0
  129. package/governance/rules/lib/340-pydantic.md +38 -0
  130. package/governance/rules/lib/350-security-web.md +31 -0
  131. package/governance/rules/ui/400-ui.md +34 -0
  132. package/governance/rules/ui/410-a11y.md +44 -0
  133. package/governance/rules/ui/420-forms.md +34 -0
  134. package/governance/rules/ui/430-ux-completeness.md +62 -0
  135. package/governance/stacks/astro.toml +2 -0
  136. package/governance/stacks/base.toml +2 -0
  137. package/governance/stacks/node.toml +2 -0
  138. package/governance/stacks/python-fastapi.toml +2 -0
  139. package/governance/stacks/python.toml +2 -0
  140. package/governance/stacks/react.toml +2 -0
  141. package/package.json +67 -0
  142. package/scripts/config.sh +11 -0
  143. package/scripts/core/bootstrap.sh +81 -0
  144. package/scripts/core/check-plugin-boundary.sh +45 -0
  145. package/scripts/core/check-skill-paths.sh +25 -0
  146. package/scripts/core/clean.sh +36 -0
  147. package/scripts/core/install-check.sh +93 -0
  148. package/scripts/core/regen-claude-copies.sh +26 -0
  149. package/scripts/core/regen-indexes.sh +10 -0
  150. package/scripts/core/regen-skill-references.sh +27 -0
  151. package/scripts/core/snapshot.sh +132 -0
  152. package/scripts/core/update.sh +35 -0
  153. package/scripts/core/verify.sh +201 -0
  154. package/scripts/docs/list.sh +129 -0
  155. package/scripts/gov/list.sh +234 -0
  156. package/scripts/lib/frontmatter.sh +30 -0
  157. package/scripts/lib/gov.sh +14 -0
  158. package/scripts/lib/sandbox-fixtures.sh +109 -0
  159. package/scripts/lib/sandbox-git.sh +73 -0
  160. package/scripts/lib/tooling.sh +24 -0
  161. package/scripts/lib/ui.sh +173 -0
  162. package/scripts/lib/worktree.sh +20 -0
  163. package/scripts/manage-sandbox.sh +453 -0
  164. package/scripts/snippets/create.sh +156 -0
  165. package/scripts/standards/list.sh +91 -0
  166. package/scripts/tooling/create.sh +109 -0
  167. package/scripts/tooling/ref.sh +141 -0
  168. package/scripts/tooling/verify.sh +179 -0
  169. package/snippets/claude/decision-memo.md +39 -0
  170. package/snippets/claude/feature-recap.md +19 -0
  171. package/snippets/claude/figma-steps.md +18 -0
  172. package/snippets/claude/orchestrator-resume.md +23 -0
  173. package/snippets/claude/orchestrator-sweep.md +10 -0
  174. package/snippets/compact-summary.md +5 -0
  175. package/snippets/create-snippet.md +7 -0
  176. package/snippets/decision-help.md +6 -0
  177. package/snippets/meta-prompt.md +14 -0
  178. package/snippets/research-prompt.md +7 -0
  179. package/snippets/session-notes.md +11 -0
  180. package/snippets/snippets.toml +6 -0
  181. package/snippets/step-by-step.md +10 -0
  182. package/snippets/web-research.md +21 -0
  183. package/src/claude/gitignore.ts +51 -0
  184. package/src/claude/seeds-list.ts +47 -0
  185. package/src/claude/seeds.ts +124 -0
  186. package/src/claude/settings.ts +151 -0
  187. package/src/cli-run.ts +43 -0
  188. package/src/cli.ts +111 -0
  189. package/src/commands/claude.ts +349 -0
  190. package/src/commands/design.ts +39 -0
  191. package/src/commands/docs.ts +59 -0
  192. package/src/commands/feedback-format.ts +23 -0
  193. package/src/commands/feedback.ts +103 -0
  194. package/src/commands/gov.ts +268 -0
  195. package/src/commands/indexes.ts +182 -0
  196. package/src/commands/init.ts +117 -0
  197. package/src/commands/pass-through.ts +39 -0
  198. package/src/commands/sandbox.ts +315 -0
  199. package/src/commands/slides.ts +106 -0
  200. package/src/commands/snippets.ts +236 -0
  201. package/src/commands/standards.ts +89 -0
  202. package/src/commands/sync.ts +211 -0
  203. package/src/commands/tasks.ts +185 -0
  204. package/src/commands/tooling.ts +432 -0
  205. package/src/commands/transcripts.ts +48 -0
  206. package/src/commands/wiki.ts +101 -0
  207. package/src/copy.ts +30 -0
  208. package/src/design/parse.ts +79 -0
  209. package/src/design/render.ts +170 -0
  210. package/src/docs/read.ts +59 -0
  211. package/src/exec.ts +17 -0
  212. package/src/frontmatter.ts +13 -0
  213. package/src/github-format.ts +13 -0
  214. package/src/github.ts +20 -0
  215. package/src/gov/adapter.ts +73 -0
  216. package/src/gov/install.ts +103 -0
  217. package/src/gov/payload.ts +39 -0
  218. package/src/gov/stacks.ts +124 -0
  219. package/src/indexes/frontmatter.ts +46 -0
  220. package/src/indexes/regen.ts +84 -0
  221. package/src/indexes/render.ts +181 -0
  222. package/src/indexes/walk.ts +111 -0
  223. package/src/init/flags.ts +66 -0
  224. package/src/init/plan.ts +128 -0
  225. package/src/init/run.ts +46 -0
  226. package/src/init/steps.ts +91 -0
  227. package/src/sandbox/coverage.ts +115 -0
  228. package/src/sandbox/expect.ts +412 -0
  229. package/src/slides/layouts.ts +391 -0
  230. package/src/slides/open.ts +18 -0
  231. package/src/slides/parse.ts +84 -0
  232. package/src/slides/render.ts +88 -0
  233. package/src/slides/styles.ts +44 -0
  234. package/src/snippets/adapter.ts +34 -0
  235. package/src/snippets/categories.ts +59 -0
  236. package/src/snippets/install.ts +125 -0
  237. package/src/snippets/list.ts +32 -0
  238. package/src/snippets/presets.ts +50 -0
  239. package/src/standards/adapter.ts +51 -0
  240. package/src/standards/index-refresh.ts +44 -0
  241. package/src/standards/install.ts +52 -0
  242. package/src/sync/check.ts +269 -0
  243. package/src/sync/engine.ts +416 -0
  244. package/src/sync/git.ts +204 -0
  245. package/src/sync/stamp.ts +202 -0
  246. package/src/sync/target.ts +79 -0
  247. package/src/sync/workflow.ts +201 -0
  248. package/src/target.ts +43 -0
  249. package/src/tasks/archive.ts +304 -0
  250. package/src/tooling/gitignore.ts +122 -0
  251. package/src/tooling/inject.ts +214 -0
  252. package/src/tooling/list.ts +39 -0
  253. package/src/tooling/manifest.ts +178 -0
  254. package/src/tooling/package.ts +166 -0
  255. package/src/tooling/scan.ts +186 -0
  256. package/src/transcripts/fetch.ts +156 -0
  257. package/src/transcripts/metadata.ts +54 -0
  258. package/src/transcripts/vtt.ts +114 -0
  259. package/src/ui.ts +187 -0
  260. package/src/wiki/init.ts +85 -0
  261. package/standards/architecture.md +41 -0
  262. package/standards/bundled/branch.md +49 -0
  263. package/standards/bundled/commit.md +63 -0
  264. package/standards/bundled/issue.md +84 -0
  265. package/standards/bundled/pr.md +124 -0
  266. package/standards/bundled/roadmap.md +52 -0
  267. package/standards/bundled/snippets.md +57 -0
  268. package/standards/bundled/standard.md +52 -0
  269. package/standards/context.md +132 -0
  270. package/standards/design.md +31 -0
  271. package/standards/diagrams.md +55 -0
  272. package/standards/index.md +21 -0
  273. package/standards/prose.md +122 -0
  274. package/standards/readme.md +163 -0
  275. package/standards/requirements.md +61 -0
  276. package/standards/rule.md +79 -0
  277. package/standards/skill.md +257 -0
  278. package/standards/tasks.md +140 -0
  279. package/standards/versioning.md +47 -0
  280. package/standards/wireframes.md +67 -0
  281. package/tooling/astro/configs/astro.config.mjs +17 -0
  282. package/tooling/astro/configs/eslint.config.js +79 -0
  283. package/tooling/astro/configs/playwright.config.ts +25 -0
  284. package/tooling/astro/configs/tsconfig.json +12 -0
  285. package/tooling/astro/configs/vitest.config.ts +22 -0
  286. package/tooling/astro/manifest.toml +32 -0
  287. package/tooling/astro/reference.md +60 -0
  288. package/tooling/base/configs/.editorconfig +5 -0
  289. package/tooling/base/configs/.github/pull_request_template.md +18 -0
  290. package/tooling/base/configs/.github/workflows/verify.yml +35 -0
  291. package/tooling/base/configs/.husky/commit-msg +1 -0
  292. package/tooling/base/configs/.husky/post-merge +61 -0
  293. package/tooling/base/configs/.husky/post-rewrite +21 -0
  294. package/tooling/base/configs/.husky/pre-commit +1 -0
  295. package/tooling/base/configs/.husky/pre-push +1 -0
  296. package/tooling/base/configs/.prettierrc +12 -0
  297. package/tooling/base/configs/.shellcheckrc +1 -0
  298. package/tooling/base/configs/.vscode/extensions.json +9 -0
  299. package/tooling/base/configs/.vscode/settings.json +3 -0
  300. package/tooling/base/configs/commitlint.config.js +11 -0
  301. package/tooling/base/configs/scripts/clean.sh +45 -0
  302. package/tooling/base/configs/scripts/update.sh +49 -0
  303. package/tooling/base/configs/scripts/verify.sh +64 -0
  304. package/tooling/base/manifest.toml +32 -0
  305. package/tooling/base/reference.md +114 -0
  306. package/tooling/base/seeds/.claude/context/ci.md +27 -0
  307. package/tooling/base/seeds/.claude/context/development.md +32 -0
  308. package/tooling/base/seeds/.cspell/project-terms.txt +0 -0
  309. package/tooling/base/seeds/.cspell/tech-stack.txt +19 -0
  310. package/tooling/base/seeds/.lintstagedrc +8 -0
  311. package/tooling/base/seeds/.prettierignore +0 -0
  312. package/tooling/base/seeds/cspell.json +20 -0
  313. package/tooling/claude/manifest.toml +11 -0
  314. package/tooling/claude/reference.md +62 -0
  315. package/tooling/claude/seeds/.claude/ARCHITECTURE.md +13 -0
  316. package/tooling/claude/seeds/.claude/DESIGN.md +62 -0
  317. package/tooling/claude/seeds/.claude/REQUIREMENTS.md +18 -0
  318. package/tooling/claude/seeds/.claude/context/index.md +8 -0
  319. package/tooling/claude/seeds/.claude/hooks/index-reminder.sh +43 -0
  320. package/tooling/claude/seeds/.claude/hooks/scratch-guard.sh +45 -0
  321. package/tooling/claude/seeds/.claude/hooks/standards-audit.sh +61 -0
  322. package/tooling/claude/seeds/.claude/hooks/tasks-index.sh +60 -0
  323. package/tooling/claude/seeds/.claude/settings.json +39 -0
  324. package/tooling/claude/seeds/.claude/tasks/index.md +8 -0
  325. package/tooling/claude/seeds/.claude/wireframes/index.md +8 -0
  326. package/tooling/claude/seeds/CLAUDE.md +87 -0
  327. package/tooling/claude/user/settings.template.json +10 -0
  328. package/tooling/claude/user/statusline-command.sh +53 -0
  329. package/tooling/python/configs/.coveragerc +14 -0
  330. package/tooling/python/configs/.python-version +1 -0
  331. package/tooling/python/configs/mypy.ini +6 -0
  332. package/tooling/python/configs/pytest.ini +4 -0
  333. package/tooling/python/configs/ruff.toml +15 -0
  334. package/tooling/python/configs/scripts/verify.sh +77 -0
  335. package/tooling/python/manifest.toml +16 -0
  336. package/tooling/python/reference.md +66 -0
  337. package/tooling/python/seeds/.cspell/tech-stack.txt +19 -0
  338. package/tooling/python/seeds/tests/test_smoke.py +2 -0
  339. package/tooling/vite-react/configs/playwright.config.ts +25 -0
  340. package/tooling/vite-react/configs/tsconfig.json +35 -0
  341. package/tooling/vite-react/configs/vite.config.ts +14 -0
  342. package/tooling/vite-react/configs/vitest.config.ts +26 -0
  343. package/tooling/vite-react/manifest.toml +21 -0
  344. package/tooling/vite-react/reference.md +55 -0
  345. package/tooling/vite-react/seeds/.cspell/project-terms.txt +1 -0
  346. package/tooling/vite-react/seeds/.cspell/tech-stack.txt +1 -0
  347. package/tooling/web/configs/.github/workflows/verify.yml +134 -0
  348. package/tooling/web/configs/.vscode/extensions.json +13 -0
  349. package/tooling/web/configs/.vscode/settings.json +10 -0
  350. package/tooling/web/configs/e2e/home.spec.ts +6 -0
  351. package/tooling/web/configs/e2e/screenshot.ts +41 -0
  352. package/tooling/web/configs/eslint.config.js +82 -0
  353. package/tooling/web/configs/scripts/screenshot.sh +28 -0
  354. package/tooling/web/configs/scripts/verify.sh +80 -0
  355. package/tooling/web/configs/src/test/setup.ts +8 -0
  356. package/tooling/web/manifest.toml +57 -0
  357. package/tooling/web/reference.md +95 -0
  358. package/tooling/web/seeds/.cspell/tech-stack.txt +18 -0
  359. package/tsconfig.json +14 -0
@@ -0,0 +1 @@
1
+ bunx lint-staged
@@ -0,0 +1 @@
1
+ bun run check
@@ -0,0 +1,12 @@
1
+ {
2
+ "semi": false,
3
+ "singleQuote": true,
4
+ "overrides": [
5
+ {
6
+ "files": "*.mdc",
7
+ "options": {
8
+ "parser": "markdown"
9
+ }
10
+ }
11
+ ]
12
+ }
@@ -0,0 +1 @@
1
+ external-sources=true
@@ -0,0 +1,9 @@
1
+ {
2
+ "recommendations": [
3
+ "esbenp.prettier-vscode",
4
+ "streetsidesoftware.code-spell-checker",
5
+ "mkhl.shfmt",
6
+ "timonwong.shellcheck",
7
+ "mads-hartmann.bash-ide-vscode"
8
+ ]
9
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "shellcheck.customArgs": ["--severity=warning"]
3
+ }
@@ -0,0 +1,11 @@
1
+ const config = {
2
+ extends: ['@commitlint/config-conventional'],
3
+ rules: {
4
+ 'subject-case': [0],
5
+ 'header-max-length': [2, 'always', 72],
6
+ 'scope-case': [2, 'always', 'lower-case'],
7
+ 'subject-full-stop': [2, 'never', '.'],
8
+ },
9
+ }
10
+
11
+ export default config
@@ -0,0 +1,45 @@
1
+ #!/bin/bash
2
+ set -e
3
+ set -o pipefail
4
+
5
+ GREEN='\033[0;32m'
6
+ RED='\033[0;31m'
7
+ WHITE='\033[1;37m'
8
+ GREY='\033[0;90m'
9
+ NC='\033[0m'
10
+
11
+ log_info() { echo -e "${GREY}│${NC} ${GREEN}✓${NC} $1"; }
12
+ log_error() {
13
+ echo -e "${GREY}│${NC} ${RED}✗${NC} $1"
14
+ exit 1
15
+ }
16
+ log_step() { echo -e "${GREY}│${NC}\n${GREY}├${NC} ${WHITE}$1${NC}"; }
17
+ log_rem() { echo -e "${GREY}│${NC} ${RED}-${NC} $1"; }
18
+
19
+ check_dependencies() {
20
+ command -v bun >/dev/null 2>&1 || log_error "bun is not installed"
21
+ }
22
+
23
+ main() {
24
+ check_dependencies
25
+
26
+ echo -e "${GREY}┌${NC}"
27
+
28
+ echo -e "${GREY}├${NC} ${WHITE}Cleaning artifacts${NC}"
29
+ rm -rf node_modules
30
+
31
+ log_rem "node_modules/"
32
+
33
+ log_step "Cleaning cache"
34
+ bun pm cache rm
35
+ log_info "Package manager cache cleared"
36
+
37
+ log_step "Rehydrating project"
38
+ bun install
39
+ log_info "Dependencies installed"
40
+
41
+ echo -e "${GREY}└${NC}\n"
42
+ echo -e "${GREEN}✓ Clean complete${NC}"
43
+ }
44
+
45
+ main "$@"
@@ -0,0 +1,49 @@
1
+ #!/bin/bash
2
+ set -e
3
+ set -o pipefail
4
+
5
+ GREEN='\033[0;32m'
6
+ YELLOW='\033[0;33m'
7
+ RED='\033[0;31m'
8
+ WHITE='\033[1;37m'
9
+ GREY='\033[0;90m'
10
+ NC='\033[0m'
11
+
12
+ log_info() { echo -e "${GREY}│${NC} ${GREEN}✓${NC} $1"; }
13
+ log_warn() { echo -e "${GREY}│${NC} ${YELLOW}!${NC} $1"; }
14
+ log_error() {
15
+ echo -e "${GREY}│${NC} ${RED}✗${NC} $1"
16
+ exit 1
17
+ }
18
+ log_step() { echo -e "${GREY}│${NC}\n${GREY}├${NC} ${WHITE}$1${NC}"; }
19
+
20
+ pipe_output() { while IFS= read -r line; do echo -e "${GREY}│${NC} $line"; done; }
21
+
22
+ check_dependencies() {
23
+ command -v bun >/dev/null 2>&1 || log_error "bun is not installed"
24
+ }
25
+
26
+ main() {
27
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
28
+
29
+ check_dependencies
30
+
31
+ echo -e "${GREY}┌${NC}"
32
+
33
+ echo -e "${GREY}├${NC} ${WHITE}Interactive dependency update${NC}"
34
+ echo -e "${GREY}│${NC}"
35
+ bun update --interactive
36
+
37
+ log_step "Verifying project health"
38
+ if [ -f "$SCRIPT_DIR/verify.sh" ]; then
39
+ VERIFY_NESTED=true "$SCRIPT_DIR/verify.sh"
40
+ log_info "All checks passed"
41
+ else
42
+ log_warn "Verification script not found, skipping."
43
+ fi
44
+
45
+ echo -e "${GREY}└${NC}\n"
46
+ echo -e "${GREEN}✓ Update complete${NC}"
47
+ }
48
+
49
+ main "$@"
@@ -0,0 +1,64 @@
1
+ #!/bin/bash
2
+ set -e
3
+ set -o pipefail
4
+
5
+ GREEN='\033[0;32m'
6
+ RED='\033[0;31m'
7
+ WHITE='\033[1;37m'
8
+ GREY='\033[0;90m'
9
+ NC='\033[0m'
10
+
11
+ NESTED="${VERIFY_NESTED:-false}"
12
+
13
+ log_info() { echo -e "${GREY}│${NC} ${GREEN}✓${NC} $1"; }
14
+ log_error() {
15
+ echo -e "${GREY}│${NC} ${RED}✗${NC} $1"
16
+ exit 1
17
+ }
18
+ log_step() { echo -e "${GREY}│${NC}\n${GREY}├${NC} ${WHITE}$1${NC}"; }
19
+
20
+ pipe_output() { while IFS= read -r line; do echo -e "${GREY}│${NC} $line"; done; }
21
+
22
+ check_dependencies() {
23
+ command -v bun >/dev/null 2>&1 || log_error "bun is not installed"
24
+ }
25
+
26
+ run_check() {
27
+ local cmd=$1
28
+ local err_msg=$2
29
+ local output
30
+ if ! output=$(eval "$cmd" 2>&1); then
31
+ echo "$output" | pipe_output
32
+ log_error "$err_msg"
33
+ fi
34
+ echo "$output" | pipe_output
35
+ }
36
+
37
+ main() {
38
+ check_dependencies
39
+
40
+ if [ "$NESTED" = false ]; then echo -e "${GREY}┌${NC}"; fi
41
+
42
+ echo -e "${GREY}├${NC} ${WHITE}Formatting${NC}"
43
+ run_check "bun run format" "Format failed"
44
+ log_info "Format applied"
45
+
46
+ log_step "Format check"
47
+ run_check "bun run check:format" "Format check failed"
48
+ log_info "Format check passed"
49
+
50
+ log_step "Spelling"
51
+ run_check "bun run check:spell" "Spell check failed"
52
+ log_info "Spell check passed"
53
+
54
+ log_step "Shell"
55
+ run_check "bun run check:shell" "Shell check failed"
56
+ log_info "Shell check passed"
57
+
58
+ if [ "$NESTED" = false ]; then
59
+ echo -e "${GREY}└${NC}\n"
60
+ echo -e "${GREEN}✓ Verification passed${NC}"
61
+ fi
62
+ }
63
+
64
+ main "$@"
@@ -0,0 +1,32 @@
1
+ [stack]
2
+ name = "base"
3
+ extends = ""
4
+ runtime = "bun"
5
+ scaffold = ""
6
+
7
+ [sync]
8
+ source = "configs"
9
+
10
+ [dependencies.dev]
11
+ packages = [
12
+ "prettier",
13
+ "cspell",
14
+ "husky",
15
+ "@commitlint/cli",
16
+ "@commitlint/config-conventional",
17
+ ]
18
+
19
+ [scripts]
20
+ "check:spell" = "cspell '**' '.*/**' '.*' --no-progress --color --show-context"
21
+ "check:format" = "prettier --check --log-level warn --ignore-path .gitignore --ignore-path .prettierignore . && shfmt --diff --indent 2 scripts/"
22
+ "check:shell" = "find scripts -name '*.sh' -exec shellcheck --severity=warning {} +"
23
+ "format" = "prettier --write --log-level warn --ignore-path .gitignore --ignore-path .prettierignore . && shfmt --write --indent 2 scripts/"
24
+ "prepare" = "husky"
25
+ "check" = "./scripts/verify.sh"
26
+ "clean" = "./scripts/clean.sh"
27
+ "update" = "./scripts/update.sh"
28
+
29
+ [gitignore]
30
+ "# System" = [".DS_Store"]
31
+ "# Dependencies" = ["node_modules/"]
32
+ "# Secrets" = [".env", ".env.*", "*.local", "!.env.example"]
@@ -0,0 +1,114 @@
1
+ # Tooling base reference
2
+
3
+ ## Runtime
4
+
5
+ - Use `bun` as package manager and script runner.
6
+ - Use `bunx` instead of `npx` for one-off executables.
7
+
8
+ ## Prettier
9
+
10
+ - Config: `.prettierrc` (JSON) at root.
11
+ - Rules: `semi: false`, `singleQuote: true`.
12
+ - Add parser overrides for non-standard extensions (e.g., `.mdx` → `markdown`).
13
+ - Ignore paths via `.gitignore` and `.prettierignore`. Pass both as `--ignore-path` on all prettier invocations.
14
+ - `.prettierignore` is a user-owned seed. It is created empty on install. Projects add their own entries.
15
+ - Use `--log-level warn` on all prettier invocations to suppress per-file `(unchanged)` output.
16
+
17
+ ## Dev Dependencies
18
+
19
+ - `prettier`, `cspell`, `husky`, `@commitlint/cli`, `@commitlint/config-conventional`.
20
+ - Install via `bun add -D`.
21
+ - Ensure `.gitignore` contains `node_modules/`.
22
+
23
+ ## CSpell
24
+
25
+ - `cspell.json` is a user-owned seed at root. Sync drops it once on first install and never overwrites it. Projects extend it with extra `import` and `dictionaryDefinitions` entries.
26
+ - The seeded baseline includes `version: "0.2"`, `language: "en"`, `useGitignore: true`, `gitignoreRoot: ["."]`, dictionary definitions for `project-terms` and `tech-stack`, and `ignorePaths: [".cspell/**", ".git/**"]` to skip dictionary self-checks and git object files. Both dictionary definitions set `addWords: true`.
27
+ - `gitignoreRoot: ["."]` pins the `.gitignore` search to the project root. Without it, cspell run from inside a linked worktree under `.claude/worktrees/` walks up into the parent repo's `.gitignore`, resolves every worktree file as living under the ignored worktree path, and checks zero files. New words then pass locally and fail in CI. `gitignoreRoot` stops the walk at the root while the worktree's own `.gitignore` still excludes `node_modules` and build output.
28
+ - Dictionary files in `.cspell/`: `project-terms.txt`, `tech-stack.txt`.
29
+ - Include dotfolders in the spell glob: `cspell '**' '.*/**' '.*' ...`. The default `**` skips dot-prefixed folders, so `.claude/`, `.github/`, and `.husky/` go unchecked without explicit globs.
30
+ - Keep dictionary entries sorted alphabetically, one word per line.
31
+
32
+ ## Shell Tooling
33
+
34
+ - Format: `shfmt --indent 2 scripts/`. shfmt supports directory args natively, no `find` needed.
35
+ - Lint: `find scripts -name '*.sh' -exec shellcheck --severity=warning {} +`. shellcheck has no directory mode, `find` is required.
36
+ - Config: `.shellcheckrc` with `external-sources=true`. Required for shellcheck to follow `source` directives. Keep even with EditorConfig present.
37
+ - All shell scripts live in `scripts/`. Do not place `.sh` files outside `scripts/`.
38
+ - EditorConfig: `.editorconfig` at root with `[*.sh]` block enforcing `indent_style = space`, `indent_size = 2`. Prevents editor/shfmt conflicts that produce spurious git diffs.
39
+
40
+ ## Commit Lint
41
+
42
+ - Config: `commitlint.config.js` (ESM default export).
43
+ - Extends: `@commitlint/config-conventional`.
44
+ - Rules: `header-max-length: 72`, `scope-case: lower-case`, `subject-full-stop: never`, `subject-case: disabled`.
45
+ - Format: `<type>(<scope>): <subject>` (imperative mood, no trailing period).
46
+
47
+ ## Husky + Lint-Staged
48
+
49
+ - `.lintstagedrc` is a user-owned seed at root. Sync drops it once on first install and never overwrites it. Projects extend it with extra glob → command entries (e.g. `aitk indexes regen`).
50
+ - Seeded baseline globs:
51
+ - `**/*.{json,md,mdc}` → `["prettier --write --ignore-path .gitignore --ignore-path .prettierignore", "cspell --no-must-find-files"]`
52
+ - `**/*.md` → `["aitk indexes regen"]`
53
+ - `**/*.sh` → `["shfmt --write --indent 2", "shellcheck --severity=warning"]`
54
+ - Hooks in `.husky/`:
55
+ - `pre-commit` → `bunx lint-staged`
56
+ - `commit-msg` → `bunx commitlint --edit "$1"`
57
+ - `pre-push` → `bun run check`
58
+ - `post-merge` → names `.claude/tasks/` archive candidates, silent otherwise and when the board is absent
59
+ - `post-rewrite` → delegates to `post-merge` on `rebase`, so a `pull.rebase=true` machine still gets the check
60
+ - Husky runs hooks as `sh -e`, so a hook carrying logic is POSIX sh under errexit no matter what its shebang says.
61
+ - Note: lint-staged handles its own glob expansion and passes matched files as arguments. `**/*.sh` is safe here, unlike in package.json scripts.
62
+
63
+ ## GitHub
64
+
65
+ - PR template: `.github/pull_request_template.md`.
66
+ - Sections: `## Summary`, `## Key Changes`, `## Technical Context`, `## Testing`.
67
+ - Visuals: HTML comment only, never a visible section header.
68
+ - Imperative mood, no "This PR" opener, no buzzwords, name specific files and functions.
69
+ - CI workflow: `.github/workflows/verify.yml`. Runs on pull requests targeting `main` and on `workflow_dispatch`.
70
+ - Workflow steps: checkout, setup Bun (latest), `bun install --frozen-lockfile`, install `shfmt` and `shellcheck` via apt, then `check:format`, `check:spell`, `check:shell`.
71
+ - Does not run `format` before asserting. CI asserts only. Format must be clean before push.
72
+
73
+ ## Gitignore
74
+
75
+ - `# System`: `.DS_Store`
76
+ - `# Dependencies`: `node_modules/`
77
+ - `# Secrets`: `.env`, `.env.*`, `*.local`, `!.env.example`
78
+
79
+ ## Scripts
80
+
81
+ - Entry: `scripts/` directory with `verify.sh`, `clean.sh`, `update.sh`.
82
+ - All scripts use logging functions from the bash script reference.
83
+ - `verify.sh`: self-healing: runs `format` first to auto-fix AI-generated or drifted code, then asserts with `check:format`. Supports `VERIFY_NESTED=true` to suppress timeline boundaries when called by other scripts.
84
+ - `clean.sh`: removes `node_modules/`, clears bun cache, reinstalls dependencies fresh.
85
+ - `update.sh`: runs `bun update --interactive` then calls `verify.sh` with `VERIFY_NESTED=true` to confirm project health after updates.
86
+
87
+ ## EditorConfig
88
+
89
+ - Config: `.editorconfig` at root, `root = true`.
90
+ - `[*.sh]`: `indent_style = space`, `indent_size = 2`.
91
+ - Ensures consistent shell script indentation across editors, preventing shfmt vs editor conflicts that produce spurious git diffs.
92
+
93
+ ## VS Code
94
+
95
+ - Extensions: `esbenp.prettier-vscode`, `streetsidesoftware.code-spell-checker`, `mkhl.shfmt`, `timonwong.shellcheck`, `mads-hartmann.bash-ide-vscode`.
96
+ - Settings: `shellcheck.customArgs: ["--severity=warning"]`.
97
+
98
+ ## Context
99
+
100
+ - Seeded at `.claude/context/development.md` and `.claude/context/ci.md` on install. User-owned, never overwritten by sync.
101
+ - Each carries `title` and `description` frontmatter so the files slot into `.claude/context/index.md` if the project adopts the `indexes` system. Indexes stay opt-in.
102
+ - Extend freely with project-specific commands, workflows, or deploy steps. Canonical rationale stays in this reference.
103
+ - The `.claude/context/` location matches the three-tier context model: project-wide invariants in `CLAUDE.md` and `.claude/REQUIREMENTS.md`/`.claude/ARCHITECTURE.md`, path-scoped rules in `.claude/rules/`, and on-demand domain narrative in `.claude/context/`.
104
+
105
+ ## Package Scripts
106
+
107
+ - `check:spell`: runs cspell across all files, shows context on failures.
108
+ - `check:format`: checks prettier and shfmt formatting without writing. shfmt targets `scripts/` directory directly. Uses `--log-level warn` and both `--ignore-path .gitignore --ignore-path .prettierignore`.
109
+ - `check:shell`: runs shellcheck at warning severity via `find scripts -name '*.sh'` (shellcheck has no directory mode).
110
+ - `format`: writes prettier and shfmt formatting in place. shfmt targets `scripts/` directory directly. Uses `--log-level warn` and both `--ignore-path .gitignore --ignore-path .prettierignore`.
111
+ - `prepare`: initializes husky hooks (runs automatically on `bun install`).
112
+ - `check`: runs `scripts/verify.sh`, the full verification suite. Auto-formats before asserting.
113
+ - `clean`: runs `scripts/clean.sh`, wipes and reinstalls dependencies.
114
+ - `update`: runs `scripts/update.sh`, interactive dependency update with verification.
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: CI
3
+ description: GitHub Actions workflow triggers and checks
4
+ ---
5
+
6
+ # CI
7
+
8
+ GitHub Actions workflow for this project.
9
+
10
+ ## Triggers
11
+
12
+ - Pull requests targeting `main`
13
+ - `workflow_dispatch` (manual run from the Actions tab)
14
+
15
+ ## Checks
16
+
17
+ Defined in `.github/workflows/verify.yml`. All jobs must pass before merge.
18
+
19
+ | Check | Command | What it asserts |
20
+ | ------ | ---------------------- | ---------------------------------- |
21
+ | Format | `bun run check:format` | prettier and shfmt are clean |
22
+ | Spell | `bun run check:spell` | cspell passes against dictionaries |
23
+ | Shell | `bun run check:shell` | shellcheck passes at warning level |
24
+
25
+ ## Running CI locally
26
+
27
+ `bun run check` runs the same three asserts plus auto-formats first. If CI fails on format, run `bun run check` locally and commit the diff.
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Development
3
+ description: Local dev workflow, scripts, and husky hooks
4
+ ---
5
+
6
+ # Development
7
+
8
+ Local dev workflow for this project.
9
+
10
+ ## Setup
11
+
12
+ - Install [Bun](https://bun.sh): `curl -fsSL https://bun.sh/install | bash`
13
+ - Install dependencies: `bun install`
14
+
15
+ ## Scripts
16
+
17
+ | Command | Purpose |
18
+ | ---------------- | ---------------------------------------------------- |
19
+ | `bun run check` | Full verification. Auto-formats, then asserts clean. |
20
+ | `bun run format` | Auto-fix prettier and shfmt formatting. |
21
+ | `bun run clean` | Wipe `node_modules/`, clear bun cache, reinstall. |
22
+ | `bun run update` | Interactive `bun update` followed by verification. |
23
+
24
+ ## Shell scripts
25
+
26
+ All `.sh` files live under `scripts/`. Do not place shell scripts outside `scripts/`.
27
+
28
+ ## Husky hooks
29
+
30
+ - `pre-commit` runs `lint-staged` (prettier, cspell, shfmt, shellcheck on staged files).
31
+ - `commit-msg` runs `commitlint` against the conventional commit format.
32
+ - `pre-push` runs `bun run check`. After pushing, run `git status`. If files changed, commit the diff as `style(<scope>):` and push again.
File without changes
@@ -0,0 +1,19 @@
1
+ aitk
2
+ bradlc
3
+ bunx
4
+ commitlint
5
+ dbaeumer
6
+ dotfolders
7
+ esbenp
8
+ frontmatter
9
+ lintstagedrc
10
+ mkhl
11
+ parallelizable
12
+ scannability
13
+ shellcheck
14
+ shfmt
15
+ timonwong
16
+ wireframe
17
+ wireframes
18
+ worktree
19
+ worktrees
@@ -0,0 +1,8 @@
1
+ {
2
+ "**/*.{json,md,mdc}": [
3
+ "prettier --write --ignore-path .gitignore --ignore-path .prettierignore",
4
+ "cspell --no-must-find-files"
5
+ ],
6
+ "**/*.md": ["aitk indexes regen"],
7
+ "**/*.sh": ["shfmt --write --indent 2", "shellcheck --severity=warning"]
8
+ }
File without changes
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "0.2",
3
+ "language": "en",
4
+ "useGitignore": true,
5
+ "gitignoreRoot": ["."],
6
+ "dictionaryDefinitions": [
7
+ {
8
+ "name": "project-terms",
9
+ "path": ".cspell/project-terms.txt",
10
+ "addWords": true
11
+ },
12
+ {
13
+ "name": "tech-stack",
14
+ "path": ".cspell/tech-stack.txt",
15
+ "addWords": true
16
+ }
17
+ ],
18
+ "dictionaries": ["project-terms", "tech-stack"],
19
+ "ignorePaths": [".cspell/**", ".git/**"]
20
+ }
@@ -0,0 +1,11 @@
1
+ # Consumed only by `aitk claude init`. Claude is not a discoverable tooling stack
2
+ # and is excluded from `aitk tooling` discovery via scripts/lib/tooling.sh.
3
+
4
+ [stack]
5
+ name = "claude"
6
+ extends = ""
7
+ runtime = ""
8
+ scaffold = ""
9
+
10
+ [gitignore]
11
+ "# Claude" = [".claude/.tmp/", ".claude/memory/", ".claude/plans/", ".claude/review/", ".claude/worktrees/", ".claude/tasks/"]
@@ -0,0 +1,62 @@
1
+ # Tooling Claude reference
2
+
3
+ ## Overview
4
+
5
+ The claude stack installs the `.claude/` workflow directory into a project. State docs are seeds, written once and never overwritten by tooling. `CLAUDE.md` is a seed, filled in per project after init.
6
+
7
+ ## Structure
8
+
9
+ ```plaintext
10
+ .claude/
11
+ ├── CLAUDE.md ← seeded. Project context and rules, auto-loaded by Claude Code each session
12
+ ├── tasks/ ← seeded then gitignored. One file per task plus a generated index.md, local scratch only
13
+ ├── REQUIREMENTS.md ← seeded. Project goals, non-goals, MVP scope
14
+ ├── ARCHITECTURE.md ← seeded. Technical design decisions and open questions
15
+ ├── DESIGN.md ← seeded. Visual intent and the decisions behind it
16
+ ├── wireframes/ ← seeded. Per-surface ASCII layouts. `index.md` is the discovery anchor; `<surface>.md` files hold the sketches and behavior bullets.
17
+ ├── GOV.md ← retired. Removed by `aitk gov sync` if present from a prior install
18
+ ├── settings.json ← seeded. Project-level Claude Code config (PreToolUse and PostToolUse hooks). User-level config installed separately via `aitk claude setup`.
19
+ ├── plans/ ← execution detail for multi-step tasks, gitignored. `feature-*.md` entries swept by claude-docs.
20
+ ├── review/ ← scratch for claude-review and claude-ui-test output, gitignored
21
+ ├── .tmp/ ← ephemeral scratch space, gitignored
22
+ └── memory/ ← session memory files, gitignored
23
+ ```
24
+
25
+ ## Upgrading from a single-file board
26
+
27
+ A project installed before the board became a folder still holds `.claude/TASKS.md`. Nothing migrates it. `aitk claude init` seeds an empty `.claude/tasks/index.md` beside it and leaves the old file untouched, so every skill reads the empty catalog while the real board sits unreferenced.
28
+
29
+ Convert by hand, once per project:
30
+
31
+ 1. Split each `###` block into `.claude/tasks/vXX.Y-<slug>.md`, adding the `title` and `description` frontmatter that `.claude/standards/tasks.md` requires. Compare each new file against the block it came from rather than checking that every block landed somewhere.
32
+ 2. Run `aitk indexes regen --no-stage --root . .claude/tasks/<any-task>.md` to build the catalog.
33
+ 3. Delete `.claude/TASKS.md`, and swap its `.gitignore` entry for `.claude/tasks/`.
34
+
35
+ ## Gitignore
36
+
37
+ - `# Claude`: `.claude/.tmp/`, `.claude/memory/`, `.claude/plans/`, `.claude/review/`, `.claude/worktrees/`, `.claude/tasks/`
38
+
39
+ ## CLI
40
+
41
+ | Command | What it does |
42
+ | ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
43
+ | `aitk claude init` | Seeds `.claude/` workflow docs, updates `.gitignore` |
44
+ | `aitk claude sync` | Reconciles `.gitignore` against the manifest. Reports seeded file status. |
45
+ | `aitk claude setup` | Installs user-level config to `~/.claude/`: statusline, attribution, and permission allows or denies. Run once per machine. |
46
+
47
+ ## CLAUDE.md
48
+
49
+ - Ships as a seed with placeholder project name, description, and key paths. Fill these in after init.
50
+ - Section layout: `Context`, `Indexes`, `Markdown`, `Key paths`, `Spelling`, `Snippets`, `Tasks`, `Memory`. Each section groups rules that share a surface so skills can detect, extend, or skip by heading.
51
+ - The memory rules favor signal over volume. Saving only after a second occurrence or an explicit user correction keeps entries focused on patterns worth preventing, not first-occurrence slips. The 3-line cap stops the built-in auto-memory from drifting into narrative writeups that bury the rule underneath the recovery story.
52
+ - The `Context` section points at `.claude/` state docs one line. `claude-feature` does the parallel read when invoked. The seed intentionally does not re-list every file.
53
+
54
+ ## Seed docs
55
+
56
+ - Seed docs ship with a guidelines preamble above the first H2. These are instructions Claude internalizes before filling in the sections below. They are not sections to populate.
57
+
58
+ ## settings.json
59
+
60
+ - Project seed at `tooling/claude/seeds/.claude/settings.json` ships two PreToolUse hooks (pairing with `.claude/hooks/index-reminder.sh` and `.claude/hooks/scratch-guard.sh`) and a PostToolUse hook (pairs with `.claude/hooks/standards-audit.sh`). Project settings layer over user settings, so per-project files only carry what is genuinely project-specific.
61
+ - User-level template at `tooling/claude/user/settings.template.json` carries `attribution.commit` and `attribution.pr` (empty strings to suppress co-author tags), `permissions.allow` with `Bash(bun run *)`, and `permissions.deny` with `Read(**/.env)` and `Read(**/.env.*)` to block accidental secret exposure across any project. Installed once per machine via `aitk claude setup`.
62
+ - The deprecated `includeCoAuthoredBy` key is not used.
@@ -0,0 +1,13 @@
1
+ # Architecture
2
+
3
+ Authoring guidance: `.claude/standards/architecture.md`.
4
+
5
+ ## Overview
6
+
7
+ ## Key technical decisions
8
+
9
+ ### Decision name
10
+
11
+ Reasoning and tradeoffs.
12
+
13
+ ## Risks / open questions
@@ -0,0 +1,62 @@
1
+ # Design
2
+
3
+ Authoring guidance: `.claude/standards/design.md`.
4
+
5
+ ## Personality
6
+
7
+ One paragraph. Voice, tone, and the feeling a user should have. The same content a design intake form asks for.
8
+
9
+ ## Color
10
+
11
+ One row per role. Intent is a short phrase a human can picture. Value is a hex or a named system token.
12
+
13
+ | Role | Intent | Value |
14
+ | ---------- | ----------------------------- | ----- |
15
+ | background | page canvas | |
16
+ | surface | cards, panels, raised blocks | |
17
+ | text | primary body text | |
18
+ | muted | secondary text, captions | |
19
+ | accent | links, primary action | |
20
+ | success | confirmations, positive state | |
21
+ | warning | cautions, pending state | |
22
+ | error | failures, destructive action | |
23
+
24
+ ## Typography
25
+
26
+ One row per role. Size and line height in pixels or rem. Family names use their product casing.
27
+
28
+ | Role | Family | Weight | Size | Line height |
29
+ | ------- | ------ | ------ | ---- | ----------- |
30
+ | display | | | | |
31
+ | heading | | | | |
32
+ | body | | | | |
33
+ | label | | | | |
34
+ | code | | | | |
35
+
36
+ ## Spacing
37
+
38
+ Base unit and scale. The renderer draws a swatch per step.
39
+
40
+ | Step | Multiplier | Value |
41
+ | ---- | ---------- | ----- |
42
+ | xs | 0.5 | |
43
+ | sm | 1 | |
44
+ | md | 2 | |
45
+ | lg | 3 | |
46
+ | xl | 5 | |
47
+
48
+ ## Borders
49
+
50
+ | Role | Radius | Width | When used |
51
+ | ------- | ------ | ----- | --------------------- |
52
+ | default | | | cards, inputs |
53
+ | pill | | | tags, status chips |
54
+ | none | 0 | 0 | edge-to-edge surfaces |
55
+
56
+ ## Motion
57
+
58
+ One line. State whether motion is used at all, and if so, the default duration and easing.
59
+
60
+ ## Iconography
61
+
62
+ One line. Style (outline, filled, duotone), source library, and whether custom icons are allowed.
@@ -0,0 +1,18 @@
1
+ # Requirements
2
+
3
+ Authoring guidance: `.claude/standards/requirements.md`.
4
+
5
+ ## Problem
6
+
7
+ ## Goals
8
+
9
+ ## Non-goals
10
+
11
+ ## MVP features
12
+
13
+ 1. Feature: description
14
+ 2. Feature: description
15
+
16
+ ## Tech stack
17
+
18
+ ## Constraints
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Context
3
+ subtitle: Per-domain narrative loaded on demand
4
+ ---
5
+
6
+ # Context
7
+
8
+ Per-domain narrative loaded on demand