@jaimevalasek/aioson 1.3.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 (288) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/CODE_OF_CONDUCT.md +12 -0
  3. package/CONTRIBUTING.md +13 -0
  4. package/LICENSE +21 -0
  5. package/README.md +254 -0
  6. package/bin/aioson.js +4 -0
  7. package/docs/en/cli-reference.md +398 -0
  8. package/docs/en/i18n.md +52 -0
  9. package/docs/en/json-schemas.md +41 -0
  10. package/docs/en/mcp.md +56 -0
  11. package/docs/en/parallel.md +82 -0
  12. package/docs/en/qa-browser.md +339 -0
  13. package/docs/en/release-flow.md +22 -0
  14. package/docs/en/release-notes-template.md +41 -0
  15. package/docs/en/release.md +28 -0
  16. package/docs/en/schemas/agent-prompt.schema.json +17 -0
  17. package/docs/en/schemas/agents.schema.json +32 -0
  18. package/docs/en/schemas/context-validate.schema.json +36 -0
  19. package/docs/en/schemas/doctor.schema.json +89 -0
  20. package/docs/en/schemas/error.schema.json +24 -0
  21. package/docs/en/schemas/i18n-add.schema.json +15 -0
  22. package/docs/en/schemas/index.json +116 -0
  23. package/docs/en/schemas/info.schema.json +39 -0
  24. package/docs/en/schemas/init.schema.json +48 -0
  25. package/docs/en/schemas/install.schema.json +60 -0
  26. package/docs/en/schemas/locale-apply.schema.json +30 -0
  27. package/docs/en/schemas/mcp-doctor.schema.json +95 -0
  28. package/docs/en/schemas/mcp-init.schema.json +122 -0
  29. package/docs/en/schemas/package-test.schema.json +24 -0
  30. package/docs/en/schemas/parallel-assign.schema.json +57 -0
  31. package/docs/en/schemas/parallel-doctor.schema.json +86 -0
  32. package/docs/en/schemas/parallel-init.schema.json +53 -0
  33. package/docs/en/schemas/parallel-status.schema.json +94 -0
  34. package/docs/en/schemas/setup-context.schema.json +39 -0
  35. package/docs/en/schemas/smoke.schema.json +23 -0
  36. package/docs/en/schemas/update.schema.json +48 -0
  37. package/docs/en/schemas/workflow-plan.schema.json +30 -0
  38. package/docs/en/web3.md +54 -0
  39. package/docs/pt/README.md +46 -0
  40. package/docs/pt/advisor-spec.md +335 -0
  41. package/docs/pt/agentes.md +453 -0
  42. package/docs/pt/cenarios.md +1230 -0
  43. package/docs/pt/clientes-ai.md +224 -0
  44. package/docs/pt/comandos-cli.md +511 -0
  45. package/docs/pt/genome-3.0-spec.md +296 -0
  46. package/docs/pt/guia-engineer.md +226 -0
  47. package/docs/pt/inicio-rapido.md +138 -0
  48. package/docs/pt/profiler-system.md +214 -0
  49. package/docs/pt/runtime-observability.md +72 -0
  50. package/docs/pt/squad-genoma.md +777 -0
  51. package/docs/pt/web3.md +797 -0
  52. package/docs/testing/genome-2.0-manual-regression.md +23 -0
  53. package/docs/testing/genome-2.0-matrix.md +36 -0
  54. package/docs/testing/genome-2.0-rollout.md +184 -0
  55. package/package.json +50 -0
  56. package/src/agents.js +56 -0
  57. package/src/cli.js +497 -0
  58. package/src/commands/agents.js +142 -0
  59. package/src/commands/cloud.js +1767 -0
  60. package/src/commands/config.js +90 -0
  61. package/src/commands/context-validate.js +91 -0
  62. package/src/commands/doctor.js +123 -0
  63. package/src/commands/genome-doctor.js +41 -0
  64. package/src/commands/genome-migrate.js +49 -0
  65. package/src/commands/i18n-add.js +56 -0
  66. package/src/commands/info.js +41 -0
  67. package/src/commands/init.js +75 -0
  68. package/src/commands/install.js +68 -0
  69. package/src/commands/locale-apply.js +51 -0
  70. package/src/commands/locale-diff.js +126 -0
  71. package/src/commands/mcp-doctor.js +406 -0
  72. package/src/commands/mcp-init.js +379 -0
  73. package/src/commands/package-e2e.js +273 -0
  74. package/src/commands/parallel-assign.js +403 -0
  75. package/src/commands/parallel-doctor.js +437 -0
  76. package/src/commands/parallel-init.js +249 -0
  77. package/src/commands/parallel-status.js +290 -0
  78. package/src/commands/qa-doctor.js +185 -0
  79. package/src/commands/qa-init.js +161 -0
  80. package/src/commands/qa-report.js +58 -0
  81. package/src/commands/qa-run.js +873 -0
  82. package/src/commands/qa-scan.js +337 -0
  83. package/src/commands/runtime.js +948 -0
  84. package/src/commands/scan-project.js +1107 -0
  85. package/src/commands/setup-context.js +650 -0
  86. package/src/commands/smoke.js +426 -0
  87. package/src/commands/squad-doctor.js +358 -0
  88. package/src/commands/squad-export.js +46 -0
  89. package/src/commands/squad-pipeline.js +97 -0
  90. package/src/commands/squad-repair-genomes.js +39 -0
  91. package/src/commands/squad-status.js +424 -0
  92. package/src/commands/squad-validate.js +230 -0
  93. package/src/commands/test-agents.js +194 -0
  94. package/src/commands/update.js +55 -0
  95. package/src/commands/workflow-next.js +594 -0
  96. package/src/commands/workflow-plan.js +108 -0
  97. package/src/constants.js +314 -0
  98. package/src/context-parse-reason.js +22 -0
  99. package/src/context-writer.js +150 -0
  100. package/src/context.js +217 -0
  101. package/src/detector.js +261 -0
  102. package/src/doctor.js +289 -0
  103. package/src/execution-gateway.js +461 -0
  104. package/src/genome-files.js +198 -0
  105. package/src/genome-format.js +442 -0
  106. package/src/genome-schema.js +215 -0
  107. package/src/genomes/bindings.js +281 -0
  108. package/src/genomes.js +467 -0
  109. package/src/i18n/index.js +103 -0
  110. package/src/i18n/messages/en.js +784 -0
  111. package/src/i18n/messages/es.js +718 -0
  112. package/src/i18n/messages/fr.js +725 -0
  113. package/src/i18n/messages/pt-BR.js +818 -0
  114. package/src/i18n/scaffold.js +64 -0
  115. package/src/installer.js +232 -0
  116. package/src/lib/genomes/compat.js +206 -0
  117. package/src/lib/genomes/migrate.js +90 -0
  118. package/src/lib/squads/genome-repair.js +49 -0
  119. package/src/locales.js +84 -0
  120. package/src/onboarding.js +305 -0
  121. package/src/parser.js +53 -0
  122. package/src/prompt-tool.js +20 -0
  123. package/src/qa-html-report.js +472 -0
  124. package/src/runtime-store.js +1527 -0
  125. package/src/squads/apply-genome.js +21 -0
  126. package/src/squads/genome-binding-service.js +154 -0
  127. package/src/updater.js +32 -0
  128. package/src/utils.js +46 -0
  129. package/src/version.js +50 -0
  130. package/template/.aioson/advisors/.gitkeep +1 -0
  131. package/template/.aioson/agents/analyst.md +225 -0
  132. package/template/.aioson/agents/architect.md +221 -0
  133. package/template/.aioson/agents/dev.md +201 -0
  134. package/template/.aioson/agents/discovery-design-doc.md +196 -0
  135. package/template/.aioson/agents/genoma.md +300 -0
  136. package/template/.aioson/agents/orchestrator.md +107 -0
  137. package/template/.aioson/agents/pm.md +89 -0
  138. package/template/.aioson/agents/product.md +361 -0
  139. package/template/.aioson/agents/profiler-enricher.md +266 -0
  140. package/template/.aioson/agents/profiler-forge.md +188 -0
  141. package/template/.aioson/agents/profiler-researcher.md +245 -0
  142. package/template/.aioson/agents/qa.md +344 -0
  143. package/template/.aioson/agents/setup.md +381 -0
  144. package/template/.aioson/agents/squad.md +837 -0
  145. package/template/.aioson/agents/ux-ui.md +416 -0
  146. package/template/.aioson/config.md +56 -0
  147. package/template/.aioson/context/.gitkeep +0 -0
  148. package/template/.aioson/context/parallel/.gitkeep +0 -0
  149. package/template/.aioson/context/spec.md.template +37 -0
  150. package/template/.aioson/genomas/.gitkeep +0 -0
  151. package/template/.aioson/locales/en/agents/analyst.md +214 -0
  152. package/template/.aioson/locales/en/agents/architect.md +210 -0
  153. package/template/.aioson/locales/en/agents/dev.md +187 -0
  154. package/template/.aioson/locales/en/agents/discovery-design-doc.md +27 -0
  155. package/template/.aioson/locales/en/agents/genoma.md +212 -0
  156. package/template/.aioson/locales/en/agents/orchestrator.md +105 -0
  157. package/template/.aioson/locales/en/agents/pm.md +77 -0
  158. package/template/.aioson/locales/en/agents/product.md +310 -0
  159. package/template/.aioson/locales/en/agents/profiler-enricher.md +5 -0
  160. package/template/.aioson/locales/en/agents/profiler-forge.md +5 -0
  161. package/template/.aioson/locales/en/agents/profiler-researcher.md +5 -0
  162. package/template/.aioson/locales/en/agents/qa.md +214 -0
  163. package/template/.aioson/locales/en/agents/setup.md +342 -0
  164. package/template/.aioson/locales/en/agents/squad.md +247 -0
  165. package/template/.aioson/locales/en/agents/ux-ui.md +320 -0
  166. package/template/.aioson/locales/es/agents/analyst.md +203 -0
  167. package/template/.aioson/locales/es/agents/architect.md +208 -0
  168. package/template/.aioson/locales/es/agents/dev.md +183 -0
  169. package/template/.aioson/locales/es/agents/discovery-design-doc.md +19 -0
  170. package/template/.aioson/locales/es/agents/genoma.md +102 -0
  171. package/template/.aioson/locales/es/agents/orchestrator.md +108 -0
  172. package/template/.aioson/locales/es/agents/pm.md +81 -0
  173. package/template/.aioson/locales/es/agents/product.md +310 -0
  174. package/template/.aioson/locales/es/agents/profiler-enricher.md +5 -0
  175. package/template/.aioson/locales/es/agents/profiler-forge.md +5 -0
  176. package/template/.aioson/locales/es/agents/profiler-researcher.md +5 -0
  177. package/template/.aioson/locales/es/agents/qa.md +163 -0
  178. package/template/.aioson/locales/es/agents/setup.md +347 -0
  179. package/template/.aioson/locales/es/agents/squad.md +247 -0
  180. package/template/.aioson/locales/es/agents/ux-ui.md +201 -0
  181. package/template/.aioson/locales/fr/agents/analyst.md +203 -0
  182. package/template/.aioson/locales/fr/agents/architect.md +208 -0
  183. package/template/.aioson/locales/fr/agents/dev.md +183 -0
  184. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +19 -0
  185. package/template/.aioson/locales/fr/agents/genoma.md +102 -0
  186. package/template/.aioson/locales/fr/agents/orchestrator.md +108 -0
  187. package/template/.aioson/locales/fr/agents/pm.md +81 -0
  188. package/template/.aioson/locales/fr/agents/product.md +310 -0
  189. package/template/.aioson/locales/fr/agents/profiler-enricher.md +5 -0
  190. package/template/.aioson/locales/fr/agents/profiler-forge.md +5 -0
  191. package/template/.aioson/locales/fr/agents/profiler-researcher.md +5 -0
  192. package/template/.aioson/locales/fr/agents/qa.md +163 -0
  193. package/template/.aioson/locales/fr/agents/setup.md +347 -0
  194. package/template/.aioson/locales/fr/agents/squad.md +247 -0
  195. package/template/.aioson/locales/fr/agents/ux-ui.md +201 -0
  196. package/template/.aioson/locales/pt-BR/agents/analyst.md +217 -0
  197. package/template/.aioson/locales/pt-BR/agents/architect.md +213 -0
  198. package/template/.aioson/locales/pt-BR/agents/dev.md +198 -0
  199. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +198 -0
  200. package/template/.aioson/locales/pt-BR/agents/genoma.md +297 -0
  201. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +108 -0
  202. package/template/.aioson/locales/pt-BR/agents/pm.md +81 -0
  203. package/template/.aioson/locales/pt-BR/agents/product.md +316 -0
  204. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +5 -0
  205. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +5 -0
  206. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +5 -0
  207. package/template/.aioson/locales/pt-BR/agents/qa.md +217 -0
  208. package/template/.aioson/locales/pt-BR/agents/setup.md +371 -0
  209. package/template/.aioson/locales/pt-BR/agents/squad.md +772 -0
  210. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +322 -0
  211. package/template/.aioson/mcp/servers.md +24 -0
  212. package/template/.aioson/profiler-reports/.gitkeep +1 -0
  213. package/template/.aioson/schemas/content-blueprint.schema.json +30 -0
  214. package/template/.aioson/schemas/genome-meta.schema.json +150 -0
  215. package/template/.aioson/schemas/genome.schema.json +115 -0
  216. package/template/.aioson/schemas/readiness.schema.json +27 -0
  217. package/template/.aioson/schemas/squad-blueprint.schema.json +172 -0
  218. package/template/.aioson/schemas/squad-manifest.schema.json +276 -0
  219. package/template/.aioson/skills/dynamic/README.md +30 -0
  220. package/template/.aioson/skills/dynamic/cardano-docs.md +16 -0
  221. package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -0
  222. package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -0
  223. package/template/.aioson/skills/dynamic/laravel-docs.md +41 -0
  224. package/template/.aioson/skills/dynamic/npm-packages.md +16 -0
  225. package/template/.aioson/skills/dynamic/solana-docs.md +16 -0
  226. package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -0
  227. package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -0
  228. package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -0
  229. package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -0
  230. package/template/.aioson/skills/static/django-patterns.md +342 -0
  231. package/template/.aioson/skills/static/fastapi-patterns.md +344 -0
  232. package/template/.aioson/skills/static/filament-patterns.md +267 -0
  233. package/template/.aioson/skills/static/flux-ui-components.md +262 -0
  234. package/template/.aioson/skills/static/git-conventions.md +227 -0
  235. package/template/.aioson/skills/static/interface-design.md +372 -0
  236. package/template/.aioson/skills/static/jetstream-setup.md +200 -0
  237. package/template/.aioson/skills/static/laravel-conventions.md +491 -0
  238. package/template/.aioson/skills/static/nextjs-patterns.md +321 -0
  239. package/template/.aioson/skills/static/node-express-patterns.md +317 -0
  240. package/template/.aioson/skills/static/node-typescript-patterns.md +282 -0
  241. package/template/.aioson/skills/static/premium-command-center-ui.md +190 -0
  242. package/template/.aioson/skills/static/rails-conventions.md +307 -0
  243. package/template/.aioson/skills/static/react-motion-patterns.md +577 -0
  244. package/template/.aioson/skills/static/static-html-patterns.md +1935 -0
  245. package/template/.aioson/skills/static/tall-stack-patterns.md +286 -0
  246. package/template/.aioson/skills/static/ui-ux-modern.md +75 -0
  247. package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -0
  248. package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -0
  249. package/template/.aioson/skills/static/web3-security-checklist.md +284 -0
  250. package/template/.aioson/skills/static/web3-solana-patterns.md +324 -0
  251. package/template/.aioson/squads/.artisan/.gitkeep +0 -0
  252. package/template/.aioson/squads/.gitkeep +0 -0
  253. package/template/.aioson/squads/memory.md +5 -0
  254. package/template/.aioson/tasks/squad-analyze.md +83 -0
  255. package/template/.aioson/tasks/squad-create.md +99 -0
  256. package/template/.aioson/tasks/squad-design.md +100 -0
  257. package/template/.aioson/tasks/squad-export.md +20 -0
  258. package/template/.aioson/tasks/squad-extend.md +68 -0
  259. package/template/.aioson/tasks/squad-pipeline.md +122 -0
  260. package/template/.aioson/tasks/squad-repair.md +85 -0
  261. package/template/.aioson/tasks/squad-validate.md +58 -0
  262. package/template/.aioson/templates/squads/content-basic/template.json +21 -0
  263. package/template/.aioson/templates/squads/media-channel/template.json +24 -0
  264. package/template/.aioson/templates/squads/research-analysis/template.json +22 -0
  265. package/template/.aioson/templates/squads/software-delivery/template.json +21 -0
  266. package/template/.claude/commands/aioson/analyst.md +5 -0
  267. package/template/.claude/commands/aioson/architect.md +5 -0
  268. package/template/.claude/commands/aioson/dev.md +5 -0
  269. package/template/.claude/commands/aioson/orchestrator.md +5 -0
  270. package/template/.claude/commands/aioson/pm.md +5 -0
  271. package/template/.claude/commands/aioson/qa.md +5 -0
  272. package/template/.claude/commands/aioson/setup.md +5 -0
  273. package/template/.claude/commands/aioson/ux-ui.md +5 -0
  274. package/template/.gemini/GEMINI.md +10 -0
  275. package/template/.gemini/commands/aios-analyst.toml +4 -0
  276. package/template/.gemini/commands/aios-architect.toml +7 -0
  277. package/template/.gemini/commands/aios-dev.toml +8 -0
  278. package/template/.gemini/commands/aios-discovery-design-doc.toml +4 -0
  279. package/template/.gemini/commands/aios-orchestrator.toml +8 -0
  280. package/template/.gemini/commands/aios-pm.toml +8 -0
  281. package/template/.gemini/commands/aios-product.toml +4 -0
  282. package/template/.gemini/commands/aios-qa.toml +6 -0
  283. package/template/.gemini/commands/aios-setup.toml +3 -0
  284. package/template/.gemini/commands/aios-ux-ui.toml +8 -0
  285. package/template/AGENTS.md +67 -0
  286. package/template/CLAUDE.md +31 -0
  287. package/template/OPENCODE.md +24 -0
  288. package/template/aioson-models.json +40 -0
package/README.md ADDED
@@ -0,0 +1,254 @@
1
+ # AIOSON
2
+
3
+ AI operating framework for hyper-personalized software.
4
+
5
+ ## Requirements
6
+
7
+ **Core**
8
+
9
+ | Requirement | Version | Notes |
10
+ |-------------|---------|-------|
11
+ | Node.js | ≥ 18.0.0 | Required by the CLI itself |
12
+ | An AI CLI tool | — | At least one: [Claude Code](https://claude.ai/code), [Codex CLI](https://github.com/openai/codex), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or [OpenCode](https://opencode.ai) |
13
+
14
+ **Optional — by feature**
15
+
16
+ | Feature | Extra requirement |
17
+ |---------|-------------------|
18
+ | `scan:project` (brownfield scanner) | `aioson-models.json` with a cheap LLM API key (DeepSeek, OpenAI, Gemini, Groq, Together, Mistral, or Anthropic) |
19
+ | `qa:run` / `qa:scan` (browser QA) | Playwright + Chromium: `npm install -g playwright && npx playwright install chromium` |
20
+ | `mcp:init` / `mcp:doctor` | MCP-compatible tool (Claude Code, Gemini CLI, OpenCode, or Codex CLI with MCP support) |
21
+ | Web3 support | Project must use a supported chain toolchain (Hardhat, Foundry, Anchor, etc.) |
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ npm install -g @jaimevalasek/aioson
27
+ # then use:
28
+ aioson init my-project
29
+
30
+ # one-off execution without global install
31
+ npx @jaimevalasek/aioson init my-project
32
+ # or
33
+ npx @jaimevalasek/aioson install
34
+ ```
35
+
36
+ ## Legacy projects and custom stacks
37
+ You can run AIOSON on existing/legacy projects (not only new projects).
38
+
39
+ ```bash
40
+ # inside an existing project
41
+ npx @jaimevalasek/aioson install .
42
+ aioson setup:context . --defaults --framework="CodeIgniter 3" --backend="CodeIgniter 3" --database="MySQL"
43
+
44
+ # generate discovery.md + skeleton-system.md using a cheap LLM (saves tokens in your AI session)
45
+ # requires aioson-models.json with your API key
46
+ aioson scan:project
47
+ ```
48
+
49
+ If your stack is not listed in menus, use free-text values via `--framework`, `--backend`, `--frontend`, `--database`, `--auth`, and `--uiux`.
50
+
51
+ The npm package is scoped as `@jaimevalasek/aioson`, but the installed CLI commands remain `aioson` and `aios`.
52
+
53
+ ## Commands
54
+
55
+ **Setup and install**
56
+ - [`aioson init`](docs/en/cli-reference.md#init) `<project-name> [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode]`
57
+ - [`aioson install`](docs/en/cli-reference.md#install) `[path] [--lang=en|pt-BR|es|fr] [--tool=codex|claude|gemini|opencode]`
58
+ - [`aioson update`](docs/en/cli-reference.md#update) `[path] [--lang=en|pt-BR|es|fr]`
59
+ - [`aioson info`](docs/en/cli-reference.md#info) `[path] [--json]`
60
+ - [`aioson doctor`](docs/en/cli-reference.md#doctor) `[path] [--fix] [--dry-run] [--json]`
61
+ - [`aioson setup:context`](docs/en/cli-reference.md#setupcontext) `[path] [--defaults] [--framework=<name>] [--lang=en|pt-BR|es|fr]`
62
+ - [`aioson context:validate`](docs/en/cli-reference.md#contextvalidate) `[path] [--json]`
63
+ - [`aioson scan:project`](docs/en/cli-reference.md#scanproject) `[path] [--provider=<name>] [--dry-run] [--json]`
64
+
65
+ **Agents**
66
+ - [`aioson agents`](docs/en/cli-reference.md#agents)
67
+ - [`aioson agent:prompt`](docs/en/cli-reference.md#agentprompt) `<agent> [--tool=codex|claude|gemini|opencode]`
68
+ - [`aioson workflow:plan`](docs/en/cli-reference.md#workflowplan) `[path] [--classification=MICRO|SMALL|MEDIUM] [--json]`
69
+
70
+ **Locale**
71
+ - [`aioson i18n:add`](docs/en/i18n.md#create-a-locale-scaffold) `<locale>`
72
+ - [`aioson locale:apply`](docs/en/i18n.md#apply-localized-agent-prompts) `[path] [--lang=en|pt-BR|es|fr]`
73
+
74
+ **Parallel orchestration**
75
+ - [`aioson parallel:init`](docs/en/parallel.md) `[path] [--workers=2..6] [--force] [--dry-run] [--json]`
76
+ - [`aioson parallel:assign`](docs/en/parallel.md#scope-assignment) `[path] [--source=auto|prd|architecture|discovery|<file>] [--workers=2..6] [--force] [--dry-run] [--json]`
77
+ - [`aioson parallel:status`](docs/en/parallel.md#status-overview) `[path] [--json]`
78
+ - [`aioson parallel:doctor`](docs/en/parallel.md#diagnose-and-repair) `[path] [--workers=2..6] [--fix] [--force] [--dry-run] [--json]`
79
+
80
+ **MCP**
81
+ - [`aioson mcp:init`](docs/en/mcp.md#mcpinit) `[path] [--tool=claude|codex|gemini|opencode] [--dry-run] [--json]`
82
+ - [`aioson mcp:doctor`](docs/en/mcp.md#mcpdoctor) `[path] [--strict-env] [--json]`
83
+
84
+ **Browser QA (Playwright)**
85
+ - [`aioson qa:init`](docs/en/qa-browser.md#qainit) `[path] [--url=<app-url>] [--dry-run] [--json]`
86
+ - [`aioson qa:doctor`](docs/en/qa-browser.md#qadoctor) `[path] [--json]`
87
+ - [`aioson qa:run`](docs/en/qa-browser.md#qarun) `[path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json]`
88
+ - [`aioson qa:scan`](docs/en/qa-browser.md#qascan) `[path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json]`
89
+ - [`aioson qa:report`](docs/en/qa-browser.md#qareport) `[path] [--html] [--json]`
90
+
91
+ **Testing and validation (CI / contributors)**
92
+ - [`aioson test:smoke`](docs/en/cli-reference.md#testsmoke) `[workspace-path] [--lang=en|pt-BR|es|fr] [--web3=ethereum|solana|cardano] [--profile=standard|mixed|parallel] [--keep] [--json]`
93
+ - [`aioson test:package`](docs/en/cli-reference.md#testpackage) `[source-path] [--keep] [--dry-run] [--json]`
94
+
95
+ ## Agent usage helper
96
+
97
+ If your AI CLI does not show a visual agent picker, these commands let you interact with agents directly from the terminal. See the [CLI reference](docs/en/cli-reference.md) for full docs on each.
98
+
99
+ **Discover agents**
100
+ - [`aioson agents`](docs/en/cli-reference.md#agents) — list all agents and their paths
101
+ - [`aioson agent:prompt setup --tool=codex`](docs/en/cli-reference.md#agentprompt) — get activation prompt for any agent
102
+ - [`aioson workflow:plan --classification=SMALL`](docs/en/cli-reference.md#workflowplan) — see the recommended agent sequence
103
+
104
+ **Setup and locale**
105
+ - [`aioson init my-project --lang=pt-BR --tool=codex`](docs/en/cli-reference.md#init)
106
+ - [`aioson install --lang=es --tool=claude`](docs/en/cli-reference.md#install)
107
+ - [`aioson update --lang=fr`](docs/en/cli-reference.md#update)
108
+ - [`aioson locale:apply --lang=pt-BR`](docs/en/i18n.md#apply-localized-agent-prompts)
109
+
110
+ **Maintenance**
111
+ - [`aioson doctor --fix`](docs/en/cli-reference.md#doctor) — restore any missing managed files
112
+
113
+ **Parallel orchestration**
114
+ - [`aioson parallel:init --workers=3`](docs/en/parallel.md)
115
+ - [`aioson parallel:assign --source=architecture --workers=3`](docs/en/parallel.md#scope-assignment)
116
+ - [`aioson parallel:status`](docs/en/parallel.md#status-overview)
117
+ - [`aioson parallel:doctor --fix --dry-run`](docs/en/parallel.md#diagnose-and-repair)
118
+
119
+ **MCP**
120
+ - [`aioson mcp:init --dry-run`](docs/en/mcp.md#mcpinit)
121
+ - [`aioson mcp:doctor --strict-env`](docs/en/mcp.md#mcpdoctor)
122
+
123
+ **Browser QA**
124
+ - [`aioson qa:init --url=http://localhost:3000`](docs/en/qa-browser.md#qainit)
125
+ - [`aioson qa:doctor`](docs/en/qa-browser.md#qadoctor)
126
+ - [`aioson qa:run --persona=hacker`](docs/en/qa-browser.md#qarun)
127
+ - [`aioson qa:run --html`](docs/en/qa-browser.md#html-reports) — visual HTML report in `reports/`
128
+ - [`aioson qa:scan --depth=2 --max-pages=30`](docs/en/qa-browser.md#qascan)
129
+ - [`aioson qa:report --html`](docs/en/qa-browser.md#html-reports) — retroactive HTML from last run
130
+ - [`aioson qa:report`](docs/en/qa-browser.md#qareport)
131
+
132
+ **Integration tests (CI)**
133
+ - [`aioson test:smoke --lang=pt-BR`](docs/en/cli-reference.md#testsmoke)
134
+ - [`aioson test:smoke --web3=ethereum`](docs/en/cli-reference.md#testsmoke)
135
+ - [`aioson test:smoke --profile=parallel`](docs/en/cli-reference.md#testsmoke)
136
+ - [`aioson test:package --dry-run`](docs/en/cli-reference.md#testpackage)
137
+
138
+ Default planning includes `@product` → `@ux-ui` for SMALL/MEDIUM projects.
139
+
140
+ ## JSON output for CI
141
+ Use `--json` on selected commands. See [JSON schemas](docs/en/json-schemas.md) for output contracts.
142
+ - `aioson init <project-name> --json`
143
+ - `aioson install [path] --json`
144
+ - `aioson update [path] --json`
145
+ - `aioson agents [path] --json`
146
+ - `aioson agent:prompt <agent> [path] --json`
147
+ - `aioson locale:apply [path] --json`
148
+ - `aioson setup:context [path] --defaults --json`
149
+ - `aioson i18n:add <locale> --dry-run --json`
150
+ - `aioson info --json`
151
+ - `aioson doctor --json`
152
+ - `aioson context:validate --json`
153
+ - `aioson test:smoke --json`
154
+ - `aioson parallel:init --json`
155
+ - `aioson parallel:assign --json`
156
+ - `aioson parallel:status --json`
157
+ - `aioson parallel:doctor --json`
158
+ - `aioson mcp:doctor --json`
159
+ - `aioson qa:run --json`
160
+ - `aioson qa:scan --json`
161
+ - `aioson qa:doctor --json`
162
+ - `aioson qa:report --json`
163
+ - `aioson scan:project --json`
164
+
165
+ ## i18n
166
+ CLI localization is supported with:
167
+ - `--locale=<code>`
168
+ - `AIOS_LITE_LOCALE=<code>`
169
+
170
+ Built-in locales: `en`, `pt-BR`, `es`, `fr`.
171
+ Default locale is `en`.
172
+ `pt`, `pt_br`, and `pt-BR` resolve to the same Portuguese dictionary.
173
+ `es-*` resolves to `es`, and `fr-*` resolves to `fr`.
174
+ Localized agent packs are built-in for `en`, `pt-BR`, `es`, and `fr`.
175
+
176
+ Generate a new locale scaffold:
177
+
178
+ ```bash
179
+ aioson i18n:add fr
180
+ ```
181
+
182
+ ## Multi-IDE support
183
+ - Claude Code (`CLAUDE.md`)
184
+ - Codex CLI (`AGENTS.md`)
185
+ - Gemini CLI (`.gemini/GEMINI.md`)
186
+ - OpenCode (`OPENCODE.md`)
187
+
188
+ ## Web3 support
189
+ See the [Web3 guide](docs/en/web3.md) for the full reference.
190
+ - `project_type=dapp` is supported in context validation and setup.
191
+ - Framework detection now includes:
192
+ - Ethereum: `Hardhat`, `Foundry`, `Truffle`
193
+ - Solana: `Anchor`, `Solana Web3`
194
+ - Cardano: `Cardano` (Aiken/Cardano SDK signals)
195
+ - `setup:context` supports Web3 fields:
196
+ - `--web3-enabled=true|false`
197
+ - `--web3-networks=ethereum,solana`
198
+ - `--contract-framework=Hardhat`
199
+ - `--wallet-provider=wagmi`
200
+ - `--indexer=The Graph`
201
+ - `--rpc-provider=Alchemy`
202
+
203
+ ## Docs
204
+
205
+ **CLI reference**
206
+ - [CLI reference](docs/en/cli-reference.md) — `init`, `install`, `update`, `info`, `doctor`, `setup:context`, `context:validate`, `agents`, `agent:prompt`, `workflow:plan`, `test:smoke`, `test:package`
207
+
208
+ **Feature guides**
209
+ - [i18n guide](docs/en/i18n.md) — `i18n:add`, `locale:apply`, locale resolution
210
+ - [Parallel orchestration](docs/en/parallel.md) — `parallel:init`, `parallel:assign`, `parallel:status`, `parallel:doctor`
211
+ - [MCP guide](docs/en/mcp.md) — `mcp:init`, `mcp:doctor`
212
+ - [Browser QA guide](docs/en/qa-browser.md) — `qa:init`, `qa:doctor`, `qa:run`, `qa:scan`, `qa:report`
213
+ - [Web3 guide](docs/en/web3.md) — `project_type=dapp`, framework detection, Web3 context fields
214
+ - [JSON schemas](docs/en/json-schemas.md) — `--json` output contracts for all commands
215
+
216
+ **Release (internal)**
217
+ - [Release guide](docs/en/release.md)
218
+ - [Release flow](docs/en/release-flow.md)
219
+ - [Release notes template](docs/en/release-notes-template.md)
220
+
221
+ **Portuguese guides**
222
+ - [Início rápido](docs/pt/inicio-rapido.md)
223
+ - [Guia de agentes](docs/pt/agentes.md)
224
+ - [Squad e Genoma](docs/pt/squad-genoma.md)
225
+ - [Cenários de uso](docs/pt/cenarios.md)
226
+ - [Clientes AI](docs/pt/clientes-ai.md)
227
+ - [Guia do engenheiro](docs/pt/guia-engineer.md)
228
+
229
+ ## MCP bootstrap
230
+ Generate a local MCP server recommendation file from `project.context.md`:
231
+
232
+ ```bash
233
+ aioson mcp:init
234
+ aioson mcp:init --dry-run
235
+ aioson mcp:init --tool=codex
236
+ aioson mcp:doctor
237
+ aioson mcp:doctor --strict-env
238
+ ```
239
+
240
+ `mcp:init` generates:
241
+ - `.aioson/mcp/servers.local.json` (project MCP plan)
242
+ - `.aioson/mcp/presets/<tool>.json` (tool-specific preset templates)
243
+ - Context7/Database presets in remote-endpoint mode (`mcp-remote`) using:
244
+ - `CONTEXT7_MCP_URL`
245
+ - `DATABASE_MCP_URL` (when database MCP is enabled)
246
+
247
+ `mcp:doctor` validates:
248
+ - core MCP servers (`filesystem`, `context7`)
249
+ - preset coverage
250
+ - required env vars from enabled servers
251
+ - context compatibility for database and Web3 (`chain-rpc`)
252
+
253
+ ## License
254
+ MIT
package/bin/aioson.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ require('../src/cli.js');
@@ -0,0 +1,398 @@
1
+ # CLI Reference
2
+
3
+ Complete reference for all `aioson` commands.
4
+
5
+ ---
6
+
7
+ ## init
8
+
9
+ Create a new project directory and install AIOSON inside it.
10
+
11
+ ```bash
12
+ aioson init <project-name>
13
+ aioson init my-app --lang=pt-BR
14
+ aioson init my-app --tool=codex
15
+ aioson init my-app --lang=es --tool=gemini --json
16
+ ```
17
+
18
+ **Options:**
19
+ - `--lang=en|pt-BR|es|fr` — sets `conversation_language` in the generated context and applies the matching agent locale pack. Default: `en`.
20
+ - `--tool=codex|claude|gemini|opencode` — configures the primary AI client. Affects which gateway file is used. Default: `codex`.
21
+ - `--json` — prints structured JSON result instead of human-readable output.
22
+
23
+ **What it does:**
24
+ 1. Creates `<project-name>/` directory.
25
+ 2. Copies all template files into it.
26
+ 3. Applies the selected locale pack.
27
+ 4. Prints the recommended first command (`@setup`).
28
+
29
+ ---
30
+
31
+ ## install
32
+
33
+ Install AIOSON in an existing directory (or the current directory).
34
+
35
+ ```bash
36
+ aioson install
37
+ aioson install ./my-project
38
+ aioson install --lang=pt-BR --tool=claude
39
+ ```
40
+
41
+ **Options:** same as `init`.
42
+
43
+ **Use this when:**
44
+ - The project already exists (legacy codebase, existing repo).
45
+ - You want to add AIOSON to a monorepo package.
46
+
47
+ ---
48
+
49
+ ## update
50
+
51
+ Update managed files to the latest template version. Preserves context files and anything not in the managed file list.
52
+
53
+ ```bash
54
+ aioson update
55
+ aioson update ./my-project
56
+ aioson update --lang=pt-BR
57
+ ```
58
+
59
+ **Options:**
60
+ - `--lang=en|pt-BR|es|fr` — re-applies the locale pack after updating. If omitted, re-applies whatever locale is currently active.
61
+ - `--json` — prints structured JSON result.
62
+
63
+ **What it updates:** all files in the `MANAGED_FILES` list (agents, config, gateway files, skills). Does not touch `project.context.md`, `discovery.md`, `architecture.md`, or other context files you created.
64
+
65
+ ---
66
+
67
+ ## info
68
+
69
+ Show CLI version, installation status, and detected framework for a directory.
70
+
71
+ ```bash
72
+ aioson info
73
+ aioson info ./my-project
74
+ aioson info --json
75
+ ```
76
+
77
+ **Output:**
78
+ ```
79
+ aioson v0.1.25
80
+ Directory: /path/to/my-project
81
+ Installed here: yes
82
+ Framework detected: Laravel
83
+ Evidence: composer.json, artisan
84
+ ```
85
+
86
+ **With `--json`:**
87
+ ```json
88
+ {
89
+ "ok": true,
90
+ "version": "0.1.25",
91
+ "targetDir": "/path/to/my-project",
92
+ "installed": true,
93
+ "detection": {
94
+ "framework": "Laravel",
95
+ "evidence": "composer.json, artisan"
96
+ }
97
+ }
98
+ ```
99
+
100
+ ---
101
+
102
+ ## doctor
103
+
104
+ Verify that all managed files are present and valid. Use `--fix` to restore any missing files.
105
+
106
+ ```bash
107
+ aioson doctor
108
+ aioson doctor ./my-project
109
+ aioson doctor --fix
110
+ aioson doctor --fix --dry-run
111
+ aioson doctor --json
112
+ ```
113
+
114
+ **Options:**
115
+ - `--fix` — copies missing managed files from the template. Does not overwrite existing files.
116
+ - `--dry-run` — shows what `--fix` would do without making changes.
117
+ - `--json` — structured JSON output with per-check results.
118
+
119
+ **Checks performed:**
120
+ - All files in `MANAGED_FILES` exist.
121
+ - Gateway files (`CLAUDE.md`, `AGENTS.md`, `OPENCODE.md`, `.gemini/GEMINI.md`) are present.
122
+ - `.aioson/agents/` directory is populated.
123
+ - `.aioson/context/` directory exists.
124
+
125
+ **Typical workflow after an update:**
126
+ ```bash
127
+ aioson update
128
+ aioson doctor --fix
129
+ ```
130
+
131
+ ---
132
+
133
+ ## setup:context
134
+
135
+ Interactive wizard that creates `.aioson/context/project.context.md`. This is the main context file that all agents read.
136
+
137
+ ```bash
138
+ # Interactive mode
139
+ aioson setup:context
140
+
141
+ # Non-interactive (CI / scripted)
142
+ aioson setup:context --defaults
143
+ aioson setup:context --defaults --framework="Laravel" --backend="PHP" --database="MySQL"
144
+ aioson setup:context --defaults --framework="Next.js" --frontend="React" --lang=pt-BR
145
+ ```
146
+
147
+ **Non-interactive flags:**
148
+ - `--defaults` — skips all prompts, uses detected or provided values.
149
+ - `--framework=<name>` — e.g. `"Laravel"`, `"Next.js"`, `"Django"`, `"Hardhat"`. Any free-text value accepted.
150
+ - `--backend=<name>` — e.g. `"PHP"`, `"Python"`, `"Node.js"`.
151
+ - `--frontend=<name>` — e.g. `"React"`, `"Vue"`, `"Livewire"`.
152
+ - `--database=<name>` — e.g. `"PostgreSQL"`, `"MySQL"`, `"SQLite"`.
153
+ - `--auth=<name>` — e.g. `"Laravel Breeze"`, `"JWT"`, `"None"`.
154
+ - `--uiux=<name>` — e.g. `"Tailwind CSS"`, `"shadcn/ui"`.
155
+ - `--classification=MICRO|SMALL|MEDIUM` — override the auto-calculated score.
156
+ - `--profile=developer|beginner|team` — sets the AI interaction style.
157
+ - `--lang=en|pt-BR|es|fr` — sets `conversation_language`.
158
+ - `--json` — structured JSON output.
159
+
160
+ **Web3 flags:**
161
+ - `--web3-enabled=true|false`
162
+ - `--web3-networks=ethereum,solana`
163
+ - `--contract-framework=Hardhat`
164
+ - `--wallet-provider=wagmi`
165
+ - `--indexer="The Graph"`
166
+ - `--rpc-provider=Alchemy`
167
+
168
+ **Brownfield / legacy project example:**
169
+ ```bash
170
+ aioson install .
171
+ aioson setup:context --defaults --framework="CodeIgniter 3" --backend="PHP" --database="MySQL"
172
+ ```
173
+
174
+ ---
175
+
176
+ ## context:validate
177
+
178
+ Validate the existing `project.context.md` file — checks YAML frontmatter structure, required fields, and allowed values.
179
+
180
+ ```bash
181
+ aioson context:validate
182
+ aioson context:validate ./my-project
183
+ aioson context:validate --json
184
+ ```
185
+
186
+ **What it validates:**
187
+ - File exists at `.aioson/context/project.context.md`.
188
+ - YAML frontmatter is parseable.
189
+ - All required fields are present: `project_name`, `project_type`, `profile`, `framework`, `framework_installed`, `classification`, `conversation_language`, `aioson_version`.
190
+ - `project_type` is one of: `web_app`, `api`, `site`, `script`, `dapp`.
191
+ - `classification` is one of: `MICRO`, `SMALL`, `MEDIUM`.
192
+ - `profile` is one of: `developer`, `beginner`, `team`.
193
+
194
+ **Typical use:** run after manually editing `project.context.md` to confirm it's still valid.
195
+
196
+ ```bash
197
+ # edit project.context.md
198
+ aioson context:validate
199
+ # ✓ project.context.md is valid
200
+ ```
201
+
202
+ ---
203
+
204
+ ## agents
205
+
206
+ List all registered agents with their paths, dependencies, and outputs.
207
+
208
+ ```bash
209
+ aioson agents
210
+ aioson agents ./my-project
211
+ aioson agents --json
212
+ ```
213
+
214
+ **Output example:**
215
+ ```
216
+ Agents (locale: en):
217
+ @setup (setup)
218
+ Path: .aioson/locales/en/agents/setup.md
219
+ Active: .aioson/agents/setup.md
220
+ Depends on: none
221
+ Output: .aioson/context/project.context.md
222
+
223
+ @product (product)
224
+ Path: .aioson/locales/en/agents/product.md
225
+ Active: .aioson/agents/product.md
226
+ Depends on: none
227
+ Output: .aioson/context/prd.md
228
+ ...
229
+ ```
230
+
231
+ The locale shown reflects the active agent locale pack (from `project.context.md` or the `--lang` flag).
232
+
233
+ ---
234
+
235
+ ## agent:prompt
236
+
237
+ Print the activation prompt for a specific agent, ready to paste into any AI CLI that does not support slash commands.
238
+
239
+ ```bash
240
+ aioson agent:prompt setup
241
+ aioson agent:prompt setup --tool=codex
242
+ aioson agent:prompt ux-ui --tool=claude
243
+ aioson agent:prompt dev --tool=gemini --json
244
+ ```
245
+
246
+ **Arguments:**
247
+ - `<agent>` — agent id: `setup`, `product`, `analyst`, `architect`, `ux-ui`, `pm`, `dev`, `qa`, `orchestrator`.
248
+
249
+ **Options:**
250
+ - `--tool=codex|claude|gemini|opencode` — formats the prompt for the target CLI. Default: `codex`.
251
+ - `--json` — returns structured JSON with the prompt string.
252
+
253
+ **When to use:** if you're using an AI CLI that doesn't support `/setup` slash commands, run this to get the exact text to paste into the chat.
254
+
255
+ ```bash
256
+ # Copy the prompt for @analyst in Gemini
257
+ aioson agent:prompt analyst --tool=gemini
258
+ # → paste the output into Gemini CLI
259
+ ```
260
+
261
+ ---
262
+
263
+ ## workflow:plan
264
+
265
+ Show the recommended agent sequence for the current project based on its `classification`.
266
+
267
+ ```bash
268
+ aioson workflow:plan
269
+ aioson workflow:plan ./my-project
270
+ aioson workflow:plan --classification=SMALL
271
+ aioson workflow:plan --json
272
+ ```
273
+
274
+ **Options:**
275
+ - `--classification=MICRO|SMALL|MEDIUM` — override the value from `project.context.md`.
276
+ - `--json` — structured JSON with `sequence`, `commands`, and `notes` arrays.
277
+
278
+ **Output example:**
279
+ ```
280
+ Workflow plan — SMALL:
281
+ @setup
282
+ @product
283
+ @analyst
284
+ @architect
285
+ @dev
286
+ @qa
287
+
288
+ Notes:
289
+ — Framework not installed: agents will include installation steps.
290
+ ```
291
+
292
+ **Sequences by classification:**
293
+ - `MICRO`: `@setup → @product (optional) → @dev`
294
+ - `SMALL`: `@setup → @product → @analyst → @architect → @dev → @qa`
295
+ - `MEDIUM`: `@setup → @product → @analyst → @architect → @ux-ui → @pm → @orchestrator → @dev → @qa`
296
+
297
+ **Feature development workflow (after initial setup):**
298
+
299
+ Once the project is set up, each new feature follows a shorter sequence — no `@setup` required:
300
+
301
+ ```
302
+ @product → @analyst → @dev → @qa
303
+ ```
304
+
305
+ `@product` creates a feature-scoped `prd-{slug}.md` and registers the feature in `features.md`. `@analyst` produces `requirements-{slug}.md` and `spec-{slug}.md`. `@dev` reads the feature spec. `@qa` closes the feature by updating `spec-{slug}.md` with a QA sign-off and marking it `done` in `features.md`.
306
+
307
+ The `SMALL` and MEDIUM outputs include a note reminding you of this sequence.
308
+
309
+ ---
310
+
311
+ ## workflow:next
312
+
313
+ Advance the active workflow, complete the current stage, trigger a controlled detour, or skip ahead until `@dev`.
314
+
315
+ ```bash
316
+ aioson workflow:next
317
+ aioson workflow:next ./my-project --tool=codex
318
+ aioson workflow:next ./my-project --complete
319
+ aioson workflow:next ./my-project --agent=ux-ui
320
+ aioson workflow:next ./my-project --skip=dev
321
+ ```
322
+
323
+ **What it does:**
324
+ - initializes `.aioson/context/workflow.state.json` if it does not exist
325
+ - infers the current project stage from existing artifacts like `project.context.md`, `prd.md`, `discovery.md`, and `architecture.md`
326
+ - follows the default sequence by classification, or a custom `.aioson/context/workflow.config.json` if the project defines one
327
+ - supports detours such as `--agent=ux-ui`, then returns to the saved next stage automatically
328
+ - allows skipping ahead only until `@dev`; it never allows skipping past `@dev`
329
+
330
+ **Notes:**
331
+ - `workflow:next` is the canonical command
332
+ - `agent:next` is an alias for compatibility
333
+ - `workflow.config.json` and `workflow.state.json` live under `.aioson/context/`, so normal framework updates preserve them
334
+
335
+ ---
336
+
337
+ ## test:smoke
338
+
339
+ End-to-end integration test that installs AIOSON in a temporary directory, runs all major commands, and verifies the output. Used for CI and release validation.
340
+
341
+ ```bash
342
+ aioson test:smoke
343
+ aioson test:smoke --lang=pt-BR
344
+ aioson test:smoke --web3=ethereum
345
+ aioson test:smoke --web3=solana
346
+ aioson test:smoke --web3=cardano
347
+ aioson test:smoke --profile=mixed
348
+ aioson test:smoke --profile=parallel
349
+ aioson test:smoke --keep
350
+ aioson test:smoke --json
351
+ ```
352
+
353
+ **Options:**
354
+ - `--lang=en|pt-BR|es|fr` — runs the test with the given locale active.
355
+ - `--web3=ethereum|solana|cardano` — seeds a Web3 project structure and tests Web3 context generation.
356
+ - `--profile=standard|mixed|parallel` — `standard` runs the default flow; `mixed` runs a combined locale+web3 test; `parallel` includes `parallel:init` and `parallel:assign`.
357
+ - `--keep` — preserves the temporary directory after the test for inspection.
358
+ - `--json` — structured JSON output with per-step results.
359
+
360
+ **What the standard profile tests:**
361
+ 1. `install` in temp dir
362
+ 2. `setup:context --defaults`
363
+ 3. `locale:apply`
364
+ 4. `agents` list
365
+ 5. `agent:prompt setup`
366
+ 6. `context:validate`
367
+ 7. `doctor`
368
+ 8. `update`
369
+ 9. `workflow:plan`
370
+
371
+ **Note:** this command is intended for contributors and CI pipelines, not for daily project use.
372
+
373
+ ---
374
+
375
+ ## test:package
376
+
377
+ Simulate `npm pack` in a temporary directory to verify what would be published and that the package installs correctly.
378
+
379
+ ```bash
380
+ aioson test:package
381
+ aioson test:package ./path/to/source
382
+ aioson test:package --keep
383
+ aioson test:package --dry-run
384
+ aioson test:package --json
385
+ ```
386
+
387
+ **Options:**
388
+ - `--keep` — preserves the temp directory after the test.
389
+ - `--dry-run` — checks prerequisites without actually running `npm pack`.
390
+ - `--json` — structured JSON output.
391
+
392
+ **What it does:**
393
+ 1. Runs `npm pack` on the source directory.
394
+ 2. Extracts the `.tgz` in a temporary directory.
395
+ 3. Verifies the key files are present in the package.
396
+ 4. Reports pass/fail.
397
+
398
+ **Note:** requires Node.js and npm to be available. Intended for release validation.