@jaimevalasek/aioson 1.7.2 → 1.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 (362) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +153 -10
  3. package/docs/en/cli-reference.md +56 -1
  4. package/docs/en/i18n.md +18 -18
  5. package/docs/en/schemas/index.json +10 -0
  6. package/docs/en/schemas/parallel-assign.schema.json +9 -0
  7. package/docs/en/schemas/parallel-doctor.schema.json +36 -0
  8. package/docs/en/schemas/parallel-guard.schema.json +63 -0
  9. package/docs/en/schemas/parallel-merge.schema.json +84 -0
  10. package/docs/en/schemas/parallel-status.schema.json +91 -1
  11. package/docs/integrations/apps-publish-marketplace.md +94 -0
  12. package/docs/pt/README.md +9 -0
  13. package/docs/pt/agentes.md +324 -3
  14. package/docs/pt/clientes-ai.md +7 -3
  15. package/docs/pt/comandos-cli.md +160 -13
  16. package/docs/pt/compress-agents.md +304 -0
  17. package/docs/pt/design-docs-governance.md +59 -0
  18. package/docs/pt/feature-archive.md +191 -0
  19. package/docs/pt/genome-3.0-spec.md +115 -4
  20. package/docs/pt/genome-distribution.md +232 -0
  21. package/docs/pt/inicio-rapido.md +1 -0
  22. package/docs/pt/motor-hardening.md +492 -0
  23. package/docs/pt/runner-system.md +113 -0
  24. package/package.json +2 -1
  25. package/src/agent-manifests.js +66 -0
  26. package/src/agents.js +27 -7
  27. package/src/autonomy-policy.js +139 -0
  28. package/src/brain-query.js +161 -0
  29. package/src/cli.js +1377 -1099
  30. package/src/commands/agents.js +102 -7
  31. package/src/commands/artifact-validate.js +33 -4
  32. package/src/commands/auth.js +272 -0
  33. package/src/commands/brain-query.js +44 -0
  34. package/src/commands/briefing.js +344 -0
  35. package/src/commands/commit-prepare.js +547 -0
  36. package/src/commands/compress-agents.js +416 -0
  37. package/src/commands/context-health.js +4 -2
  38. package/src/commands/context-trim.js +17 -11
  39. package/src/commands/design-hybrid-options.js +3 -3
  40. package/src/commands/devlog-process.js +6 -4
  41. package/src/commands/dossier.js +423 -0
  42. package/src/commands/feature-archive.js +513 -0
  43. package/src/commands/feature-close.js +123 -18
  44. package/src/commands/gate-approve.js +198 -0
  45. package/src/commands/gate-check.js +24 -5
  46. package/src/commands/genome-doctor.js +166 -9
  47. package/src/commands/git-guard.js +170 -0
  48. package/src/commands/harness.js +121 -0
  49. package/src/commands/implementation-plan.js +47 -20
  50. package/src/commands/init.js +6 -2
  51. package/src/commands/install.js +6 -2
  52. package/src/commands/live.js +497 -56
  53. package/src/commands/locale-apply.js +9 -6
  54. package/src/commands/locale-diff.js +11 -112
  55. package/src/commands/mcp-doctor.js +2 -1
  56. package/src/commands/mcp-init.js +4 -10
  57. package/src/commands/memory.js +234 -0
  58. package/src/commands/parallel-assign.js +107 -27
  59. package/src/commands/parallel-doctor.js +416 -3
  60. package/src/commands/parallel-guard.js +241 -0
  61. package/src/commands/parallel-init.js +66 -4
  62. package/src/commands/parallel-merge.js +299 -0
  63. package/src/commands/parallel-status.js +147 -3
  64. package/src/commands/preflight.js +63 -4
  65. package/src/commands/qa-init.js +10 -5
  66. package/src/commands/revision.js +235 -0
  67. package/src/commands/scaffold-complete.js +188 -0
  68. package/src/commands/security-audit.js +275 -0
  69. package/src/commands/security-scan.js +376 -0
  70. package/src/commands/self-implement-loop.js +46 -2
  71. package/src/commands/setup-context.js +11 -10
  72. package/src/commands/squad-agent-create.js +51 -9
  73. package/src/commands/squad-investigate.js +53 -0
  74. package/src/commands/squad-plan.js +33 -1
  75. package/src/commands/squad-scaffold.js +4 -3
  76. package/src/commands/squad-score.js +71 -14
  77. package/src/commands/squad-status.js +22 -1
  78. package/src/commands/squad-validate.js +93 -2
  79. package/src/commands/store-genome.js +304 -0
  80. package/src/commands/store-skill.js +247 -0
  81. package/src/commands/store-squad.js +431 -0
  82. package/src/commands/store-system.js +392 -0
  83. package/src/commands/tool-capabilities.js +63 -0
  84. package/src/commands/update.js +3 -3
  85. package/src/commands/verify-gate.js +40 -0
  86. package/src/commands/workflow-execute.js +644 -155
  87. package/src/commands/workflow-harden.js +231 -0
  88. package/src/commands/workflow-heal.js +136 -0
  89. package/src/commands/workflow-next.js +460 -22
  90. package/src/commands/workflow-status.js +328 -138
  91. package/src/commands/workspace.js +144 -0
  92. package/src/constants.js +42 -75
  93. package/src/context-memory.js +133 -4
  94. package/src/context-writer.js +2 -1
  95. package/src/context.js +32 -2
  96. package/src/doctor.js +46 -6
  97. package/src/dossier/codemap-store.js +267 -0
  98. package/src/dossier/dossier-bootstrap.js +222 -0
  99. package/src/dossier/dossier-compact.js +159 -0
  100. package/src/dossier/lock.js +128 -0
  101. package/src/dossier/revision-store.js +313 -0
  102. package/src/dossier/schema.js +155 -0
  103. package/src/dossier/store.js +400 -0
  104. package/src/execution-gateway.js +3 -0
  105. package/src/friction-scanner.js +202 -0
  106. package/src/genome-schema.js +24 -1
  107. package/src/genomes.js +33 -0
  108. package/src/handoff-contract.js +363 -0
  109. package/src/handoff-validator.js +45 -0
  110. package/src/harness/circuit-breaker.js +135 -0
  111. package/src/i18n/messages/en.js +317 -22
  112. package/src/i18n/messages/es.js +259 -18
  113. package/src/i18n/messages/fr.js +260 -18
  114. package/src/i18n/messages/pt-BR.js +313 -22
  115. package/src/install-profile.js +0 -16
  116. package/src/installer.js +70 -6
  117. package/src/lib/git-commit-guard.js +691 -0
  118. package/src/lib/security/artifact-reader.js +167 -0
  119. package/src/lib/security/exit-codes.js +51 -0
  120. package/src/lib/security/findings-writer.js +176 -0
  121. package/src/lib/security/runtime-events.js +77 -0
  122. package/src/lib/security/secrets-regex.js +115 -0
  123. package/src/lib/store/security-scan.js +173 -0
  124. package/src/lib/terminal-checkbox.js +130 -0
  125. package/src/lib/tmux-launcher.js +163 -0
  126. package/src/lib/tool-capabilities.js +102 -0
  127. package/src/locales.js +12 -8
  128. package/src/parallel-workspace.js +756 -0
  129. package/src/parser.js +8 -1
  130. package/src/path-guard.js +47 -0
  131. package/src/preflight-engine.js +237 -26
  132. package/src/self-healing.js +142 -0
  133. package/src/session-handoff.js +111 -1
  134. package/src/squad/squad-scaffold.js +183 -19
  135. package/src/test-briefing.js +226 -0
  136. package/src/updater.js +1 -1
  137. package/src/utils.js +3 -0
  138. package/src/workflow-gates.js +185 -0
  139. package/template/.aioson/agents/analyst.md +76 -130
  140. package/template/.aioson/agents/architect.md +53 -86
  141. package/template/.aioson/agents/committer.md +161 -0
  142. package/template/.aioson/agents/cypher.md +252 -0
  143. package/template/.aioson/agents/dev.md +112 -628
  144. package/template/.aioson/agents/deyvin.md +33 -236
  145. package/template/.aioson/agents/discover.md +235 -0
  146. package/template/.aioson/agents/discovery-design-doc.md +17 -252
  147. package/template/.aioson/agents/genome.md +76 -26
  148. package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
  149. package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
  150. package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
  151. package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
  152. package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
  153. package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
  154. package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
  155. package/template/.aioson/agents/manifests/product.manifest.json +23 -0
  156. package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
  157. package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
  158. package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
  159. package/template/.aioson/agents/neo.md +5 -7
  160. package/template/.aioson/agents/orache.md +2 -6
  161. package/template/.aioson/agents/orchestrator.md +81 -182
  162. package/template/.aioson/agents/pentester.md +235 -0
  163. package/template/.aioson/agents/pm.md +40 -104
  164. package/template/.aioson/agents/product.md +99 -344
  165. package/template/.aioson/agents/profiler-enricher.md +57 -6
  166. package/template/.aioson/agents/profiler-forge.md +17 -7
  167. package/template/.aioson/agents/profiler-researcher.md +29 -6
  168. package/template/.aioson/agents/qa.md +168 -514
  169. package/template/.aioson/agents/setup.md +52 -278
  170. package/template/.aioson/agents/sheldon.md +122 -754
  171. package/template/.aioson/agents/site-forge.md +111 -1583
  172. package/template/.aioson/agents/squad.md +139 -2010
  173. package/template/.aioson/agents/tester.md +10 -0
  174. package/template/.aioson/agents/ux-ui.md +104 -812
  175. package/template/.aioson/agents/validator.md +69 -0
  176. package/template/.aioson/brains/scripts/query.js +5 -1
  177. package/template/.aioson/config/autonomy-protocol.json +43 -0
  178. package/template/.aioson/config.md +43 -15
  179. package/template/.aioson/constitution.md +36 -33
  180. package/template/.aioson/context/design-doc.md +136 -0
  181. package/template/.aioson/context/project-map.md +57 -0
  182. package/template/.aioson/design-docs/code-reuse.md +48 -0
  183. package/template/.aioson/design-docs/componentization.md +47 -0
  184. package/template/.aioson/design-docs/file-size.md +52 -0
  185. package/template/.aioson/design-docs/folder-structure.md +51 -0
  186. package/template/.aioson/design-docs/naming.md +54 -0
  187. package/template/.aioson/docs/LAYERS.md +12 -2
  188. package/template/.aioson/docs/dev/execution-discipline.md +106 -0
  189. package/template/.aioson/docs/dev/stack-conventions.md +83 -0
  190. package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
  191. package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
  192. package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
  193. package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
  194. package/template/.aioson/docs/product/conversation-playbook.md +116 -0
  195. package/template/.aioson/docs/product/prd-contract.md +107 -0
  196. package/template/.aioson/docs/product/quality-lens.md +57 -0
  197. package/template/.aioson/docs/product/research-loop.md +65 -0
  198. package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
  199. package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
  200. package/template/.aioson/docs/sheldon/research-loop.md +56 -0
  201. package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
  202. package/template/.aioson/docs/site-forge-build.md +195 -0
  203. package/template/.aioson/docs/site-forge-extraction.md +135 -0
  204. package/template/.aioson/docs/site-forge-qa.md +155 -0
  205. package/template/.aioson/docs/site-forge-recon.md +434 -0
  206. package/template/.aioson/docs/site-forge-transform.md +249 -0
  207. package/template/.aioson/docs/squad/content-output.md +91 -0
  208. package/template/.aioson/docs/squad/creation-flow.md +135 -0
  209. package/template/.aioson/docs/squad/domain-classification.md +117 -0
  210. package/template/.aioson/docs/squad/genome-bindings.md +47 -0
  211. package/template/.aioson/docs/squad/package-contract.md +234 -0
  212. package/template/.aioson/docs/squad/quality-lens.md +56 -0
  213. package/template/.aioson/docs/squad/research-loop.md +59 -0
  214. package/template/.aioson/docs/squad/session-operations.md +117 -0
  215. package/template/.aioson/docs/squad/workflow-quality.md +165 -0
  216. package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
  217. package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
  218. package/template/.aioson/docs/ux-ui/component-map.md +35 -0
  219. package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
  220. package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
  221. package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
  222. package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
  223. package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
  224. package/template/.aioson/genomes/copywriting.meta.json +48 -0
  225. package/template/.aioson/git-guard.json +11 -0
  226. package/template/.aioson/mcp/servers.md +0 -1
  227. package/template/.aioson/rules/agent-language-policy.md +93 -0
  228. package/template/.aioson/rules/aioson-context-boundary.md +63 -0
  229. package/template/.aioson/rules/canonical-path-contract.md +47 -0
  230. package/template/.aioson/rules/data-format-convention.md +24 -86
  231. package/template/.aioson/rules/disk-first-artifacts.md +44 -0
  232. package/template/.aioson/rules/output-brevity.md +44 -0
  233. package/template/.aioson/rules/prd-section-ownership.md +49 -0
  234. package/template/.aioson/rules/security-baseline.md +139 -0
  235. package/template/.aioson/rules/spec-level-ownership.md +61 -0
  236. package/template/.aioson/rules/squad-driver-pattern.md +81 -0
  237. package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
  238. package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
  239. package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
  240. package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
  241. package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
  242. package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
  243. package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
  244. package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
  245. package/template/.aioson/skills/static/web-research-cache.md +3 -0
  246. package/template/.aioson/tasks/squad-create.md +35 -8
  247. package/template/.aioson/tasks/squad-design.md +50 -2
  248. package/template/.aioson/tasks/squad-investigate.md +14 -1
  249. package/template/.claude/commands/aioson/agent/committer.md +5 -0
  250. package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
  251. package/template/.claude/commands/aioson/agent/cypher.md +5 -0
  252. package/template/.claude/commands/aioson/agent/pair.md +5 -0
  253. package/template/.claude/commands/aioson/agent/validator.md +5 -0
  254. package/template/.gemini/commands/aios-analyst.toml +6 -3
  255. package/template/.gemini/commands/aios-architect.toml +7 -6
  256. package/template/.gemini/commands/aios-committer.toml +7 -0
  257. package/template/.gemini/commands/aios-copywriter.toml +7 -0
  258. package/template/.gemini/commands/aios-cypher.toml +7 -0
  259. package/template/.gemini/commands/aios-dev.toml +8 -7
  260. package/template/.gemini/commands/aios-deyvin.toml +6 -5
  261. package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
  262. package/template/.gemini/commands/aios-genome.toml +7 -0
  263. package/template/.gemini/commands/aios-neo.toml +5 -3
  264. package/template/.gemini/commands/aios-orache.toml +7 -0
  265. package/template/.gemini/commands/aios-orchestrator.toml +8 -7
  266. package/template/.gemini/commands/aios-pair.toml +6 -5
  267. package/template/.gemini/commands/aios-pm.toml +8 -7
  268. package/template/.gemini/commands/aios-product.toml +5 -3
  269. package/template/.gemini/commands/aios-qa.toml +6 -5
  270. package/template/.gemini/commands/aios-setup.toml +5 -2
  271. package/template/.gemini/commands/aios-sheldon.toml +7 -0
  272. package/template/.gemini/commands/aios-site-forge.toml +7 -0
  273. package/template/.gemini/commands/aios-squad.toml +7 -0
  274. package/template/.gemini/commands/aios-tester.toml +6 -5
  275. package/template/.gemini/commands/aios-ux-ui.toml +8 -7
  276. package/template/.gemini/commands/aios-validator.toml +7 -0
  277. package/template/AGENTS.md +12 -1
  278. package/template/CLAUDE.md +5 -1
  279. package/template/.aioson/locales/en/agents/analyst.md +0 -244
  280. package/template/.aioson/locales/en/agents/architect.md +0 -245
  281. package/template/.aioson/locales/en/agents/dev.md +0 -397
  282. package/template/.aioson/locales/en/agents/deyvin.md +0 -137
  283. package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
  284. package/template/.aioson/locales/en/agents/genome.md +0 -212
  285. package/template/.aioson/locales/en/agents/neo.md +0 -8
  286. package/template/.aioson/locales/en/agents/orache.md +0 -6
  287. package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
  288. package/template/.aioson/locales/en/agents/pair.md +0 -5
  289. package/template/.aioson/locales/en/agents/pm.md +0 -84
  290. package/template/.aioson/locales/en/agents/product.md +0 -378
  291. package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
  292. package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
  293. package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
  294. package/template/.aioson/locales/en/agents/qa.md +0 -270
  295. package/template/.aioson/locales/en/agents/setup.md +0 -421
  296. package/template/.aioson/locales/en/agents/sheldon.md +0 -455
  297. package/template/.aioson/locales/en/agents/squad.md +0 -449
  298. package/template/.aioson/locales/en/agents/tester.md +0 -6
  299. package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
  300. package/template/.aioson/locales/es/agents/analyst.md +0 -225
  301. package/template/.aioson/locales/es/agents/architect.md +0 -245
  302. package/template/.aioson/locales/es/agents/dev.md +0 -370
  303. package/template/.aioson/locales/es/agents/deyvin.md +0 -99
  304. package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
  305. package/template/.aioson/locales/es/agents/genome.md +0 -104
  306. package/template/.aioson/locales/es/agents/neo.md +0 -50
  307. package/template/.aioson/locales/es/agents/orache.md +0 -105
  308. package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
  309. package/template/.aioson/locales/es/agents/pair.md +0 -7
  310. package/template/.aioson/locales/es/agents/pm.md +0 -90
  311. package/template/.aioson/locales/es/agents/product.md +0 -372
  312. package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
  313. package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
  314. package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
  315. package/template/.aioson/locales/es/agents/qa.md +0 -198
  316. package/template/.aioson/locales/es/agents/setup.md +0 -405
  317. package/template/.aioson/locales/es/agents/sheldon.md +0 -309
  318. package/template/.aioson/locales/es/agents/squad.md +0 -532
  319. package/template/.aioson/locales/es/agents/tester.md +0 -9
  320. package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
  321. package/template/.aioson/locales/fr/agents/analyst.md +0 -225
  322. package/template/.aioson/locales/fr/agents/architect.md +0 -245
  323. package/template/.aioson/locales/fr/agents/dev.md +0 -370
  324. package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
  325. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
  326. package/template/.aioson/locales/fr/agents/genome.md +0 -104
  327. package/template/.aioson/locales/fr/agents/neo.md +0 -50
  328. package/template/.aioson/locales/fr/agents/orache.md +0 -106
  329. package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
  330. package/template/.aioson/locales/fr/agents/pair.md +0 -7
  331. package/template/.aioson/locales/fr/agents/pm.md +0 -90
  332. package/template/.aioson/locales/fr/agents/product.md +0 -372
  333. package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
  334. package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
  335. package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
  336. package/template/.aioson/locales/fr/agents/qa.md +0 -198
  337. package/template/.aioson/locales/fr/agents/setup.md +0 -405
  338. package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
  339. package/template/.aioson/locales/fr/agents/squad.md +0 -532
  340. package/template/.aioson/locales/fr/agents/tester.md +0 -9
  341. package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
  342. package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
  343. package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
  344. package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
  345. package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
  346. package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
  347. package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
  348. package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
  349. package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
  350. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
  351. package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
  352. package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
  353. package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
  354. package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
  355. package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
  356. package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
  357. package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
  358. package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
  359. package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
  360. package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
  361. package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
  362. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
@@ -0,0 +1,195 @@
1
+ ---
2
+ description: "site-forge Phase 4 — Build Layer: component implementation, interactions, video, asset wiring, assembly"
3
+ agents: [site-forge]
4
+ ---
5
+
6
+ # site-forge: Phase 4 — Build Layer
7
+
8
+ **Goal:** Implement all sections and components.
9
+
10
+ Active token source by mode:
11
+ - **Mode A:** skill `references/design-tokens.md`
12
+ - **Mode B:** forged skill from Phase 3B
13
+ - **Mode C:** skill tokens; slot extracted content/images from component map
14
+ - **Mode E:** `blended-tokens.css` from Phase 3E
15
+
16
+ ## 4.1 Complexity budget
17
+
18
+ - **Simple** (< 3 sub-components): implement directly
19
+ - **Moderate** (3–5 sub-components): one worktree builder
20
+ - **Complex** (> 5 sub-components): split across multiple builders
21
+
22
+ ## 4.2 Direct implementation (simple sections)
23
+
24
+ Build inline. Use skill tokens. Reference section spec and component map. Run `npx tsc --noEmit` after each file.
25
+
26
+ ## 4.3 Worktree builders (moderate/complex sections)
27
+
28
+ ```bash
29
+ git worktree add ../worktree-<section> -b builder/<section>
30
+ ```
31
+
32
+ Each builder receives:
33
+ 1. Section spec file (inline)
34
+ 2. Component map rows for this section (inline)
35
+ 3. Relevant tokens from active token file (inline — only what's needed)
36
+ 4. Path to screenshots
37
+ 5. Target file: `src/components/<SectionName>.tsx`
38
+ 6. Requirement: `npx tsc --noEmit` must pass
39
+
40
+ After builder completes:
41
+ ```bash
42
+ npx tsc --noEmit
43
+ git add -A && git commit -m "build(<section>): implement with <skill-name> tokens"
44
+ git worktree remove ../worktree-<section>
45
+ git merge builder/<section> --no-ff -m "merge: <section> builder"
46
+ ```
47
+
48
+ Conflict resolution: structure wins — preserve DOM hierarchy from spec; replace style values with skill tokens.
49
+
50
+ ## 4.4 Interaction implementation (MANDATORY — do not skip)
51
+
52
+ Read `docs/research/<hostname>/animations-raw.json` → `jsLibraries` and `dom-mutations.json` before choosing strategy.
53
+
54
+ ### 4.4.A Implementation strategy routing
55
+
56
+ **Step 1 — Choose animation layer based on detected libraries:**
57
+
58
+ | Detected | Install | Strategy |
59
+ |---|---|---|
60
+ | `gsap: true` | `npm install gsap` | GSAP + ScrollTrigger for all scroll-driven |
61
+ | `framerMotion: true` | `npm install framer-motion` | `<motion.div>` with `whileInView` / `useScroll` |
62
+ | `swiper: true` | `npm install swiper` | Swiper React for carousels/sliders |
63
+ | `lottie: true` | `npm install lottie-react` | `<Lottie>` for SVG animations |
64
+ | `aos: true` | *(no install)* | `IntersectionObserver` + CSS classes |
65
+ | none detected | *(no install)* | `IntersectionObserver` + CSS `@keyframes` |
66
+
67
+ Install all detected libraries simultaneously.
68
+
69
+ **Step 2 — Scroll-driven animations from `dom-mutations.json`:**
70
+
71
+ ```typescript
72
+ // GSAP ScrollTrigger (when gsap detected)
73
+ gsap.from('.hero__headline', {
74
+ opacity: 0, y: 20, duration: 0.4, ease: 'power2.out',
75
+ scrollTrigger: {
76
+ trigger: '.hero__headline',
77
+ start: 'top 80%', // derived from mutation scrollY / pageHeight
78
+ once: true,
79
+ },
80
+ });
81
+
82
+ // IntersectionObserver (when no GSAP)
83
+ const observer = new IntersectionObserver(entries => {
84
+ entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('is-animated'); });
85
+ }, { threshold: 0.15 });
86
+ document.querySelectorAll('.animate-on-scroll').forEach(el => observer.observe(el));
87
+ ```
88
+
89
+ Use `scrollY` values from `dom-mutations.json` to calibrate `start` offsets or `threshold` values.
90
+
91
+ **Step 3 — Recreate `@keyframes` from `animations-raw.json`:**
92
+
93
+ Copy each entry's `cssText` verbatim into `src/app/globals.css`. Apply duration via class, not inside keyframe:
94
+
95
+ ```css
96
+ @keyframes fadeSlideUp {
97
+ from { opacity: 0; transform: translateY(20px); }
98
+ to { opacity: 1; transform: translateY(0); }
99
+ }
100
+ .animate-fade-slide-up {
101
+ animation: fadeSlideUp var(--transition-slow) var(--ease-out) forwards;
102
+ }
103
+ ```
104
+
105
+ **Step 4 — Parallax from `animations-raw.json.parallax`:**
106
+
107
+ - `backgroundAttachment: fixed` → `background-attachment: fixed` — no JS.
108
+ - JS parallax (transform changes between scroll positions):
109
+ ```typescript
110
+ useEffect(() => {
111
+ const el = ref.current;
112
+ const handleScroll = () => {
113
+ const rate = 0.4; // adjust to match observed translation ratio
114
+ el.style.transform = `translate3d(0, ${window.scrollY * rate}px, 0)`;
115
+ };
116
+ window.addEventListener('scroll', handleScroll, { passive: true });
117
+ return () => window.removeEventListener('scroll', handleScroll);
118
+ }, []);
119
+ ```
120
+
121
+ **Step 5 — Remaining interactions from `interaction-spec.md`:**
122
+
123
+ - **SCROLL-DRIVEN without mutation data:** `IntersectionObserver` with `threshold: 0.1`
124
+ - **CLICK-DRIVEN:** React `useState` toggle + conditional className
125
+ - **HOVER:** Tailwind hover variants or CSS `:hover` + `transition: var(--transition-all)`
126
+ - **STATE-TOGGLE:** React `useState` + conditional className
127
+
128
+ Use motion tokens for all `transition` and `animation-duration`. Never hardcode `ms`.
129
+
130
+ Every interaction in the spec must be implemented. If too complex, implement simplified and note in QA report as ⚠️ — never leave unimplemented.
131
+
132
+ ### 4.4.B Video background implementation (MANDATORY when videos.json is non-empty)
133
+
134
+ ```tsx
135
+ // VideoBackground.tsx
136
+ export function VideoBackground({ role }: { role: string }) {
137
+ return (
138
+ <div className="absolute inset-0 overflow-hidden" aria-hidden="true">
139
+ <video
140
+ autoPlay muted loop playsInline
141
+ poster={`/images/<hostname>/${role}-poster.jpg`}
142
+ className="w-full h-full object-cover"
143
+ style={{ willChange: 'transform' }}
144
+ >
145
+ <source src={`/videos/<hostname>/${role}.webm`} type="video/webm" />
146
+ <source src={`/videos/<hostname>/${role}.mp4`} type="video/mp4" />
147
+ </video>
148
+ <div className="absolute inset-0" style={{ backgroundColor: 'var(--overlay-dark)' }} />
149
+ </div>
150
+ );
151
+ }
152
+ ```
153
+
154
+ If skipped (> 10MB or blocked): use poster as `background-image`, note in QA report as ⚠️ with original URL.
155
+
156
+ - Render video behind content (`z-index: 0` on video, `z-index: 1` on content).
157
+ - Always include overlay div for text readability.
158
+ - Always add `prefers-reduced-motion` support:
159
+ ```css
160
+ @media (prefers-reduced-motion: reduce) {
161
+ video[autoplay] { display: none; }
162
+ }
163
+ ```
164
+
165
+ ## 4.5 Asset wiring (MANDATORY — do not skip)
166
+
167
+ Before assembly, verify every downloaded image is referenced in its component.
168
+
169
+ Check `docs/research/components/<section-slug>.spec.md` → "Content slots" → Image entries. Use `next/image`:
170
+
171
+ ```tsx
172
+ // Correct
173
+ import Image from 'next/image'
174
+ <Image src="/images/<hostname>/hero.webp" alt="hero" fill className="object-cover" />
175
+
176
+ // Wrong — placeholder when downloaded asset exists
177
+ <div className="bg-gray-200 w-full h-64" />
178
+ ```
179
+
180
+ If not downloaded (> 2MB or blocked): placeholder + note in QA report as ⚠️ with original URL.
181
+
182
+ **Asset lifecycle notice (display once before assembly):**
183
+ > "As imagens em `public/images/<hostname>/` são referências de desenvolvimento. Substitua-as pelos seus próprios assets antes de publicar."
184
+
185
+ ## 4.6 Assembly
186
+
187
+ 1. Create `src/app/page.tsx` importing all sections in page topology order.
188
+ 2. Apply token root in `src/app/globals.css`:
189
+ - Modes A, B, C: paste skill's `:root {}` block
190
+ - Mode E: paste `blended-tokens.css` content
191
+ 3. Run `npm run build` — must pass with 0 errors and 0 TypeScript errors.
192
+
193
+ Fix TypeScript errors first, then CSS token resolution. Do not proceed to Phase 5 with a broken build.
194
+
195
+ **Exit criterion:** `npm run build` passes. All sections rendered. All interactions implemented. All downloaded assets referenced. Skill tokens active globally.
@@ -0,0 +1,135 @@
1
+ ---
2
+ description: "site-forge Phase 2 — Selective Extraction: section specs, component inventory, interaction specs, aesthetic capture"
3
+ agents: [site-forge]
4
+ ---
5
+
6
+ # site-forge: Phase 2 — Selective Extraction
7
+
8
+ **Goal:** Document structure and behavior of every section.
9
+
10
+ **Mode A, C:** Discard ALL aesthetic values — skill tokens replace them. Preserve content slots (texts, image paths).
11
+ **Mode B, D, E:** Extract structure AND aesthetic values — raw material for the skill or blend.
12
+
13
+ ## 2.1 Section specs
14
+
15
+ For each section in page topology, create `docs/research/components/<section-slug>.spec.md`:
16
+
17
+ ```markdown
18
+ # <SectionName> — Structure Specification
19
+
20
+ ## Layout pattern
21
+ - Container: [max-width | full-viewport | fluid]
22
+ - Display: [flex | grid | block]
23
+ - Children arrangement: [column | row | grid-cols-3 | etc.]
24
+ - Overflow: [visible | hidden | scroll]
25
+
26
+ ## Elements
27
+ - [element-type]: [role — e.g. "primary headline", "CTA button", "feature image"]
28
+
29
+ ## Interaction model
30
+ - Type: [NONE | SCROLL-DRIVEN | CLICK-DRIVEN | HOVER | STATE-TOGGLE]
31
+ - Trigger: [precise trigger condition]
32
+ - Effect: [which elements, which CSS property types]
33
+ - Timing: [fast | medium | slow — relative only]
34
+
35
+ ## Responsive changes
36
+ - At 768px: [what changes]
37
+ - At 390px: [what changes]
38
+
39
+ ## Content slots
40
+ - Headline: "[actual text]"
41
+ - Subtext: "[actual text]"
42
+ - CTA label: "[actual text]"
43
+ - Image: [what it depicts, path to downloaded file]
44
+
45
+ ## Aesthetic values (Modes B, D, E only — omit in Modes A, C)
46
+ - Background color: [hex or rgba]
47
+ - Text colors: [hex values per role: heading, body, muted, accent]
48
+ - Border radius: [observed px values]
49
+ - Shadow: [observed box-shadow values]
50
+ - Padding/gap pattern: [observed px values]
51
+ ```
52
+
53
+ ## 2.2 Component inventory
54
+
55
+ List all distinct reusable component types across the page:
56
+ ```
57
+ Button: primary, secondary, ghost, icon-only
58
+ Card: media-card, text-card, stat-card
59
+ Input: text, email, textarea, select
60
+ NavItem / Modal / Dropdown / TabBar / Accordion / Toast / Badge / Avatar
61
+ ```
62
+
63
+ For each component, create `docs/research/components/<component-slug>.spec.md`:
64
+
65
+ ```markdown
66
+ # <ComponentName> — Component Specification
67
+
68
+ ## DOM structure
69
+ - <outer-element> (semantic role)
70
+ - <child>: [role]
71
+
72
+ ## Variants
73
+ - [variant-name]: [how it differs structurally]
74
+
75
+ ## States
76
+ - default / hover / active / disabled / loading: [what changes per state]
77
+ (type only for Mode A/C | type + value for Mode B/D/E)
78
+
79
+ ## Behavior
80
+ - [action]: [effect]
81
+ ```
82
+
83
+ ## 2.3 Interaction specifications
84
+
85
+ For every non-static section, create/append `docs/research/<hostname>/interaction-spec.md`:
86
+
87
+ ```markdown
88
+ # <Name> — Interaction Specification
89
+
90
+ ## Model: [SCROLL-DRIVEN | CLICK-DRIVEN | HOVER | STATE-TOGGLE]
91
+ ## Trigger: [precise trigger condition]
92
+ ## Effect: [which elements, which CSS property types]
93
+ ## Timing: [fast / medium / slow — relative only]
94
+ ## Implementation direction: [e.g. "scroll listener on window", "CSS :hover + transition"]
95
+ ```
96
+
97
+ ## 2.4 Aesthetic capture (Modes B, D, E only)
98
+
99
+ ```javascript
100
+ const elements = {
101
+ body: document.body,
102
+ h1: document.querySelector('h1'),
103
+ h2: document.querySelector('h2'),
104
+ p: document.querySelector('p'),
105
+ primaryBtn: document.querySelector('button, [class*="btn-primary"], [class*="cta"]'),
106
+ card: document.querySelector('[class*="card"], article'),
107
+ nav: document.querySelector('nav, header')
108
+ };
109
+
110
+ const extracted = {};
111
+ for (const [name, el] of Object.entries(elements)) {
112
+ if (!el) continue;
113
+ const s = window.getComputedStyle(el);
114
+ extracted[name] = {
115
+ backgroundColor: s.backgroundColor, color: s.color,
116
+ fontFamily: s.fontFamily, fontSize: s.fontSize,
117
+ fontWeight: s.fontWeight, lineHeight: s.lineHeight,
118
+ borderRadius: s.borderRadius, boxShadow: s.boxShadow,
119
+ padding: s.padding, gap: s.gap, transition: s.transition
120
+ };
121
+ }
122
+ return extracted;
123
+ ```
124
+
125
+ Save to `docs/research/<hostname>/aesthetics-raw.json`.
126
+
127
+ ## Phase 2 output
128
+
129
+ - `docs/research/<hostname>/structure-spec.md` — overview of all sections
130
+ - `docs/research/<hostname>/interaction-spec.md` — all interactions
131
+ - `docs/research/<hostname>/aesthetics-raw.json` — Modes B, D, E only
132
+ - `docs/research/components/*.spec.md` — one per section + one per component type
133
+
134
+ **Exit criterion (Modes A, C):** Every section has a spec. No color/size/spacing values in any spec file.
135
+ **Exit criterion (Modes B, D, E):** Every section has a spec WITH aesthetic values. `aesthetics-raw.json` populated.
@@ -0,0 +1,155 @@
1
+ ---
2
+ description: "site-forge Phase 5 — Visual QA, screenshot comparison, interaction testing, skill fidelity check, output contract"
3
+ agents: [site-forge]
4
+ ---
5
+
6
+ # site-forge: Phase 5 — Visual QA
7
+
8
+ **Goal:** Verify the clone behaves like the original and looks like the skill.
9
+
10
+ ## 5.1 Start dev server
11
+
12
+ ```bash
13
+ npm run dev
14
+ # Wait for "ready" — up to 30s
15
+ ```
16
+
17
+ ## 5.2 Screenshot comparison
18
+
19
+ Capture both at 1440px, 768px, 390px:
20
+ - Original: target URL
21
+ - Clone: `http://localhost:3000`
22
+
23
+ **Mode A, C:** Acceptable: colors/fonts/spacing replaced. Unacceptable: missing sections, broken layout, missing interactive elements, missing content.
24
+ **Mode B:** Clone should visually resemble original. Large color/font differences signal extraction miss — investigate before passing.
25
+ **Mode E:** Blend must be visible — neither pure copy nor pure skill application. If identical to either source, blend was not applied.
26
+
27
+ ## 5.3 Interaction testing
28
+
29
+ Per interaction in the spec:
30
+ - Scroll triggers: does the effect fire at the right scroll position?
31
+ - Click triggers: do tabs, dropdowns, modals, toggles work?
32
+ - Hover triggers: do cards lift, nav items change state?
33
+ - Responsive: do breakpoints trigger correct layout changes?
34
+
35
+ ## 5.4 Skill fidelity check
36
+
37
+ - CSS variables resolving (no browser defaults as fallback)?
38
+ - Motion tokens used (no hardcoded `ms` in components)?
39
+ - **Mode A, C:** Skill colors applied — not original site colors?
40
+ - **Mode B:** Extracted site colors reproduced accurately?
41
+ - **Mode E:** Blended values present — verify at least 3 tokens from each source?
42
+
43
+ ## 5.5 QA report
44
+
45
+ Create `docs/research/<hostname>/qa-report.md`:
46
+
47
+ ```markdown
48
+ # QA Report — <hostname> → <skill-name>
49
+ **Mode:** [A | B | C | D | E]
50
+ **Date:** [date]
51
+ **Build status:** passing
52
+
53
+ ## Structural fidelity
54
+ ✅/⚠️/❌ [Section]: [note]
55
+
56
+ ## Content slots (Modes C, E)
57
+ ✅/⚠️/❌ [Section]: extracted text/images present
58
+
59
+ ## Interactions
60
+ ✅/⚠️/❌ [Interaction name]: [status and note]
61
+
62
+ ## Skill fidelity
63
+ ✅/⚠️/❌ Colors: tokens applied / hardcoded values remain
64
+ ✅/⚠️/❌ Typography: skill fonts active
65
+ ✅/⚠️/❌ Spacing: scale tokens applied
66
+ ✅/⚠️/❌ Motion: transition tokens applied
67
+
68
+ ## Blend verification (Mode E only)
69
+ ✅/⚠️/❌ Site tokens present: [list 3 examples]
70
+ ✅/⚠️/❌ Skill tokens present: [list 3 examples]
71
+
72
+ ## Issues to fix
73
+ 1. [issue] → [fix]
74
+
75
+ ## Known deviations (acceptable ⚠️)
76
+ - [deviation]: [reason]
77
+ ```
78
+
79
+ Fix all ❌ before closing. Pass requires fewer than 5 ⚠️.
80
+
81
+ ---
82
+
83
+ # Output contract
84
+
85
+ ## Modes A, B, C, E (builds a site)
86
+
87
+ ```
88
+ docs/research/<hostname>/
89
+ ├── reconnaissance.json
90
+ ├── crawl-manifest.json
91
+ ├── structure-spec.md
92
+ ├── interaction-spec.md ← updated with scroll-triggered entries from Phase 1.5.4
93
+ ├── animations-raw.json ← jsLibraries, keyframes, animationRules, parallax
94
+ ├── videos.json
95
+ ├── dom-mutations.json
96
+ ├── component-map.md (Modes A, C)
97
+ ├── blend-map.md (Mode E only)
98
+ ├── blended-tokens.css (Mode E only)
99
+ └── qa-report.md
100
+
101
+ docs/research/<hostname>/scroll-recording/
102
+ └── scroll-00pct.png … scroll-100pct.png
103
+
104
+ docs/research/components/
105
+ └── <section-slug>.spec.md (one per section + one per component type)
106
+
107
+ public/images/<hostname>/ [replace before publishing]
108
+ public/videos/<hostname>/ [replace before publishing]
109
+
110
+ src/components/
111
+ └── <SectionName>.tsx
112
+ └── VideoBackground.tsx (if videos found)
113
+
114
+ src/app/
115
+ ├── page.tsx
116
+ └── globals.css [skill token root + extracted @keyframes]
117
+ ```
118
+
119
+ ## Mode B additionally
120
+
121
+ ```
122
+ docs/research/<hostname>/aesthetics-raw.json
123
+
124
+ .aioson/installed-skills/<hostname>/
125
+ ├── SKILL.md
126
+ ├── references/design-tokens.md
127
+ ├── references/components.md
128
+ ├── references/patterns.md
129
+ ├── references/motion.md ← extracted @keyframes + detected animation libraries
130
+ ├── references/websites.md
131
+ └── .skill-meta.json
132
+ ```
133
+
134
+ ## Mode D (skill only — no site built)
135
+
136
+ ```
137
+ docs/research/<hostname>/
138
+ ├── reconnaissance.json
139
+ ├── crawl-manifest.json
140
+ ├── structure-spec.md
141
+ ├── interaction-spec.md
142
+ ├── animations-raw.json
143
+ ├── videos.json
144
+ ├── dom-mutations.json
145
+ └── aesthetics-raw.json
146
+
147
+ .aioson/installed-skills/<hostname>/
148
+ ├── SKILL.md
149
+ ├── references/design-tokens.md
150
+ ├── references/components.md
151
+ ├── references/patterns.md
152
+ ├── references/motion.md
153
+ ├── references/websites.md
154
+ └── .skill-meta.json
155
+ ```