@jaimevalasek/aioson 1.6.0 → 1.7.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 (252) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +729 -232
  3. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  4. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  5. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  6. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  7. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  8. package/docs/pt/README.md +3 -0
  9. package/docs/pt/agentes.md +1 -0
  10. package/docs/pt/comandos-cli.md +888 -2
  11. package/docs/pt/design-hybrid-forge.md +255 -6
  12. package/docs/pt/devlog-pipeline.md +270 -0
  13. package/docs/pt/fluxo-artefatos.md +178 -0
  14. package/docs/pt/hooks-session-guard.md +454 -0
  15. package/docs/pt/monitor-de-contexto.md +59 -5
  16. package/docs/pt/sdd-automation-scripts.md +557 -0
  17. package/docs/pt/site-forge.md +309 -0
  18. package/docs/pt/spec-learnings-pipeline.md +265 -0
  19. package/package.json +1 -1
  20. package/src/a2a/client.js +165 -0
  21. package/src/a2a/server.js +223 -0
  22. package/src/cli.js +235 -1
  23. package/src/commands/agent-audit.js +397 -0
  24. package/src/commands/agent-export-skill.js +229 -0
  25. package/src/commands/artifact-validate.js +189 -0
  26. package/src/commands/brief-gen.js +405 -0
  27. package/src/commands/brief-validate.js +65 -0
  28. package/src/commands/classify.js +256 -0
  29. package/src/commands/context-compact.js +49 -0
  30. package/src/commands/context-health.js +175 -0
  31. package/src/commands/context-monitor.js +71 -0
  32. package/src/commands/context-trim.js +177 -0
  33. package/src/commands/detect-test-runner.js +55 -0
  34. package/src/commands/devlog-export-brains.js +27 -0
  35. package/src/commands/devlog-process.js +292 -0
  36. package/src/commands/devlog-watch.js +131 -0
  37. package/src/commands/feature-close.js +165 -0
  38. package/src/commands/gate-check.js +228 -0
  39. package/src/commands/hooks-emit.js +253 -0
  40. package/src/commands/hooks-install.js +347 -0
  41. package/src/commands/learning-auto-promote.js +195 -0
  42. package/src/commands/learning-evolve.js +18 -9
  43. package/src/commands/learning-export.js +103 -0
  44. package/src/commands/learning-rollback.js +164 -0
  45. package/src/commands/live.js +25 -1
  46. package/src/commands/pattern-detect.js +33 -0
  47. package/src/commands/preflight-context.js +30 -0
  48. package/src/commands/preflight.js +208 -0
  49. package/src/commands/pulse-update.js +130 -0
  50. package/src/commands/runner-daemon.js +274 -0
  51. package/src/commands/runner-plan.js +70 -0
  52. package/src/commands/runner-queue-from-plan.js +166 -0
  53. package/src/commands/runner-queue.js +189 -0
  54. package/src/commands/runner-run.js +129 -0
  55. package/src/commands/runtime.js +47 -1
  56. package/src/commands/self-implement-loop.js +256 -0
  57. package/src/commands/session-guard.js +218 -0
  58. package/src/commands/sizing.js +165 -0
  59. package/src/commands/skill.js +65 -0
  60. package/src/commands/spec-checkpoint.js +177 -0
  61. package/src/commands/spec-status.js +79 -0
  62. package/src/commands/spec-sync.js +190 -0
  63. package/src/commands/spec-tasks.js +288 -0
  64. package/src/commands/squad-autorun.js +1220 -0
  65. package/src/commands/squad-bus.js +217 -0
  66. package/src/commands/squad-card.js +149 -0
  67. package/src/commands/squad-daemon.js +134 -0
  68. package/src/commands/squad-dependency-graph.js +164 -0
  69. package/src/commands/squad-review.js +106 -0
  70. package/src/commands/squad-scaffold.js +55 -0
  71. package/src/commands/squad-tool-register.js +157 -0
  72. package/src/commands/state-save.js +122 -0
  73. package/src/commands/update.js +2 -0
  74. package/src/commands/verify-gate.js +572 -0
  75. package/src/commands/workflow-execute.js +241 -0
  76. package/src/constants.js +9 -0
  77. package/src/install-profile.js +2 -2
  78. package/src/install-wizard.js +3 -2
  79. package/src/installer.js +6 -0
  80. package/src/lib/health-check.js +158 -0
  81. package/src/lib/hook-protocol.js +76 -0
  82. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  83. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  84. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  85. package/src/mcp/resources/squad-state.js +130 -0
  86. package/src/preflight-engine.js +443 -0
  87. package/src/runner/cascade.js +97 -0
  88. package/src/runner/cli-launcher.js +109 -0
  89. package/src/runner/plan-importer.js +63 -0
  90. package/src/runner/queue-store.js +159 -0
  91. package/src/runtime-store.js +61 -3
  92. package/src/squad/agent-teams-adapter.js +264 -0
  93. package/src/squad/brief-validator.js +350 -0
  94. package/src/squad/bus-bridge.js +140 -0
  95. package/src/squad/context-compactor.js +265 -0
  96. package/src/squad/cross-ai-synthesizer.js +250 -0
  97. package/src/squad/hooks-generator.js +196 -0
  98. package/src/squad/inter-squad-events.js +175 -0
  99. package/src/squad/intra-bus.js +345 -0
  100. package/src/squad/learning-extractor.js +213 -0
  101. package/src/squad/pattern-detector.js +365 -0
  102. package/src/squad/preflight-context.js +296 -0
  103. package/src/squad/recovery-context.js +242 -71
  104. package/src/squad/reflection.js +365 -0
  105. package/src/squad/squad-scaffold.js +177 -0
  106. package/src/squad/state-manager.js +310 -0
  107. package/src/squad/task-decomposer.js +652 -0
  108. package/src/squad/verify-gate.js +303 -0
  109. package/src/updater.js +4 -5
  110. package/src/worker-runner.js +186 -1
  111. package/template/.aioson/agents/analyst.md +62 -1
  112. package/template/.aioson/agents/architect.md +61 -1
  113. package/template/.aioson/agents/design-hybrid-forge.md +14 -0
  114. package/template/.aioson/agents/dev.md +242 -24
  115. package/template/.aioson/agents/deyvin.md +66 -8
  116. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  117. package/template/.aioson/agents/genome.md +14 -0
  118. package/template/.aioson/agents/neo.md +78 -1
  119. package/template/.aioson/agents/orache.md +50 -4
  120. package/template/.aioson/agents/orchestrator.md +197 -1
  121. package/template/.aioson/agents/pm.md +35 -0
  122. package/template/.aioson/agents/product.md +50 -5
  123. package/template/.aioson/agents/profiler-enricher.md +14 -0
  124. package/template/.aioson/agents/profiler-forge.md +14 -0
  125. package/template/.aioson/agents/profiler-researcher.md +14 -0
  126. package/template/.aioson/agents/qa.md +172 -21
  127. package/template/.aioson/agents/setup.md +79 -9
  128. package/template/.aioson/agents/sheldon.md +131 -6
  129. package/template/.aioson/agents/site-forge.md +1753 -0
  130. package/template/.aioson/agents/squad.md +162 -0
  131. package/template/.aioson/agents/tester.md +53 -0
  132. package/template/.aioson/agents/ux-ui.md +34 -1
  133. package/template/.aioson/brains/README.md +128 -0
  134. package/template/.aioson/brains/_index.json +16 -0
  135. package/template/.aioson/brains/scripts/query.js +103 -0
  136. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  137. package/template/.aioson/config.md +143 -13
  138. package/template/.aioson/constitution.md +33 -0
  139. package/template/.aioson/context/project-pulse.md +34 -0
  140. package/template/.aioson/docs/LAYERS.md +79 -0
  141. package/template/.aioson/docs/README.md +76 -0
  142. package/template/.aioson/docs/example-external-api-context.md +72 -0
  143. package/template/.aioson/locales/en/agents/architect.md +17 -0
  144. package/template/.aioson/locales/en/agents/dev.md +79 -13
  145. package/template/.aioson/locales/en/agents/orache.md +6 -0
  146. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  147. package/template/.aioson/locales/en/agents/product.md +50 -0
  148. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  149. package/template/.aioson/locales/en/agents/squad.md +14 -0
  150. package/template/.aioson/locales/en/agents/tester.md +6 -0
  151. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  152. package/template/.aioson/locales/es/agents/architect.md +19 -0
  153. package/template/.aioson/locales/es/agents/dev.md +64 -4
  154. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  155. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  156. package/template/.aioson/locales/es/agents/genome.md +2 -0
  157. package/template/.aioson/locales/es/agents/neo.md +2 -0
  158. package/template/.aioson/locales/es/agents/orache.md +2 -0
  159. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  160. package/template/.aioson/locales/es/agents/pair.md +2 -0
  161. package/template/.aioson/locales/es/agents/pm.md +2 -0
  162. package/template/.aioson/locales/es/agents/product.md +52 -0
  163. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  164. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  165. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  166. package/template/.aioson/locales/es/agents/qa.md +2 -0
  167. package/template/.aioson/locales/es/agents/setup.md +2 -0
  168. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  169. package/template/.aioson/locales/es/agents/squad.md +16 -0
  170. package/template/.aioson/locales/es/agents/tester.md +9 -0
  171. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  172. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  173. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  174. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  175. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  176. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  177. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  178. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  179. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  180. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  181. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  182. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  183. package/template/.aioson/locales/fr/agents/product.md +52 -0
  184. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  185. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  186. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  187. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  188. package/template/.aioson/locales/fr/agents/setup.md +2 -0
  189. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  190. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  191. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  192. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  193. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  194. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  195. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  196. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  197. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  198. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  199. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  200. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  201. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  202. package/template/.aioson/locales/pt-BR/agents/setup.md +101 -18
  203. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  204. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  205. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  206. package/template/.aioson/rules/README.md +69 -0
  207. package/template/.aioson/rules/data-format-convention.md +136 -0
  208. package/template/.aioson/rules/example-monetary-values.md +30 -0
  209. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  210. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  211. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  212. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  213. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  214. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  215. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  216. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  217. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +1 -0
  218. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  219. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  220. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  221. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  222. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +35 -0
  223. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  224. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  225. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  226. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +4 -1
  227. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +15 -0
  228. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +32 -0
  229. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +20 -0
  230. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  231. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  232. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  233. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  234. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  235. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  236. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  237. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  238. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  239. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  240. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  241. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  242. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  243. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  244. package/template/.aioson/tasks/implementation-plan.md +21 -1
  245. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  246. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  247. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  248. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  249. package/template/AGENTS.md +55 -3
  250. package/template/CLAUDE.md +30 -0
  251. package/template/OPENCODE.md +4 -0
  252. package/template/researchs/.gitkeep +0 -0
@@ -0,0 +1,309 @@
1
+ # `site-forge`
2
+
3
+ Agente de clonagem inteligente do AIOSON — estuda um site real e reconstrói como projeto Next.js, forja uma skill de design, ou ambos.
4
+
5
+ ## O que ele faz
6
+
7
+ - recebe uma URL e guia você até o modo certo com um **questionário de onboarding**
8
+ - captura screenshots, assets (img, background-image, srcset, lazy-loaded, video) via browser MCP
9
+ - faz crawl de links internos para capturar assets e padrões de sub-páginas
10
+ - extrai estrutura, comportamento e interações
11
+ - forja design skills, mescla tokens, ou aplica skills existentes conforme o modo escolhido
12
+ - constrói um projeto Next.js com worktrees paralelas
13
+
14
+ ## Pré-requisitos
15
+
16
+ ### 1. Browser MCP
17
+
18
+ O agente precisa de automação de browser para navegar, capturar screenshots, disparar lazy loads e testar interações. Configure um antes de usar:
19
+
20
+ ```bash
21
+ # Playwright MCP (recomendado)
22
+ npx @playwright/mcp@latest
23
+
24
+ # Puppeteer MCP (alternativa)
25
+ npx @modelcontextprotocol/server-puppeteer
26
+ ```
27
+
28
+ Adicione o browser MCP escolhido nas configurações de MCP do seu cliente AI. O agente detecta automaticamente qual está disponível.
29
+
30
+ ### 2. Design skill (quando aplicável)
31
+
32
+ Modos que usam uma skill existente precisam de uma skill já instalada. Use uma das skills nativas:
33
+
34
+ ```text
35
+ .aioson/skills/design/aurora-command-ui/
36
+ .aioson/skills/design/cognitive-core-ui/
37
+ .aioson/skills/design/glassmorphism-ui/
38
+ .aioson/skills/design/bold-editorial-ui/
39
+ .aioson/skills/design/neo-brutalist-ui/
40
+ .aioson/skills/design/warm-craft-ui/
41
+ .aioson/skills/design/clean-saas-ui/
42
+ ```
43
+
44
+ Ou use uma skill gerada pelo `@design-hybrid-forge`:
45
+
46
+ ```text
47
+ .aioson/installed-skills/{slug}/
48
+ ```
49
+
50
+ ## Modos de operação
51
+
52
+ O agente tem **5 modos**. Se você não especificar o modo, ele roda o **onboarding inteligente** e te guia até o certo.
53
+
54
+ | Modo | Entrada | Output |
55
+ |------|---------|--------|
56
+ | **A — Transform** | URL + skill | Site construído com a skill aplicada à estrutura clonada |
57
+ | **B — Faithful clone** | URL | Réplica fiel + nova skill forjada do site |
58
+ | **C — Content harvest** | URL + skill | Site construído com conteúdo/imagens do site + layout da skill |
59
+ | **D — Skill only** | URL | Só a skill forjada — nenhum site é construído |
60
+ | **E — Blend** | URL + skill + ratio | Site com tokens misturados entre o site e a skill |
61
+
62
+ ## Onboarding inteligente
63
+
64
+ Quando você chamar `/site-forge` sem especificar o modo, o agente pergunta:
65
+
66
+ ```
67
+ O que você quer fazer com este site?
68
+
69
+ A — Extrair conteúdo e imagens → construir um novo site com uma das suas skills
70
+ B — Clonar fielmente → réplica visual + forjar uma skill com o design do site
71
+ C — Extrair somente o design (CSS, animações) → criar uma skill reutilizável (sem construir o site)
72
+ D — Clonar com textos e imagens originais + mesclar com uma das suas skills (50/50)
73
+ ```
74
+
75
+ Depois coleta os dados que faltam (URL, skill, ratio) e já avança.
76
+
77
+ ## Como invocar
78
+
79
+ ```text
80
+ /site-forge <url> <skill> → Modo A (transform)
81
+ /site-forge <url> → Onboarding guiado
82
+ /site-forge <url> --skill-only → Modo D (só a skill)
83
+ /site-forge <url> <skill> --blend → Modo E (blend 50/50)
84
+ /site-forge <url> <skill> --blend=70 → Modo E (70% site / 30% skill)
85
+ ```
86
+
87
+ Com flags opcionais:
88
+
89
+ ```text
90
+ --viewport=desktop # só desktop (padrão: todos os três)
91
+ --no-download # pular download de assets
92
+ --no-crawl # pular crawl de links internos
93
+ --crawl-depth=N # seguir N níveis de links (padrão: 1)
94
+ --output=./dir # diretório customizado
95
+ --verbose # log detalhado
96
+ ```
97
+
98
+ ## Extração de assets melhorada
99
+
100
+ O agente captura imagens de **todas as fontes**, não só `<img>`:
101
+
102
+ - `<img>` com `srcset` e `data-src` (lazy loading)
103
+ - `background-image` em **qualquer elemento** via `getComputedStyle`
104
+ - `<picture> <source srcset>`
105
+ - `<video poster>` e `<source>` de vídeo
106
+ - `<use href>` de SVG externos
107
+ - `style=""` com `background-image` inline
108
+ - meta tags `og:image` e `twitter:image`
109
+
110
+ Antes de extrair, o agente faz scroll completo pela página para **disparar todos os lazy loads**.
111
+
112
+ ## Crawl de links internos
113
+
114
+ Por padrão o agente segue links internos para capturar assets e padrões de sub-páginas:
115
+
116
+ | Modo | Links seguidos (padrão) |
117
+ |------|------------------------|
118
+ | A, C (content harvest) | até 10 |
119
+ | B, D, E | até 5 |
120
+
121
+ Use `--no-crawl` para desativar ou `--crawl-depth=N` para ajustar.
122
+
123
+ ## Fluxo por fase
124
+
125
+ | Fase | O que acontece | Modos |
126
+ |------|---------------|-------|
127
+ | **0 — Preflight** | Browser MCP, skill, projeto Next.js | Todos |
128
+ | **1 — Reconnaissance** | Screenshots, deep asset extraction, crawl, interações | Todos |
129
+ | **2 — Extraction** | Spec de estrutura + conteúdo; valores estéticos (modos B/D/E) | Todos |
130
+ | **3A — Transform** | Mapa componente → skill com tokens | A, C |
131
+ | **3B — Skill forge** | Extrai design system e forja skill em `.aioson/installed-skills/` | B, D, E |
132
+ | **3E — Blend** | Mescla tokens do site com tokens da skill no ratio definido | E |
133
+ | **4 — Build** | Constrói componentes com worktrees, verifica `npm run build` | A, B, C, E |
134
+ | **5 — QA** | Screenshot diff, testes de interação, fidelidade de tokens | A, B, C, E |
135
+
136
+ **Modo D** termina após a Fase 3B — nenhum site é construído.
137
+
138
+ ## Output por modo
139
+
140
+ ```text
141
+ Todos os modos:
142
+ docs/research/<hostname>/
143
+ reconnaissance.json ← dados da navegação
144
+ crawl-manifest.json ← URLs visitadas e assets por página
145
+ structure-spec.md ← topologia e layout
146
+ interaction-spec.md ← modelo de interação
147
+ qa-report.md ← resultado do QA (modos A/B/C/E)
148
+
149
+ Modo A, C:
150
+ component-map.md ← mapeamento componente → skill
151
+
152
+ Modo B, D, E:
153
+ aesthetics-raw.json ← valores CSS extraídos
154
+
155
+ Modo E:
156
+ blend-map.md ← decisões de blend por token
157
+ blended-tokens.css ← tokens mesclados prontos para uso
158
+
159
+ Modos A, B, C, E (constrói site):
160
+ src/components/[todos os componentes]
161
+ src/app/page.tsx
162
+ src/app/globals.css
163
+ public/images/<hostname>/[assets baixados]
164
+
165
+ Modos B, D, E (forja skill):
166
+ .aioson/installed-skills/<hostname>/
167
+ SKILL.md
168
+ references/design-tokens.md
169
+ references/components.md
170
+ references/patterns.md
171
+ references/motion.md
172
+ references/websites.md
173
+ .skill-meta.json
174
+ ```
175
+
176
+ ## Fluxo completo: forge + clone
177
+
178
+ O caminho mais poderoso é criar uma skill sob medida com `design-hybrid-forge` e aplicá-la.
179
+
180
+ ### Passo 1 — Gerar o preset visual
181
+
182
+ ```bash
183
+ aioson design-hybrid:options . --locale=pt-BR
184
+ ```
185
+
186
+ ### Passo 2 — Forjar a skill híbrida
187
+
188
+ ```text
189
+ /design-hybrid-forge
190
+ → skills primárias: aurora-command-ui + cognitive-core-ui
191
+ → nome: aurora-cognitive-command
192
+ ```
193
+
194
+ ### Passo 3 — Aplicar no clone
195
+
196
+ ```text
197
+ /site-forge https://datadog.com aurora-cognitive-command
198
+ ```
199
+
200
+ Resultado: estrutura e interações do Datadog, visual da `aurora-cognitive-command`.
201
+
202
+ ---
203
+
204
+ Veja a documentação completa do seletor interativo em: [`design-hybrid-forge.md`](design-hybrid-forge.md)
205
+
206
+ ---
207
+
208
+ ## Exemplos práticos
209
+
210
+ ### Modo A — Clone com skill existente
211
+
212
+ ```text
213
+ /site-forge https://stripe.com aurora-command-ui
214
+ ```
215
+
216
+ Estrutura e fluxo do Stripe, visual da `aurora-command-ui`.
217
+
218
+ ---
219
+
220
+ ### Modo B — Réplica fiel + nova skill
221
+
222
+ ```text
223
+ /site-forge https://linear.app
224
+ ```
225
+
226
+ Forja uma skill em `.aioson/installed-skills/linear.app/` e constrói uma réplica fiel.
227
+
228
+ ---
229
+
230
+ ### Modo C — Colher conteúdo + nova estrutura com skill
231
+
232
+ Perguntar o modo via onboarding:
233
+
234
+ ```text
235
+ /site-forge https://framer.com
236
+ → escolha A no onboarding
237
+ → skill: clean-saas-ui
238
+ ```
239
+
240
+ Textos e imagens do Framer, layout e visual do `clean-saas-ui`.
241
+
242
+ ---
243
+
244
+ ### Modo D — Só a skill, sem construir
245
+
246
+ ```text
247
+ /site-forge https://resend.com --skill-only
248
+ ```
249
+
250
+ Forja `.aioson/installed-skills/resend.com/`. Nenhuma página é construída.
251
+
252
+ ---
253
+
254
+ ### Modo E — Blend 50/50
255
+
256
+ ```text
257
+ /site-forge https://vercel.com neo-brutalist-ui --blend
258
+ ```
259
+
260
+ Tokens mesclados 50% Vercel / 50% `neo-brutalist-ui`.
261
+
262
+ ---
263
+
264
+ ### Blend assimétrico (70% site)
265
+
266
+ ```text
267
+ /site-forge https://notion.so glassmorphism-ui --blend=70
268
+ ```
269
+
270
+ 70% tokens do Notion, 30% tokens da `glassmorphism-ui`.
271
+
272
+ ---
273
+
274
+ ### Clone em projeto existente
275
+
276
+ ```bash
277
+ cd meu-projeto-nextjs
278
+ /site-forge https://loom.com cognitive-core-ui
279
+ ```
280
+
281
+ O agente detecta o `package.json` com `next` e usa o projeto existente.
282
+
283
+ ## Diferença em relação a clonar manualmente
284
+
285
+ | Aspecto | Clone manual | site-forge |
286
+ |---------|-------------|--------------|
287
+ | Extração de imagens | Só `<img>` visíveis | img + CSS bg + srcset + lazy + video + SVG |
288
+ | Sub-páginas | Ignoradas | Crawl automático |
289
+ | Estética | Replica o original | Skill tokens, blend, ou extração fiel |
290
+ | Interações | Esquecidas facilmente | Mapeadas antes de construir |
291
+ | Build | Erros no final | Verificado após cada worktree |
292
+ | QA | Manual | Screenshot diff + checklist formal |
293
+
294
+ ## Nota sobre conteúdo e assets
295
+
296
+ Os textos e imagens extraídos são apenas para estruturar o clone durante o desenvolvimento. **Substitua todo o conteúdo antes de publicar.** O agente avisa ao final da Fase 1.
297
+
298
+ ## Quando usar
299
+
300
+ - você quer o comportamento/layout de um site de referência
301
+ - quer prototipar rapidamente com estrutura testada
302
+ - quer extrair o design de um site como skill reutilizável
303
+ - quer mesclar o visual de um site com sua brand
304
+ - o cliente mostrou um concorrente como referência de fluxo
305
+
306
+ ## Quando não usar
307
+
308
+ - o site tem proteção pesada (SPA autenticada, bot protection agressivo)
309
+ - você quer criar a estrutura do zero com total liberdade → use `/deyvin` ou `/dev`
@@ -0,0 +1,265 @@
1
+ # Spec & Learnings Pipeline
2
+
3
+ > Sincroniza specs Markdown com o SQLite e exporta learnings para memória procedural do projeto.
4
+
5
+ O AIOSON mantém duas representações do estado de desenvolvimento: os arquivos `spec-{slug}.md` em `.aioson/context/` (editados pelos agentes) e o banco SQLite `aios.sqlite` (lido pelo dashboard). Este pipeline conecta os dois automaticamente.
6
+
7
+ ---
8
+
9
+ ## Visão geral do fluxo
10
+
11
+ ```
12
+ @dev escreve spec-checkout.md
13
+ └─ ## Session Learnings: [process] commit por step
14
+ └─ frontmatter: phase_gates: {plan: approved}
15
+ └─ last_checkpoint: "Criando migration cart_items — step 3 de 5"
16
+
17
+ aioson spec:sync .
18
+ └─ project_learnings ← learnings upserted (frequency++)
19
+ └─ plan_phases ← phase_gates mapeadas para status
20
+
21
+ aioson spec:status .
22
+ └─ tabela de features com fase, agente, checkpoint
23
+
24
+ aioson learning:export . --min-frequency=2
25
+ └─ .aioson/brains/process-commit-por-step.md ← node Zettelkasten
26
+
27
+ aioson learning:evolve .
28
+ └─ genome ← learnings com frequency ≥ 5 promovidos
29
+ ```
30
+
31
+ ---
32
+
33
+ ## `aioson spec:sync`
34
+
35
+ Sincroniza learnings e phase gates de todos os specs para o SQLite.
36
+
37
+ ```bash
38
+ aioson spec:sync [path] [opções]
39
+ ```
40
+
41
+ **Opções:**
42
+
43
+ | Opção | Descrição |
44
+ |---|---|
45
+ | `--json` | Retorna JSON com contagem de learnings e fases sincronizadas |
46
+ | `--verbose` | Mostra detalhes de cada arquivo processado |
47
+
48
+ **Exemplo:**
49
+
50
+ ```bash
51
+ aioson spec:sync .
52
+ ```
53
+
54
+ Saída:
55
+
56
+ ```
57
+ Spec Sync — meu-projeto
58
+ ──────────────────────────────────────────────────
59
+ spec-checkout.md
60
+ Learnings synced: 3
61
+ Plan phases updated: 1
62
+ last_checkpoint: "Criando migration cart_items"
63
+ spec.md
64
+ Learnings synced: 2
65
+ ──────────────────────────────────────────────────
66
+ Summary: 5 learnings synced, 1 plan phases updated
67
+ ```
68
+
69
+ **Formato dos learnings no spec:**
70
+
71
+ ```markdown
72
+ ## Session Learnings
73
+ - [process] Fazer commit após cada step atômico, não só no final
74
+ - [domain] cart_items deve ter UNIQUE(cart_id, product_id)
75
+ - [quality] Rodar testes com --filter isola o módulo rapidamente
76
+ ```
77
+
78
+ Prefixos aceitos: `[process]`, `[domain]`, `[quality]`, `[preference]`.
79
+ Linhas sem prefixo são classificadas automaticamente como `[process]`.
80
+
81
+ **Idempotência:** rodar `spec:sync` duas vezes no mesmo spec não duplica learnings. Se o título já existe em `project_learnings`, o campo `frequency` é incrementado (`frequency++`).
82
+
83
+ ---
84
+
85
+ ## `aioson spec:status`
86
+
87
+ Exibe o estado atual de todas as features com dados do SQLite.
88
+
89
+ ```bash
90
+ aioson spec:status [path] [opções]
91
+ ```
92
+
93
+ **Opções:**
94
+
95
+ | Opção | Descrição |
96
+ |---|---|
97
+ | `--json` | Retorna JSON com array de features e contagem de learnings |
98
+
99
+ **Exemplo:**
100
+
101
+ ```bash
102
+ aioson spec:status .
103
+ ```
104
+
105
+ Saída:
106
+
107
+ ```
108
+ Project Status — meu-projeto
109
+ ────────────────────────────────────────────────────────────────────────────────
110
+ Feature Phase Status Last Agent Checkpoint
111
+ ────────────────────────────────────────────────────────────────────────────────
112
+ checkout 2/5 in_progress dev Criando migration...
113
+ auth 5/5 done qa QA sign-off 2026-03-28
114
+ onboarding 0/5 not_started — —
115
+ ────────────────────────────────────────────────────────────────────────────────
116
+ Active learnings: 12 | Promotable (freq≥3): 4
117
+ ```
118
+
119
+ ---
120
+
121
+ ## `aioson spec:checkpoint`
122
+
123
+ Registra manualmente o `last_checkpoint` de um spec no SQLite. Útil quando a sessão caiu sem `agent:done`.
124
+
125
+ ```bash
126
+ aioson spec:checkpoint [path] --feature=<slug> [--agent=<agent>]
127
+ ```
128
+
129
+ **Opções:**
130
+
131
+ | Opção | Descrição |
132
+ |---|---|
133
+ | `--feature=<slug>` | Feature cujo spec será lido (obrigatório) |
134
+ | `--agent=<name>` | Agente da run ativa (padrão: `dev`) |
135
+ | `--json` | Retorna JSON com run_key e checkpoint registrado |
136
+
137
+ **Exemplo:**
138
+
139
+ ```bash
140
+ # Sessão do @dev em checkout caiu sem agent:done
141
+ aioson spec:checkpoint . --feature=checkout
142
+ ```
143
+
144
+ Saída:
145
+
146
+ ```
147
+ Reading spec-checkout.md...
148
+ last_checkpoint: "Criando migration cart_items — step 3 of 5"
149
+ phase_gates: {"plan":"approved","requirements":"approved","design":"pending"}
150
+
151
+ Checkpoint registered:
152
+ run_key: dev-1711234567890
153
+ summary: "Criando migration cart_items — step 3 of 5"
154
+ status: in_progress (checkpoint only — use agent:done to close)
155
+
156
+ Next: continue with /dev — start from last_checkpoint
157
+ ```
158
+
159
+ O comando procura a run mais recente do agente no SQLite e registra um evento `plan_checkpoint` nela. O run permanece `in_progress` — use `agent:done` para fechá-la quando terminar.
160
+
161
+ ---
162
+
163
+ ## `aioson learning:export`
164
+
165
+ Exporta `project_learnings` do SQLite para `.aioson/brains/` como nodes no formato Zettelkasten.
166
+
167
+ ```bash
168
+ aioson learning:export [path] [--min-frequency=N] [--json]
169
+ ```
170
+
171
+ **Opções:**
172
+
173
+ | Opção | Descrição |
174
+ |---|---|
175
+ | `--min-frequency=N` | Exporta apenas learnings com `frequency >= N` (padrão: 1) |
176
+ | `--json` | Retorna JSON com lista de nodes exportados |
177
+
178
+ **Exemplos:**
179
+
180
+ ```bash
181
+ # Exportar todos os learnings ativos
182
+ aioson learning:export .
183
+
184
+ # Apenas learnings reforçados em 2+ sessões
185
+ aioson learning:export . --min-frequency=2
186
+ ```
187
+
188
+ Saída:
189
+
190
+ ```
191
+ Learning Export — min-frequency: 2
192
+ ──────────────────────────────────────────────────
193
+ process-commit-por-step.md ✓ (frequency: 4)
194
+ domain-cart-uniqueness.md ✓ (frequency: 3)
195
+ process-test-isolation.md ✓ (frequency: 2)
196
+ ──────────────────────────────────────────────────
197
+ 3 nodes written to .aioson/brains/
198
+ 2 learning(s) with frequency ≥ 5 — run: aioson learning:evolve to promote to genome
199
+ ```
200
+
201
+ **Formato do node exportado** (`.aioson/brains/process-commit-por-step.md`):
202
+
203
+ ```markdown
204
+ ---
205
+ id: process-commit-por-step
206
+ type: process
207
+ title: Fazer commit após cada step atômico, não só no final
208
+ frequency: 4
209
+ last_reinforced: 2026-04-01
210
+ source_feature: checkout
211
+ promoted_to: null
212
+ created_at: 2026-03-15
213
+ ---
214
+
215
+ # Fazer commit após cada step atômico
216
+
217
+ **Evidence:** Detected in 4 session(s).
218
+
219
+ ## Applications
220
+ - Review and apply this learning in future sessions of type: process
221
+
222
+ ## Links
223
+ <!-- Add cross-references here -->
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Fluxo recomendado após cada sessão do @dev
229
+
230
+ ```bash
231
+ # 1. Sincronizar spec com o SQLite
232
+ aioson spec:sync .
233
+
234
+ # 2. Ver estado atual das features
235
+ aioson spec:status .
236
+
237
+ # 3. Quando learnings se acumularem (≥ 2 sessões), exportar para brains
238
+ aioson learning:export . --min-frequency=2
239
+
240
+ # 4. Quando um learning atingir frequency ≥ 5, promover para genome
241
+ aioson learning:evolve .
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Integração com o spec.md
247
+
248
+ O `spec:sync` procura esses elementos em cada `spec-{slug}.md`:
249
+
250
+ | Elemento | Onde fica | O que faz |
251
+ |---|---|---|
252
+ | `## Session Learnings` | Corpo do arquivo | Cria/atualiza `project_learnings` |
253
+ | `phase_gates` | Frontmatter YAML | Atualiza `plan_phases.status` |
254
+ | `last_checkpoint` | Frontmatter ou seção | Exibido em `spec:status` |
255
+
256
+ **Exemplo de frontmatter de spec:**
257
+
258
+ ```markdown
259
+ ---
260
+ feature: checkout
261
+ status: in_progress
262
+ phase_gates: {"plan": "approved", "requirements": "approved", "design": "pending"}
263
+ last_checkpoint: "Criando migration cart_items — step 3 de 5"
264
+ ---
265
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaimevalasek/aioson",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "AI operating framework for hyper-personalized software.",
5
5
  "keywords": [
6
6
  "ai",