@jaimevalasek/aioson 1.5.1 → 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.
- package/CHANGELOG.md +49 -0
- package/README.md +729 -226
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/integrations/sdlc-genius-boundary.md +76 -0
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
- package/docs/integrations/sdlc-genius-review-samples.md +86 -0
- package/docs/pt/README.md +10 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +9 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +915 -1
- package/docs/pt/design-hybrid-forge.md +356 -0
- package/docs/pt/devlog-pipeline.md +270 -0
- package/docs/pt/fluxo-artefatos.md +178 -0
- package/docs/pt/hooks-session-guard.md +454 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +158 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/sdd-automation-scripts.md +557 -0
- package/docs/pt/site-forge.md +309 -0
- package/docs/pt/skills.md +98 -6
- package/docs/pt/spec-learnings-pipeline.md +265 -0
- package/package.json +1 -1
- package/src/a2a/client.js +165 -0
- package/src/a2a/server.js +223 -0
- package/src/agent-loader.js +280 -0
- package/src/cli.js +329 -1
- package/src/commands/agent-audit.js +397 -0
- package/src/commands/agent-export-skill.js +229 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/artifact-validate.js +189 -0
- package/src/commands/brief-gen.js +405 -0
- package/src/commands/brief-validate.js +65 -0
- package/src/commands/classify.js +256 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-compact.js +49 -0
- package/src/commands/context-health.js +175 -0
- package/src/commands/context-monitor.js +163 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/context-trim.js +177 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/detect-test-runner.js +55 -0
- package/src/commands/devlog-export-brains.js +27 -0
- package/src/commands/devlog-process.js +292 -0
- package/src/commands/devlog-watch.js +131 -0
- package/src/commands/feature-close.js +165 -0
- package/src/commands/gate-check.js +228 -0
- package/src/commands/health.js +214 -0
- package/src/commands/hooks-emit.js +253 -0
- package/src/commands/hooks-install.js +347 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-auto-promote.js +195 -0
- package/src/commands/learning-evolve.js +364 -0
- package/src/commands/learning-export.js +103 -0
- package/src/commands/learning-rollback.js +164 -0
- package/src/commands/live.js +59 -1
- package/src/commands/pattern-detect.js +33 -0
- package/src/commands/preflight-context.js +30 -0
- package/src/commands/preflight.js +208 -0
- package/src/commands/pulse-update.js +130 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/runner-daemon.js +274 -0
- package/src/commands/runner-plan.js +70 -0
- package/src/commands/runner-queue-from-plan.js +166 -0
- package/src/commands/runner-queue.js +189 -0
- package/src/commands/runner-run.js +129 -0
- package/src/commands/runtime.js +47 -1
- package/src/commands/sandbox.js +37 -0
- package/src/commands/self-implement-loop.js +256 -0
- package/src/commands/session-guard.js +218 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/sizing.js +165 -0
- package/src/commands/skill.js +144 -32
- package/src/commands/spec-checkpoint.js +177 -0
- package/src/commands/spec-status.js +79 -0
- package/src/commands/spec-sync.js +190 -0
- package/src/commands/spec-tasks.js +288 -0
- package/src/commands/squad-autorun.js +1220 -0
- package/src/commands/squad-bus.js +217 -0
- package/src/commands/squad-card.js +149 -0
- package/src/commands/squad-daemon.js +134 -0
- package/src/commands/squad-dependency-graph.js +164 -0
- package/src/commands/squad-review.js +106 -0
- package/src/commands/squad-scaffold.js +55 -0
- package/src/commands/squad-tool-register.js +157 -0
- package/src/commands/state-save.js +122 -0
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +9 -0
- package/src/commands/verify-gate.js +572 -0
- package/src/commands/workflow-execute.js +241 -0
- package/src/constants.js +18 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +475 -0
- package/src/installer.js +44 -10
- package/src/lib/health-check.js +158 -0
- package/src/lib/hook-protocol.js +76 -0
- package/src/mcp/apps/squad-dashboard/app.js +163 -0
- package/src/mcp/apps/squad-dashboard/index.html +261 -0
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
- package/src/mcp/resources/squad-state.js +130 -0
- package/src/parser.js +7 -1
- package/src/preflight-engine.js +443 -0
- package/src/recovery-context-session.js +154 -0
- package/src/runner/cascade.js +97 -0
- package/src/runner/cli-launcher.js +109 -0
- package/src/runner/plan-importer.js +63 -0
- package/src/runner/queue-store.js +159 -0
- package/src/runtime-store.js +158 -4
- package/src/sandbox.js +177 -0
- package/src/squad/agent-teams-adapter.js +264 -0
- package/src/squad/brief-validator.js +350 -0
- package/src/squad/bus-bridge.js +140 -0
- package/src/squad/context-compactor.js +265 -0
- package/src/squad/cross-ai-synthesizer.js +250 -0
- package/src/squad/hooks-generator.js +196 -0
- package/src/squad/inter-squad-events.js +175 -0
- package/src/squad/intra-bus.js +345 -0
- package/src/squad/learning-extractor.js +213 -0
- package/src/squad/pattern-detector.js +365 -0
- package/src/squad/preflight-context.js +296 -0
- package/src/squad/recovery-context.js +242 -71
- package/src/squad/reflection.js +365 -0
- package/src/squad/squad-scaffold.js +177 -0
- package/src/squad/state-manager.js +310 -0
- package/src/squad/task-decomposer.js +652 -0
- package/src/squad/verify-gate.js +303 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +10 -3
- package/src/worker-runner.js +186 -1
- package/template/.aioson/agents/analyst.md +119 -3
- package/template/.aioson/agents/architect.md +98 -0
- package/template/.aioson/agents/design-hybrid-forge.md +141 -0
- package/template/.aioson/agents/dev.md +335 -14
- package/template/.aioson/agents/deyvin.md +117 -2
- package/template/.aioson/agents/discovery-design-doc.md +44 -0
- package/template/.aioson/agents/genome.md +14 -0
- package/template/.aioson/agents/neo.md +78 -1
- package/template/.aioson/agents/orache.md +50 -4
- package/template/.aioson/agents/orchestrator.md +197 -1
- package/template/.aioson/agents/pm.md +93 -0
- package/template/.aioson/agents/product.md +77 -4
- package/template/.aioson/agents/profiler-enricher.md +14 -0
- package/template/.aioson/agents/profiler-forge.md +14 -0
- package/template/.aioson/agents/profiler-researcher.md +14 -0
- package/template/.aioson/agents/qa.md +249 -19
- package/template/.aioson/agents/setup.md +144 -12
- package/template/.aioson/agents/sheldon.md +237 -11
- package/template/.aioson/agents/site-forge.md +1753 -0
- package/template/.aioson/agents/squad.md +162 -0
- package/template/.aioson/agents/tester.md +209 -0
- package/template/.aioson/agents/ux-ui.md +34 -1
- package/template/.aioson/brains/README.md +128 -0
- package/template/.aioson/brains/_index.json +16 -0
- package/template/.aioson/brains/scripts/query.js +103 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
- package/template/.aioson/config.md +158 -13
- package/template/.aioson/constitution.md +33 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/project-pulse.md +34 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/docs/LAYERS.md +79 -0
- package/template/.aioson/docs/README.md +76 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -0
- package/template/.aioson/locales/en/agents/architect.md +17 -0
- package/template/.aioson/locales/en/agents/dev.md +79 -13
- package/template/.aioson/locales/en/agents/orache.md +6 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
- package/template/.aioson/locales/en/agents/product.md +50 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/en/agents/sheldon.md +115 -0
- package/template/.aioson/locales/en/agents/squad.md +14 -0
- package/template/.aioson/locales/en/agents/tester.md +6 -0
- package/template/.aioson/locales/es/agents/analyst.md +2 -0
- package/template/.aioson/locales/es/agents/architect.md +19 -0
- package/template/.aioson/locales/es/agents/dev.md +64 -4
- package/template/.aioson/locales/es/agents/deyvin.md +2 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/es/agents/genome.md +2 -0
- package/template/.aioson/locales/es/agents/neo.md +2 -0
- package/template/.aioson/locales/es/agents/orache.md +2 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/es/agents/pair.md +2 -0
- package/template/.aioson/locales/es/agents/pm.md +2 -0
- package/template/.aioson/locales/es/agents/product.md +52 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/es/agents/qa.md +2 -0
- package/template/.aioson/locales/es/agents/setup.md +35 -1
- package/template/.aioson/locales/es/agents/sheldon.md +117 -0
- package/template/.aioson/locales/es/agents/squad.md +16 -0
- package/template/.aioson/locales/es/agents/tester.md +9 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/fr/agents/analyst.md +2 -0
- package/template/.aioson/locales/fr/agents/architect.md +19 -0
- package/template/.aioson/locales/fr/agents/dev.md +64 -4
- package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
- package/template/.aioson/locales/fr/agents/genome.md +2 -0
- package/template/.aioson/locales/fr/agents/neo.md +2 -0
- package/template/.aioson/locales/fr/agents/orache.md +2 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
- package/template/.aioson/locales/fr/agents/pair.md +2 -0
- package/template/.aioson/locales/fr/agents/pm.md +2 -0
- package/template/.aioson/locales/fr/agents/product.md +52 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
- package/template/.aioson/locales/fr/agents/qa.md +2 -0
- package/template/.aioson/locales/fr/agents/setup.md +35 -1
- package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
- package/template/.aioson/locales/fr/agents/squad.md +16 -0
- package/template/.aioson/locales/fr/agents/tester.md +9 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
- package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
- package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
- package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
- package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
- package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
- package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
- package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
- package/template/.aioson/rules/README.md +69 -0
- package/template/.aioson/rules/data-format-convention.md +136 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
- package/template/.aioson/skills/static/context-budget-guide.md +46 -0
- package/template/.aioson/skills/static/harness-sensors.md +74 -0
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
- package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
- package/template/.aioson/skills/static/threejs-patterns.md +929 -0
- package/template/.aioson/skills/static/web-research-cache.md +112 -0
- package/template/.aioson/tasks/implementation-plan.md +21 -1
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/orache.md +5 -0
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
- package/template/AGENTS.md +75 -1
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +4 -0
- package/template/researchs/.gitkeep +0 -0
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
# `design-hybrid-forge`
|
|
2
|
+
|
|
3
|
+
Página canônica do fluxo de criação de skills híbridas de design do AIOSON.
|
|
4
|
+
|
|
5
|
+
Esse fluxo existe para transformar 2 skills de design já existentes em uma nova skill local do projeto, com suporte opcional a um preset visual temporário gerado por `design-hybrid:options`.
|
|
6
|
+
|
|
7
|
+
## O que ele faz
|
|
8
|
+
|
|
9
|
+
- cria uma nova skill em `.aioson/installed-skills/{slug}/`
|
|
10
|
+
- exige 2 skills primárias
|
|
11
|
+
- aceita 0 a 2 modificadores por padrão
|
|
12
|
+
- aceita 0 a 3 modificadores no modo avançado
|
|
13
|
+
- pode aplicar um overlay visual mais extravagante, clássico, animado ou CSS-forward
|
|
14
|
+
- registra autor, modelo e origem quando esses dados estiverem disponíveis
|
|
15
|
+
- preserva histórico da geração em `.aioson/context/history/design-variation-presets/`
|
|
16
|
+
|
|
17
|
+
## Fluxo recomendado
|
|
18
|
+
|
|
19
|
+
1. Escolha ou confirme as 2 skills primárias.
|
|
20
|
+
2. Se quiser uma direção visual mais marcada, rode `aioson design-hybrid:options`.
|
|
21
|
+
3. O comando monta um preset em `.aioson/context/design-variation-preset.md`.
|
|
22
|
+
4. O agente `@design-hybrid-forge` lê esse preset e conduz a síntese.
|
|
23
|
+
5. A skill final nasce em `.aioson/installed-skills/{slug}/`.
|
|
24
|
+
6. Depois da geração, o preset ativo deve sair do contexto e ficar só o histórico.
|
|
25
|
+
|
|
26
|
+
## Locale
|
|
27
|
+
|
|
28
|
+
O seletor usa `conversation_language` do `project.context.md` quando existir.
|
|
29
|
+
|
|
30
|
+
Se você quiser forçar a interface, use:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
aioson design-hybrid:options . --locale=pt-BR
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Use `--locale` como override, não como regra principal.
|
|
37
|
+
|
|
38
|
+
## Modificadores
|
|
39
|
+
|
|
40
|
+
Por padrão, o sistema trabalha com até 2 modificadores. Eles servem para lanes pequenas:
|
|
41
|
+
|
|
42
|
+
- motion
|
|
43
|
+
- textura
|
|
44
|
+
- tipografia
|
|
45
|
+
- navegação secundária
|
|
46
|
+
- detalhes de componentes
|
|
47
|
+
|
|
48
|
+
No modo avançado, `aioson design-hybrid:options --advanced` libera um 3º modificador. Mesmo assim, ele continua sem poder assumir substrato ou estrutura.
|
|
49
|
+
|
|
50
|
+
## Preset temporário
|
|
51
|
+
|
|
52
|
+
O arquivo `.aioson/context/design-variation-preset.md` não é configuração permanente do projeto.
|
|
53
|
+
|
|
54
|
+
Ele deve ser tratado como:
|
|
55
|
+
|
|
56
|
+
- input temporário para a próxima geração
|
|
57
|
+
- referência de execução para a skill híbrida
|
|
58
|
+
- artefato descartável após a geração
|
|
59
|
+
|
|
60
|
+
A cópia em `.aioson/context/history/design-variation-presets/` é a trilha de auditoria e pode ficar arquivada.
|
|
61
|
+
|
|
62
|
+
## Onde a skill nasce
|
|
63
|
+
|
|
64
|
+
O destino padrão é sempre:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
.aioson/installed-skills/{slug}/
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Esse é o local que o AIOSON usa para skills instaladas ou geradas localmente no projeto. Se houver promoção para o core ou marketplace, isso é uma segunda etapa separada.
|
|
71
|
+
|
|
72
|
+
## Quando usar
|
|
73
|
+
|
|
74
|
+
Use esse fluxo quando você quiser:
|
|
75
|
+
|
|
76
|
+
- criar uma skill de design nova a partir de duas já existentes
|
|
77
|
+
- evitar resultado genérico ou "mais do mesmo"
|
|
78
|
+
- combinar estrutura de uma skill com a expressão visual de outra
|
|
79
|
+
- gerar uma skill local versionada no projeto
|
|
80
|
+
|
|
81
|
+
Não use esse fluxo para aplicar uma skill em um produto já existente. Nesse caso, use a skill final gerada em seu próprio `SKILL.md`.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Como funciona o `aioson design-hybrid:options`
|
|
86
|
+
|
|
87
|
+
O comando abre um seletor interativo no terminal com 7 grupos de perguntas. Cada grupo é apresentado um de cada vez — você responde, confirma, e avança para o próximo.
|
|
88
|
+
|
|
89
|
+
### Navegação
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
↑ / ↓ mover o cursor entre opções
|
|
93
|
+
espaço marcar / desmarcar uma opção
|
|
94
|
+
enter confirmar as seleções do grupo atual e avançar
|
|
95
|
+
q cancelar tudo
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Cada grupo permite múltiplas seleções. Ao pressionar enter, você avança para o próximo grupo automaticamente.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Grupo 1 — Modos de estilo
|
|
103
|
+
|
|
104
|
+
> Escolha de 1 a 3 atitudes visuais gerais.
|
|
105
|
+
|
|
106
|
+
| Opção | O que significa |
|
|
107
|
+
|-------|----------------|
|
|
108
|
+
| `classic-editorial` | Hierarquia medida, autoridade com serifa, luxo mais contido |
|
|
109
|
+
| `extravagant-maximalist` | Camadas densas, cor forte, abundância visual deliberada |
|
|
110
|
+
| `cinematic-immersive` | Narrativa atmosférica, contraste dramático, seções como cenas |
|
|
111
|
+
| `playful-dopamine` | Paletas vibrantes, energia otimista, detalhes expressivos |
|
|
112
|
+
| `neo-brutalist` | Arestas duras, estrutura visível, rejeição da polidez genérica |
|
|
113
|
+
| `retrofuturist` | Cromado, nostalgia sci-fi, otimismo arcade, futuro visto pelo passado |
|
|
114
|
+
| `luxury-modern` | Alto refinamento, respiro premium, ornamento seletivo, acabamento forte |
|
|
115
|
+
| `collage-handmade` | Ritmo de recorte, mixed media, imperfeição intencional |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### Grupo 2 — Movimentos de layout
|
|
120
|
+
|
|
121
|
+
> Escolha de 1 a 3 assinaturas de layout.
|
|
122
|
+
|
|
123
|
+
| Opção | O que significa |
|
|
124
|
+
|-------|----------------|
|
|
125
|
+
| `asymmetric-composition` | Peso desigual, blocos deslocados, tensão no lugar da simetria genérica |
|
|
126
|
+
| `narrative-scroll` | As seções se comportam como capítulos, não como pilhas de cards |
|
|
127
|
+
| `experimental-navigation` | Gavetas ocultas, ideias radiais, exploração em mapa, entradas não convencionais |
|
|
128
|
+
| `dense-mosaic` | Muitas superfícies, tamanhos variados de cards, colagem de informação |
|
|
129
|
+
| `split-screen` | Tensão persistente entre duas zonas visuais |
|
|
130
|
+
| `hero-signature` | Composição de abertura marcante que define o sistema inteiro |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Grupo 3 — Sistema de motion
|
|
135
|
+
|
|
136
|
+
> Escolha de 0 a 3 direções de motion.
|
|
137
|
+
|
|
138
|
+
| Opção | O que significa |
|
|
139
|
+
|-------|----------------|
|
|
140
|
+
| `restrained-microinteractions` | Feedback preciso e funcional, sem espetáculo gratuito |
|
|
141
|
+
| `kinetic-typography` | Tipografia animada como camada principal de narrativa |
|
|
142
|
+
| `scroll-driven-scenes` | Seções animam pelo progresso do scroll, não por reveals genéricos |
|
|
143
|
+
| `view-transitions` | A navegação carrega continuidade entre telas e estados |
|
|
144
|
+
| `cursor-reactive` | Proximidade do ponteiro, profundidade no hover, highlights reativos |
|
|
145
|
+
| `gamified-feedback` | Mudanças de estado lúdicas, loops de recompensa, momentos de delight |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Grupo 4 — Materiais e texturas
|
|
150
|
+
|
|
151
|
+
> Escolha de 0 a 3 linguagens de superfície.
|
|
152
|
+
|
|
153
|
+
| Opção | O que significa |
|
|
154
|
+
|-------|----------------|
|
|
155
|
+
| `glass-layers` | Blur, translucidez, bordas luminosas, profundidade via substrato |
|
|
156
|
+
| `grain-noise` | Textura controlada para quebrar a suavidade digital |
|
|
157
|
+
| `paper-editorial` | Superfícies quentes, ritmo de impresso, sombras e fibras sutis |
|
|
158
|
+
| `chrome-metallic` | Highlights especulares, acabamento de luxo futurista, reflexos |
|
|
159
|
+
| `soft-neumorphic` | Controles elevados/escavados com sensação tátil usados com moderação |
|
|
160
|
+
| `collage-cutout` | Fragmentos em camadas, bordas coladas, sensação de mixed media |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Grupo 5 — Movimentos tipográficos
|
|
165
|
+
|
|
166
|
+
> Escolha de 1 a 3 direções tipográficas.
|
|
167
|
+
|
|
168
|
+
| Opção | O que significa |
|
|
169
|
+
|-------|----------------|
|
|
170
|
+
| `bold-display` | Títulos grandes com personalidade forte |
|
|
171
|
+
| `variable-font-axes` | Variação de peso/largura/tamanho óptico usada como material de design |
|
|
172
|
+
| `serif-revival` | Calor, autoridade ou profundidade cultural contra a fadiga digital |
|
|
173
|
+
| `mono-rails` | Labels técnicos e ritmo de metadata como dispositivo estrutural |
|
|
174
|
+
| `compressed-headlines` | Drama alto ou condensado para sistemas cinematográficos ou editoriais |
|
|
175
|
+
| `mixed-type-system` | Duas ou mais famílias com papéis bem separados |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### Grupo 6 — CSS avançado
|
|
180
|
+
|
|
181
|
+
> Escolha de 0 a 4 técnicas de implementação.
|
|
182
|
+
|
|
183
|
+
| Opção | O que significa |
|
|
184
|
+
|-------|----------------|
|
|
185
|
+
| `scroll-driven-animations` | Use timelines de scroll/view em CSS para lógica de cenas |
|
|
186
|
+
| `view-transition-api` | Carrega continuidade entre rotas ou estados da UI |
|
|
187
|
+
| `mask-clip-path` | Revelações não retangulares, janelas de imagem, cortes ornamentais |
|
|
188
|
+
| `svg-filters-noise` | Distorção, grão, displacement, imperfeição tátil |
|
|
189
|
+
| `backdrop-filter` | Profundidade de vidro e translucidez em camadas |
|
|
190
|
+
| `3d-transforms` | Cards em perspectiva, pilhas com profundidade, momentos de hero imersivos |
|
|
191
|
+
| `sticky-storytelling` | Capítulos fixados, revelações progressivas, narrativa encenada |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### Grupo 7 — Guardrails anti-mesmice
|
|
196
|
+
|
|
197
|
+
> Escolha de 2 a 4 traços que devem aparecer no resultado final.
|
|
198
|
+
|
|
199
|
+
| Opção | O que significa |
|
|
200
|
+
|-------|----------------|
|
|
201
|
+
| `avoid-generic-hero` | A seção de abertura precisa ter um movimento estrutural distintivo |
|
|
202
|
+
| `uneven-rhythm` | Quebre a monotonia da grade repetitiva com variação controlada |
|
|
203
|
+
| `domain-specific-ornament` | A linguagem visual deve vir do domínio do produto, não do clichê SaaS |
|
|
204
|
+
| `signature-surface` | Pelo menos um tratamento de superfície deve ser inconfundível |
|
|
205
|
+
| `color-courage` | Permita contraste mais forte ou paleta mais rica quando servir à identidade |
|
|
206
|
+
| `motion-with-purpose` | Motion precisa comunicar hierarquia ou sensação, não preencher espaço |
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### O que o comando gera
|
|
211
|
+
|
|
212
|
+
Após as 7 telas, o seletor salva dois arquivos:
|
|
213
|
+
|
|
214
|
+
- **Ativo:** `.aioson/context/design-variation-preset.md` — lido pelo `@design-hybrid-forge` na próxima execução
|
|
215
|
+
- **Histórico:** `.aioson/context/history/design-variation-presets/<timestamp>.md` — trilha permanente
|
|
216
|
+
|
|
217
|
+
E exibe no terminal o bloco YAML para copiar direto ao prompt, caso prefira não usar o arquivo:
|
|
218
|
+
|
|
219
|
+
```yaml
|
|
220
|
+
variation_overlay:
|
|
221
|
+
style_modes:
|
|
222
|
+
- cinematic-immersive
|
|
223
|
+
- luxury-modern
|
|
224
|
+
layout_moves:
|
|
225
|
+
- hero-signature
|
|
226
|
+
- narrative-scroll
|
|
227
|
+
motion_system:
|
|
228
|
+
- scroll-driven-scenes
|
|
229
|
+
- restrained-microinteractions
|
|
230
|
+
materials_textures:
|
|
231
|
+
- glass-layers
|
|
232
|
+
typography_moves:
|
|
233
|
+
- compressed-headlines
|
|
234
|
+
- mixed-type-system
|
|
235
|
+
advanced_css:
|
|
236
|
+
- scroll-driven-animations
|
|
237
|
+
- backdrop-filter
|
|
238
|
+
anti_sameness:
|
|
239
|
+
- avoid-generic-hero
|
|
240
|
+
- signature-surface
|
|
241
|
+
- motion-with-purpose
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Exemplos práticos
|
|
247
|
+
|
|
248
|
+
### Dashboard SaaS dark com vidro e comando
|
|
249
|
+
|
|
250
|
+
Perfil: produto técnico, B2B, dark mode obrigatório.
|
|
251
|
+
|
|
252
|
+
Seleções no `design-hybrid:options`:
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
Style modes: cinematic-immersive, luxury-modern
|
|
256
|
+
Layout moves: hero-signature, dense-mosaic
|
|
257
|
+
Motion system: restrained-microinteractions, scroll-driven-scenes
|
|
258
|
+
Materials: glass-layers
|
|
259
|
+
Typography: mono-rails, bold-display
|
|
260
|
+
Advanced CSS: backdrop-filter, scroll-driven-animations
|
|
261
|
+
Anti-sameness: avoid-generic-hero, signature-surface, motion-with-purpose
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Depois ativar:
|
|
265
|
+
|
|
266
|
+
```text
|
|
267
|
+
/design-hybrid-forge
|
|
268
|
+
→ skills primárias: aurora-command-ui + cognitive-core-ui
|
|
269
|
+
→ nome sugerido: aurora-cognitive-command
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### Landing page de produto consumer com energia lúdica
|
|
275
|
+
|
|
276
|
+
Perfil: app mobile, público jovem, cor como protagonista.
|
|
277
|
+
|
|
278
|
+
Seleções no `design-hybrid:options`:
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
Style modes: playful-dopamine, extravagant-maximalist
|
|
282
|
+
Layout moves: asymmetric-composition, hero-signature
|
|
283
|
+
Motion system: gamified-feedback, cursor-reactive, kinetic-typography
|
|
284
|
+
Materials: grain-noise, collage-cutout
|
|
285
|
+
Typography: bold-display, variable-font-axes
|
|
286
|
+
Advanced CSS: view-transition-api, mask-clip-path
|
|
287
|
+
Anti-sameness: color-courage, uneven-rhythm, avoid-generic-hero, domain-specific-ornament
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Depois ativar:
|
|
291
|
+
|
|
292
|
+
```text
|
|
293
|
+
/design-hybrid-forge
|
|
294
|
+
→ skills primárias: warm-craft-ui + neo-brutalist-ui
|
|
295
|
+
→ nome sugerido: warm-brutalist-play
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
### Site editorial para marca de luxo
|
|
301
|
+
|
|
302
|
+
Perfil: marca premium, slow content, autoridade visual.
|
|
303
|
+
|
|
304
|
+
Seleções no `design-hybrid:options`:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
Style modes: classic-editorial, luxury-modern
|
|
308
|
+
Layout moves: narrative-scroll, split-screen
|
|
309
|
+
Motion system: restrained-microinteractions, view-transitions
|
|
310
|
+
Materials: paper-editorial, grain-noise
|
|
311
|
+
Typography: serif-revival, compressed-headlines
|
|
312
|
+
Advanced CSS: sticky-storytelling, view-transition-api
|
|
313
|
+
Anti-sameness: domain-specific-ornament, signature-surface, color-courage
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Depois ativar:
|
|
317
|
+
|
|
318
|
+
```text
|
|
319
|
+
/design-hybrid-forge
|
|
320
|
+
→ skills primárias: bold-editorial-ui + clean-saas-ui
|
|
321
|
+
→ nome sugerido: luxury-editorial-saas
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Exemplos de uso do CLI
|
|
327
|
+
|
|
328
|
+
Criar preset visual interativo:
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
aioson design-hybrid:options .
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Forçar PT-BR e modo avançado (3 modificadores):
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
aioson design-hybrid:options . --locale=pt-BR --advanced
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Inspecionar o catálogo completo sem abrir a UI interativa:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
aioson design-hybrid:options . --json
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
Depois, ativar a skill híbrida gerada:
|
|
347
|
+
|
|
348
|
+
```text
|
|
349
|
+
@design-hybrid-forge
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
ou, em clientes com slash commands:
|
|
353
|
+
|
|
354
|
+
```text
|
|
355
|
+
/design-hybrid-forge
|
|
356
|
+
```
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# Devlog Pipeline
|
|
2
|
+
|
|
3
|
+
> Processa devlogs escritos manualmente pelos agentes e sincroniza artifacts, decisions, learnings e verdict com o SQLite.
|
|
4
|
+
|
|
5
|
+
Quando o CLI `aioson` não está disponível (ex: Claude Code sem terminal, sessão sem live session ativa), os agentes escrevem devlogs em `aioson-logs/`. O devlog pipeline importa esses arquivos para o SQLite automaticamente, garantindo visibilidade no dashboard mesmo quando o CLI não foi chamado durante a sessão.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Formato do devlog
|
|
10
|
+
|
|
11
|
+
Salvar em: `aioson-logs/devlog-{agent}-{unix-timestamp}.md`
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
---
|
|
15
|
+
agent: dev
|
|
16
|
+
feature: checkout
|
|
17
|
+
session_key: direct-session:1711234567890:dev
|
|
18
|
+
started_at: 2026-04-01T14:23:00Z
|
|
19
|
+
finished_at: 2026-04-01T15:45:00Z
|
|
20
|
+
status: completed
|
|
21
|
+
verdict: null
|
|
22
|
+
plan_step: FASE-1
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Devlog: @dev — checkout — 2026-04-01
|
|
26
|
+
|
|
27
|
+
## Summary
|
|
28
|
+
Implementei a migration de cart_items e o AddToCart action com testes unitários.
|
|
29
|
+
|
|
30
|
+
## Artifacts
|
|
31
|
+
- src/database/migrations/003_cart_items.ts
|
|
32
|
+
- src/actions/cart/AddToCart.ts
|
|
33
|
+
- tests/cart/AddToCart.test.ts
|
|
34
|
+
|
|
35
|
+
## Decisions
|
|
36
|
+
- UUID para cart_id em vez de auto-increment — compatibilidade com múltiplas sessões
|
|
37
|
+
|
|
38
|
+
## Learnings
|
|
39
|
+
- [process] Rodar `npm test -- --filter=cart` isola testes do módulo rapidamente
|
|
40
|
+
- [domain] cart_items deve ter constraint UNIQUE(cart_id, product_id) para evitar duplicatas
|
|
41
|
+
|
|
42
|
+
## Blockers
|
|
43
|
+
- Nenhum
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Campos obrigatórios:** `agent`, `started_at`, `finished_at`.
|
|
47
|
+
**Campos opcionais:** `feature`, `session_key`, `status`, `verdict`, `plan_step`.
|
|
48
|
+
|
|
49
|
+
**Devlog mínimo** (para sessões interrompidas):
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
---
|
|
53
|
+
agent: dev
|
|
54
|
+
feature: checkout
|
|
55
|
+
status: partial
|
|
56
|
+
started_at: 2026-04-01T14:23:00Z
|
|
57
|
+
finished_at: 2026-04-01T14:58:00Z
|
|
58
|
+
---
|
|
59
|
+
## Summary
|
|
60
|
+
Comecei a migration de cart_items — parei no step 2 de 5.
|
|
61
|
+
## Learnings
|
|
62
|
+
- [process] Sempre rodar migrations em ambiente de teste antes de commitar
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## `aioson devlog:process`
|
|
68
|
+
|
|
69
|
+
Processa todos os devlogs pendentes de `aioson-logs/` e sincroniza com o SQLite.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
aioson devlog:process [path] [opções]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Opções:**
|
|
76
|
+
|
|
77
|
+
| Opção | Descrição |
|
|
78
|
+
|---|---|
|
|
79
|
+
| `--json` | Retorna JSON com lista de resultados e contagens |
|
|
80
|
+
|
|
81
|
+
**O que o comando faz para cada devlog:**
|
|
82
|
+
|
|
83
|
+
| Seção | Destino no SQLite |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `## Artifacts` (caminhos de arquivo) | Tabela `artifacts` vinculada à run |
|
|
86
|
+
| `## Decisions` | `execution_events` com tipo `decision` |
|
|
87
|
+
| `## Learnings` (`[tipo] texto`) | `project_learnings` (upsert — frequency++) |
|
|
88
|
+
| `verdict` no frontmatter | `execution_events.verdict` (PASS/FAIL/PARTIAL) |
|
|
89
|
+
| `## Summary` | `agent_runs.summary` |
|
|
90
|
+
|
|
91
|
+
**Exemplo:**
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
aioson devlog:process .
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Saída:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Devlog Processing — meu-projeto
|
|
101
|
+
──────────────────────────────────────────────────
|
|
102
|
+
Found 3 devlog(s):
|
|
103
|
+
|
|
104
|
+
devlog-dev-1711234567.md
|
|
105
|
+
run: dev-1711234567890
|
|
106
|
+
Artifacts: 3 registered ✓
|
|
107
|
+
Decisions: 1 logged ✓
|
|
108
|
+
Learnings: 2 upserted ✓
|
|
109
|
+
|
|
110
|
+
devlog-qa-1711237890.md
|
|
111
|
+
run: qa-1711237890123
|
|
112
|
+
Artifacts: 1 registered ✓
|
|
113
|
+
Learnings: 1 upserted ✓
|
|
114
|
+
Verdict: PASS ✓
|
|
115
|
+
|
|
116
|
+
devlog-dev-1711241234.md — ⚠ missing frontmatter or agent field. Fix and re-run.
|
|
117
|
+
──────────────────────────────────────────────────
|
|
118
|
+
Processed: 2/3 devlogs
|
|
119
|
+
New learnings: 3 (queued for brains export)
|
|
120
|
+
Artifacts registered: 4
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Idempotência:** devlogs já processados recebem `processed_at` no frontmatter. Rodar o comando novamente os ignora.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## `aioson devlog:watch`
|
|
128
|
+
|
|
129
|
+
Daemon que observa `aioson-logs/` e processa automaticamente novos devlogs assim que são criados.
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
aioson devlog:watch [path] [opções]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Opções:**
|
|
136
|
+
|
|
137
|
+
| Opção | Descrição |
|
|
138
|
+
|---|---|
|
|
139
|
+
| `--poll` | Forçar modo polling (padrão automático no WSL2) |
|
|
140
|
+
|
|
141
|
+
**Detecção automática de WSL2:** o comando lê `/proc/version` e, se detectar `microsoft`, usa polling de 5 segundos em vez de `fs.watch` (que tem comportamento instável no WSL2).
|
|
142
|
+
|
|
143
|
+
**Exemplos:**
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Iniciar em background
|
|
147
|
+
aioson devlog:watch . &
|
|
148
|
+
|
|
149
|
+
# Ver output ao vivo (sem background)
|
|
150
|
+
aioson devlog:watch .
|
|
151
|
+
|
|
152
|
+
# Forçar polling em qualquer ambiente
|
|
153
|
+
aioson devlog:watch . --poll &
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Saída durante operação:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
[DEVLOG WATCHER] WSL2 detected — using polling (5s interval)
|
|
160
|
+
[DEVLOG WATCHER] Watching /meu-projeto/aioson-logs for new devlogs...
|
|
161
|
+
[DEVLOG WATCHER] Press Ctrl+C to stop.
|
|
162
|
+
[14:47:08] New: devlog-dev-1711237890.md → processing...
|
|
163
|
+
[14:47:09] Processed: devlog-dev-1711237890.md → 2 learnings, 3 artifacts → SQLite ✓
|
|
164
|
+
[14:51:33] New: devlog-qa-1711238200.md → processing...
|
|
165
|
+
[14:51:34] Processed: devlog-qa-1711238200.md → VERDICT: PASS → SQLite ✓
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Para parar: `Ctrl+C` ou `kill %1` se rodou em background.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## `aioson devlog:export-brains`
|
|
173
|
+
|
|
174
|
+
Exporta learnings de alta frequência dos devlogs para `.aioson/brains/` como nodes Zettelkasten.
|
|
175
|
+
|
|
176
|
+
Funciona exatamente como `learning:export` mas com `--min-frequency=2` por padrão (mais conservador para o pipeline de devlogs).
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
aioson devlog:export-brains [path] [--min-frequency=N] [--json]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Exemplos:**
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Exportar learnings reforçados em 2+ sessões (padrão)
|
|
186
|
+
aioson devlog:export-brains .
|
|
187
|
+
|
|
188
|
+
# Mais seletivo: apenas learnings reforçados em 3+ sessões
|
|
189
|
+
aioson devlog:export-brains . --min-frequency=3
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Saída:
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
Learning Export — min-frequency: 2
|
|
196
|
+
──────────────────────────────────────────────────
|
|
197
|
+
process-commit-por-step.md ✓ (frequency: 4)
|
|
198
|
+
domain-cart-uniqueness.md ✓ (frequency: 3)
|
|
199
|
+
──────────────────────────────────────────────────
|
|
200
|
+
2 nodes written to .aioson/brains/
|
|
201
|
+
Run: aioson learning:evolve to promote high-frequency nodes to genome.
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Pipeline completo
|
|
207
|
+
|
|
208
|
+
### Modo manual (pós-sessão)
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# 1. Processar devlogs acumulados
|
|
212
|
+
aioson devlog:process .
|
|
213
|
+
|
|
214
|
+
# 2. Checar estado das features
|
|
215
|
+
aioson spec:status .
|
|
216
|
+
|
|
217
|
+
# 3. Exportar learnings para brains
|
|
218
|
+
aioson devlog:export-brains . --min-frequency=2
|
|
219
|
+
|
|
220
|
+
# 4. Promover para genome quando frequency ≥ 5
|
|
221
|
+
aioson learning:evolve .
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Modo automático (background durante sessão)
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Iniciar watcher em background antes de começar a sessão
|
|
228
|
+
aioson devlog:watch . &
|
|
229
|
+
|
|
230
|
+
# ... trabalhar normalmente, escrever devlogs ao final de cada subsessão ...
|
|
231
|
+
|
|
232
|
+
# Depois da sessão: apenas exportar para brains
|
|
233
|
+
aioson devlog:export-brains . --min-frequency=2
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Devlog de @qa com verdict
|
|
239
|
+
|
|
240
|
+
O devlog do `@qa` deve incluir `verdict` no frontmatter para que o pipeline registre automaticamente o veredito no SQLite:
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
---
|
|
244
|
+
agent: qa
|
|
245
|
+
feature: checkout
|
|
246
|
+
status: completed
|
|
247
|
+
verdict: PASS
|
|
248
|
+
started_at: 2026-04-01T16:00:00Z
|
|
249
|
+
finished_at: 2026-04-01T17:30:00Z
|
|
250
|
+
---
|
|
251
|
+
## Summary
|
|
252
|
+
QA checkout — PASS. 5-step baseline + 2 adversarial probes. Sem regressões.
|
|
253
|
+
## Artifacts
|
|
254
|
+
- output/qa/checkout-qa-report.md
|
|
255
|
+
## Learnings
|
|
256
|
+
- [quality] Testar cart com 0 itens é caso de borda crítico — sempre incluir no baseline
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Após `devlog:process`, o veredito `PASS` aparece em `execution_events.verdict` e fica pesquisável no dashboard.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Diferença entre `devlog:process` e `devlog:sync`
|
|
264
|
+
|
|
265
|
+
| Comando | Faz |
|
|
266
|
+
|---|---|
|
|
267
|
+
| `devlog:sync` | Import básico: cria task + run + eventos de seção. Sem extração de learnings, artifacts ou verdict. |
|
|
268
|
+
| `devlog:process` | Import enriquecido: learnings → `project_learnings`, artifacts → tabela `artifacts`, decisions → `execution_events`, verdict → `execution_events.verdict`. |
|
|
269
|
+
|
|
270
|
+
Use `devlog:process` para o pipeline completo. `devlog:sync` é o comando legado mais simples.
|