@jaimevalasek/aioson 1.8.0 → 1.9.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 +595 -595
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -919
- package/bin/aioson.js +4 -4
- package/docs/design-previews/aurora-command-ui-website.html +884 -884
- package/docs/design-previews/aurora-command-ui.html +682 -682
- package/docs/design-previews/bold-editorial-ui-website.html +658 -658
- package/docs/design-previews/bold-editorial-ui.html +717 -717
- package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
- package/docs/design-previews/clean-saas-ui.html +549 -549
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
- package/docs/design-previews/cognitive-core-ui.html +463 -463
- package/docs/design-previews/glassmorphism-ui-website.html +572 -572
- package/docs/design-previews/glassmorphism-ui.html +886 -886
- package/docs/design-previews/index.html +699 -699
- package/docs/design-previews/interface-design-website.html +1187 -1187
- package/docs/design-previews/interface-design.html +513 -513
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
- package/docs/design-previews/neo-brutalist-ui.html +797 -797
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
- package/docs/design-previews/premium-command-center-ui.html +552 -552
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
- package/docs/design-previews/warm-craft-ui-website.html +684 -684
- package/docs/design-previews/warm-craft-ui.html +739 -739
- package/docs/en/1-understand/ecosystem-map.md +228 -0
- package/docs/en/1-understand/glossary.md +288 -0
- package/docs/en/1-understand/what-is-aioson.md +94 -0
- package/docs/en/1-understand/why-it-exists.md +106 -0
- package/docs/en/2-start/existing-project.md +246 -0
- package/docs/en/2-start/first-project.md +307 -0
- package/docs/en/2-start/initial-decisions.md +223 -0
- package/docs/en/3-recipes/README.md +28 -0
- package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
- package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
- package/docs/en/4-agents/README.md +56 -0
- package/docs/en/5-reference/README.md +60 -0
- package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -464
- package/docs/en/{i18n.md → 5-reference/i18n.md} +52 -52
- package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
- package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
- package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
- package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
- package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
- package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
- package/docs/en/{release.md → 5-reference/release.md} +28 -28
- package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
- package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
- package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
- package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
- package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
- package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -126
- package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
- package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
- package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
- package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -66
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/parallel-guard.schema.json +63 -63
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/{schemas → 5-reference/schemas}/parallel-merge.schema.json +84 -84
- package/docs/en/{schemas → 5-reference/schemas}/parallel-status.schema.json +184 -184
- package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
- package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
- package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
- package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
- package/docs/en/README.md +115 -0
- package/docs/en/active-learning-loop/README.md +117 -0
- package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
- package/docs/en/active-learning-loop/cli-commands.md +320 -0
- package/docs/en/active-learning-loop/diagrams.md +225 -0
- package/docs/en/active-learning-loop/doctor-checks.md +151 -0
- package/docs/en/active-learning-loop/how-to-use.md +313 -0
- package/docs/en/active-learning-loop/troubleshooting.md +283 -0
- package/docs/en/deyvin-subtask-scout/README.md +109 -0
- package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
- package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
- package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
- package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
- package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/integrations/apps-publish-marketplace.md +94 -94
- package/docs/integrations/sdlc-genius-boundary.md +76 -76
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
- package/docs/integrations/sdlc-genius-review-samples.md +86 -86
- package/docs/openclaw-bridge.md +308 -308
- package/docs/pt/1-entender/glossario.md +288 -0
- package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
- package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
- package/docs/pt/1-entender/por-que-existe.md +107 -0
- package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
- package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
- package/docs/pt/2-comecar/projeto-existente.md +245 -0
- package/docs/pt/3-receitas/README.md +28 -0
- package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
- package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
- package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
- package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
- package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
- package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
- package/docs/pt/3-receitas/landing-page.md +281 -0
- package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
- package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
- package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
- package/docs/pt/4-agentes/README.md +65 -0
- package/docs/pt/4-agentes/analyst.md +111 -0
- package/docs/pt/4-agentes/architect.md +113 -0
- package/docs/pt/4-agentes/briefing.md +95 -0
- package/docs/pt/4-agentes/committer.md +108 -0
- package/docs/pt/4-agentes/copywriter.md +279 -0
- package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
- package/docs/pt/4-agentes/dev.md +136 -0
- package/docs/pt/4-agentes/deyvin.md +99 -0
- package/docs/pt/4-agentes/discover.md +122 -0
- package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
- package/docs/pt/4-agentes/genome.md +115 -0
- package/docs/pt/4-agentes/neo.md +93 -0
- package/docs/pt/4-agentes/orache.md +107 -0
- package/docs/pt/4-agentes/orchestrator.md +118 -0
- package/docs/pt/4-agentes/pentester.md +131 -0
- package/docs/pt/4-agentes/pm.md +97 -0
- package/docs/pt/4-agentes/product.md +114 -0
- package/docs/pt/4-agentes/profiler-enricher.md +93 -0
- package/docs/pt/4-agentes/profiler-forge.md +93 -0
- package/docs/pt/4-agentes/profiler-researcher.md +98 -0
- package/docs/pt/4-agentes/qa.md +124 -0
- package/docs/pt/4-agentes/setup.md +104 -0
- package/docs/pt/4-agentes/sheldon.md +95 -0
- package/docs/pt/4-agentes/site-forge.md +104 -0
- package/docs/pt/4-agentes/squad.md +127 -0
- package/docs/pt/4-agentes/tester.md +105 -0
- package/docs/pt/4-agentes/ux-ui.md +110 -0
- package/docs/pt/4-agentes/validator.md +118 -0
- package/docs/pt/5-referencia/README.md +88 -0
- package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
- package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
- package/docs/pt/5-referencia/aioson-com-store.md +119 -0
- package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
- package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -290
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1781
- package/docs/pt/{compress-agents.md → 5-referencia/compress-agents.md} +304 -304
- package/docs/pt/{design-docs-governance.md → 5-referencia/design-docs-governance.md} +59 -59
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/{feature-archive.md → 5-referencia/feature-archive.md} +199 -191
- package/docs/pt/5-referencia/feature-dossier.md +121 -0
- package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
- package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -407
- package/docs/pt/{genome-distribution.md → 5-referencia/genome-distribution.md} +232 -232
- package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
- package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
- package/docs/pt/5-referencia/live-sessions.md +144 -0
- package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
- package/docs/pt/{motor-hardening.md → 5-referencia/motor-hardening.md} +493 -492
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/{runner-system.md → 5-referencia/runner-system.md} +113 -113
- package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
- package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
- package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
- package/docs/pt/5-referencia/sdd-framework.md +115 -0
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
- package/docs/pt/5-referencia/secure-by-default.md +117 -0
- package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
- package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
- package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
- package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
- package/docs/pt/README.md +111 -125
- package/docs/pt/_arquivo/README.md +130 -0
- package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
- package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
- package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
- package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
- package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
- package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
- package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
- package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
- package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -251
- package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
- package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
- package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
- package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
- package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
- package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
- package/docs/pt/active-learning-loop/README.md +117 -0
- package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
- package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
- package/docs/pt/active-learning-loop/como-usar.md +313 -0
- package/docs/pt/active-learning-loop/diagramas.md +225 -0
- package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
- package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
- package/docs/pt/agentes.md +996 -993
- package/docs/pt/deyvin-subtask-scout/README.md +109 -0
- package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
- package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
- package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
- package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
- package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/pt/living-memory/README.md +81 -0
- package/docs/pt/living-memory/autonomy-contract.md +206 -0
- package/docs/pt/living-memory/diagramas.md +365 -0
- package/docs/pt/living-memory/memoria-viva.md +141 -0
- package/docs/pt/living-memory/notificacoes-info.md +142 -0
- package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
- package/docs/pt/living-memory/troubleshooting.md +286 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -23
- package/docs/testing/genome-2.0-matrix.md +36 -36
- package/docs/testing/genome-2.0-rollout.md +184 -184
- package/package.json +51 -51
- package/src/a2a/client.js +165 -165
- package/src/a2a/server.js +223 -223
- package/src/agent-loader.js +280 -280
- package/src/agent-manifests.js +86 -66
- package/src/agents.js +92 -92
- package/src/autonomy-policy.js +163 -139
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -161
- package/src/cli.js +77 -4
- package/src/commands/agent-audit.js +397 -397
- package/src/commands/agent-export-skill.js +229 -229
- package/src/commands/agent-loader.js +85 -85
- package/src/commands/agents.js +273 -255
- package/src/commands/artifact-validate.js +218 -218
- package/src/commands/auth.js +298 -272
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -44
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -344
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -547
- package/src/commands/compress-agents.js +416 -416
- package/src/commands/config.js +90 -90
- package/src/commands/context-cache.js +90 -90
- package/src/commands/context-compact.js +49 -49
- package/src/commands/context-health.js +187 -177
- package/src/commands/context-load.js +219 -0
- package/src/commands/context-monitor.js +163 -163
- package/src/commands/context-pack.js +45 -45
- package/src/commands/context-search.js +66 -66
- package/src/commands/context-trim.js +183 -183
- package/src/commands/context-validate.js +91 -91
- package/src/commands/design-hybrid-options.js +385 -385
- package/src/commands/detect-test-runner.js +55 -55
- package/src/commands/dev-resume.js +32 -0
- package/src/commands/devlog-export-brains.js +27 -27
- package/src/commands/devlog-process.js +294 -294
- package/src/commands/devlog-watch.js +131 -131
- package/src/commands/doctor.js +123 -123
- package/src/commands/dossier-add-research.js +114 -0
- package/src/commands/dossier-audit.js +222 -0
- package/src/commands/dossier.js +423 -423
- package/src/commands/feature-archive.js +513 -513
- package/src/commands/feature-close.js +554 -270
- package/src/commands/gate-approve.js +198 -198
- package/src/commands/gate-check.js +247 -247
- package/src/commands/genome-doctor.js +489 -198
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -170
- package/src/commands/harness.js +307 -121
- package/src/commands/health.js +214 -214
- package/src/commands/hooks-emit.js +253 -253
- package/src/commands/hooks-install.js +347 -347
- package/src/commands/i18n-add.js +56 -56
- package/src/commands/implementation-plan.js +367 -367
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -120
- package/src/commands/install.js +162 -111
- package/src/commands/learning-auto-promote.js +197 -195
- package/src/commands/learning-evolve.js +364 -364
- package/src/commands/learning-export.js +103 -103
- package/src/commands/learning-rollback.js +164 -164
- package/src/commands/learning.js +134 -134
- package/src/commands/live.js +2101 -2082
- package/src/commands/locale-apply.js +54 -54
- package/src/commands/locale-diff.js +25 -25
- package/src/commands/mcp-doctor.js +407 -407
- package/src/commands/mcp-init.js +373 -373
- package/src/commands/memory-archive.js +193 -0
- package/src/commands/memory-reflect-commit.js +148 -0
- package/src/commands/memory-reflect-prepare.js +97 -0
- package/src/commands/memory-restore.js +177 -0
- package/src/commands/memory-search.js +135 -0
- package/src/commands/memory.js +299 -234
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -483
- package/src/commands/parallel-doctor.js +850 -850
- package/src/commands/parallel-guard.js +241 -241
- package/src/commands/parallel-init.js +311 -311
- package/src/commands/parallel-merge.js +299 -299
- package/src/commands/parallel-status.js +434 -434
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -267
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -166
- package/src/commands/qa-report.js +58 -58
- package/src/commands/qa-run.js +873 -873
- package/src/commands/qa-scan.js +337 -337
- package/src/commands/recovery.js +43 -43
- package/src/commands/revision.js +235 -235
- package/src/commands/runner-daemon.js +274 -274
- package/src/commands/runner-plan.js +70 -70
- package/src/commands/runner-queue-from-plan.js +166 -166
- package/src/commands/runner-queue.js +189 -189
- package/src/commands/runner-run.js +129 -129
- package/src/commands/runtime.js +2086 -2067
- package/src/commands/sandbox.js +37 -37
- package/src/commands/scaffold-complete.js +188 -188
- package/src/commands/scan-project.js +1371 -1371
- package/src/commands/scout-commit.js +163 -0
- package/src/commands/scout-prep.js +214 -0
- package/src/commands/scout-validate.js +112 -0
- package/src/commands/security-audit.js +275 -275
- package/src/commands/security-scan.js +376 -376
- package/src/commands/self-implement-loop.js +306 -300
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -699
- package/src/commands/setup.js +178 -178
- package/src/commands/sizing.js +165 -165
- package/src/commands/skill.js +670 -670
- package/src/commands/smoke.js +426 -426
- package/src/commands/spec-checkpoint.js +177 -177
- package/src/commands/spec-status.js +79 -79
- package/src/commands/spec-sync.js +190 -190
- package/src/commands/spec-tasks.js +288 -288
- package/src/commands/squad-agent-create.js +830 -830
- package/src/commands/squad-autorun.js +1220 -1220
- package/src/commands/squad-bus.js +217 -217
- package/src/commands/squad-card.js +149 -149
- package/src/commands/squad-daemon.js +343 -343
- package/src/commands/squad-dashboard.js +39 -39
- package/src/commands/squad-dependency-graph.js +164 -164
- package/src/commands/squad-deploy.js +64 -64
- package/src/commands/squad-doctor.js +460 -460
- package/src/commands/squad-export.js +77 -46
- package/src/commands/squad-investigate.js +314 -314
- package/src/commands/squad-learning.js +209 -209
- package/src/commands/squad-mcp.js +270 -270
- package/src/commands/squad-pipeline.js +343 -343
- package/src/commands/squad-plan.js +361 -361
- package/src/commands/squad-processes.js +56 -56
- package/src/commands/squad-recovery.js +42 -42
- package/src/commands/squad-repair-genomes.js +39 -39
- package/src/commands/squad-review.js +106 -106
- package/src/commands/squad-roi.js +291 -291
- package/src/commands/squad-scaffold.js +56 -56
- package/src/commands/squad-score.js +311 -307
- package/src/commands/squad-status.js +481 -481
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -438
- package/src/commands/squad-webhook.js +160 -160
- package/src/commands/squad-worker.js +191 -191
- package/src/commands/squad-worktrees.js +75 -75
- package/src/commands/state-save.js +122 -122
- package/src/commands/store-genome.js +667 -304
- package/src/commands/store-skill.js +247 -247
- package/src/commands/store-squad.js +431 -431
- package/src/commands/store-system.js +392 -392
- package/src/commands/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -63
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +64 -64
- package/src/commands/verify-gate.js +612 -612
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -730
- package/src/commands/workflow-harden.js +231 -231
- package/src/commands/workflow-heal.js +136 -136
- package/src/commands/workflow-next.js +1279 -1039
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -440
- package/src/commands/workspace.js +144 -144
- package/src/constants.js +413 -384
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -966
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -197
- package/src/context.js +247 -247
- package/src/delivery-runner.js +319 -319
- package/src/design-variation-catalog.js +503 -503
- package/src/detector.js +261 -261
- package/src/doctor.js +760 -329
- package/src/dossier/codemap-store.js +267 -267
- package/src/dossier/dossier-bootstrap.js +222 -222
- package/src/dossier/dossier-compact.js +159 -159
- package/src/dossier/lock.js +128 -128
- package/src/dossier/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -313
- package/src/dossier/schema.js +162 -155
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -400
- package/src/execution-gateway.js +464 -464
- package/src/friction-scanner.js +202 -202
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -238
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -500
- package/src/handoff-contract.js +417 -363
- package/src/handoff-validator.js +45 -45
- package/src/harness/circuit-breaker.js +135 -135
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1541 -1434
- package/src/i18n/messages/es.js +1325 -1221
- package/src/i18n/messages/fr.js +1333 -1229
- package/src/i18n/messages/pt-BR.js +1561 -1457
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -127
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +449 -358
- package/src/learning-loop-archive.js +595 -0
- package/src/learning-loop-doctor.js +217 -0
- package/src/learning-loop-engine.js +254 -0
- package/src/learning-loop-fts5.js +132 -0
- package/src/learning-loop-migration.js +163 -0
- package/src/lib/dev-resume.js +140 -0
- package/src/lib/dossier-telemetry.js +36 -0
- package/src/lib/genomes/compat.js +206 -206
- package/src/lib/genomes/migrate.js +90 -90
- package/src/lib/git-commit-guard.js +751 -691
- package/src/lib/health-check.js +158 -158
- package/src/lib/hook-protocol.js +76 -76
- package/src/lib/llm-content-sanitizer.js +44 -0
- package/src/lib/security/artifact-reader.js +167 -167
- package/src/lib/security/exit-codes.js +51 -51
- package/src/lib/security/findings-writer.js +176 -176
- package/src/lib/security/runtime-events.js +77 -77
- package/src/lib/security/secrets-regex.js +115 -115
- package/src/lib/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -173
- package/src/lib/terminal-checkbox.js +135 -130
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -163
- package/src/lib/tool-capabilities.js +102 -102
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -88
- package/src/mcp/apps/squad-dashboard/app.js +163 -163
- package/src/mcp/apps/squad-dashboard/index.html +261 -261
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
- package/src/mcp/resources/squad-state.js +130 -130
- package/src/mcp-connectors/registry.js +602 -602
- package/src/memory-reflect-engine.js +359 -0
- package/src/notify-renderer.js +32 -0
- package/src/onboarding.js +305 -305
- package/src/parallel-workspace.js +756 -756
- package/src/parser.js +66 -66
- package/src/path-guard.js +47 -47
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -654
- package/src/prompt-tool.js +20 -20
- package/src/qa-html-report.js +472 -472
- package/src/recovery-context-session.js +154 -154
- package/src/runner/cascade.js +97 -97
- package/src/runner/cli-launcher.js +109 -109
- package/src/runner/plan-importer.js +63 -63
- package/src/runner/queue-store.js +159 -159
- package/src/runtime-store.js +2720 -2676
- package/src/sandbox.js +194 -177
- package/src/self-healing.js +142 -142
- package/src/session-handoff.js +295 -187
- package/src/squad/agent-teams-adapter.js +270 -264
- package/src/squad/brief-validator.js +350 -350
- package/src/squad/bus-bridge.js +140 -140
- package/src/squad/context-compactor.js +265 -265
- package/src/squad/cross-ai-synthesizer.js +250 -250
- package/src/squad/external-session.js +180 -180
- package/src/squad/hooks-generator.js +196 -196
- package/src/squad/inter-squad-events.js +175 -175
- package/src/squad/inter-squad.js +74 -74
- package/src/squad/intra-bus.js +345 -345
- package/src/squad/learning-extractor.js +213 -213
- package/src/squad/pattern-detector.js +365 -365
- package/src/squad/preflight-context.js +296 -296
- package/src/squad/recovery-context.js +372 -372
- package/src/squad/reflection.js +365 -365
- package/src/squad/squad-scaffold.js +341 -341
- package/src/squad/state-manager.js +310 -310
- package/src/squad/task-decomposer.js +652 -652
- package/src/squad/verify-gate.js +303 -303
- package/src/squad/worktree-manager.js +114 -114
- package/src/squad-daemon.js +490 -490
- package/src/squad-dashboard/api.js +223 -223
- package/src/squad-dashboard/attachment-handler.js +93 -93
- package/src/squad-dashboard/context-monitor.js +157 -157
- package/src/squad-dashboard/execution-logs.js +115 -115
- package/src/squad-dashboard/hunk-review.js +209 -209
- package/src/squad-dashboard/metrics.js +133 -133
- package/src/squad-dashboard/process-monitor.js +125 -125
- package/src/squad-dashboard/renderer.js +858 -858
- package/src/squad-dashboard/server.js +232 -232
- package/src/squad-dashboard/styles.js +525 -525
- package/src/squad-dashboard/token-tracker.js +99 -99
- package/src/squads/apply-genome.js +21 -21
- package/src/squads/genome-binding-service.js +154 -154
- package/src/sub-task-engine.js +415 -0
- package/src/sub-task-schemas.js +150 -0
- package/src/sub-task-state.js +152 -0
- package/src/sub-task-telemetry.js +69 -0
- package/src/test-briefing.js +226 -226
- package/src/tool-executor.js +94 -94
- package/src/updater.js +39 -39
- package/src/utils.js +49 -49
- package/src/version.js +50 -50
- package/src/web.js +284 -284
- package/src/worker-runner.js +541 -524
- package/src/workflow-gates.js +185 -185
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +333 -318
- package/template/.aioson/agents/architect.md +325 -305
- package/template/.aioson/agents/{cypher.md → briefing.md} +264 -252
- package/template/.aioson/agents/committer.md +161 -161
- package/template/.aioson/agents/copywriter.md +937 -463
- package/template/.aioson/agents/design-hybrid-forge.md +141 -141
- package/template/.aioson/agents/dev.md +295 -263
- package/template/.aioson/agents/deyvin.md +198 -87
- package/template/.aioson/agents/discover.md +235 -235
- package/template/.aioson/agents/discovery-design-doc.md +56 -29
- package/template/.aioson/agents/genome.md +1904 -364
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -26
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -23
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -23
- package/template/.aioson/agents/manifests/dev.manifest.json +54 -37
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -30
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -39
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -26
- package/template/.aioson/agents/manifests/product.manifest.json +23 -23
- package/template/.aioson/agents/manifests/qa.manifest.json +41 -25
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -20
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -24
- package/template/.aioson/agents/neo.md +341 -231
- package/template/.aioson/agents/orache.md +430 -430
- package/template/.aioson/agents/orchestrator.md +274 -263
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -235
- package/template/.aioson/agents/pm.md +141 -130
- package/template/.aioson/agents/product.md +351 -273
- package/template/.aioson/agents/profiler-enricher.md +331 -331
- package/template/.aioson/agents/profiler-forge.md +212 -212
- package/template/.aioson/agents/profiler-researcher.md +282 -282
- package/template/.aioson/agents/qa.md +432 -342
- package/template/.aioson/agents/setup.md +423 -423
- package/template/.aioson/agents/sheldon.md +259 -197
- package/template/.aioson/agents/site-forge.md +281 -281
- package/template/.aioson/agents/squad.md +160 -156
- package/template/.aioson/agents/tester.md +536 -473
- package/template/.aioson/agents/ux-ui.md +195 -162
- package/template/.aioson/agents/validator.md +101 -69
- package/template/.aioson/brains/README.md +132 -128
- package/template/.aioson/brains/_archived/.gitkeep +0 -0
- package/template/.aioson/brains/_index.json +34 -16
- package/template/.aioson/brains/dev/patterns.brain.json +79 -0
- package/template/.aioson/brains/scripts/query.js +107 -107
- package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
- package/template/.aioson/config/autonomy-protocol.json +125 -43
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -410
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -136
- package/template/.aioson/context/project-map.md +57 -57
- package/template/.aioson/context/project-pulse.md +34 -34
- package/template/.aioson/context/seeds/seed-example.md +27 -27
- package/template/.aioson/context/spec.md.template +54 -54
- package/template/.aioson/context/user-profile.md +42 -42
- package/template/.aioson/design-docs/code-reuse.md +48 -48
- package/template/.aioson/design-docs/componentization.md +47 -47
- package/template/.aioson/design-docs/file-size.md +52 -52
- package/template/.aioson/design-docs/folder-structure.md +51 -51
- package/template/.aioson/design-docs/naming.md +54 -54
- package/template/.aioson/docs/LAYERS.md +89 -89
- package/template/.aioson/docs/README.md +76 -76
- package/template/.aioson/docs/autonomy-protocol.md +80 -0
- package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
- package/template/.aioson/docs/dev/execution-discipline.md +106 -106
- package/template/.aioson/docs/dev/stack-conventions.md +83 -83
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -57
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -30
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -44
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -36
- package/template/.aioson/docs/example-external-api-context.md +72 -72
- package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
- package/template/.aioson/docs/pentester/llm-supplychain.md +165 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -116
- package/template/.aioson/docs/product/prd-contract.md +107 -107
- package/template/.aioson/docs/product/quality-lens.md +57 -57
- package/template/.aioson/docs/product/research-loop.md +65 -65
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -134
- package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -57
- package/template/.aioson/docs/sheldon/research-loop.md +56 -56
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -75
- package/template/.aioson/docs/site-forge-build.md +195 -195
- package/template/.aioson/docs/site-forge-extraction.md +135 -135
- package/template/.aioson/docs/site-forge-qa.md +155 -155
- package/template/.aioson/docs/site-forge-recon.md +434 -434
- package/template/.aioson/docs/site-forge-transform.md +249 -249
- package/template/.aioson/docs/squad/content-output.md +91 -91
- package/template/.aioson/docs/squad/creation-flow.md +149 -135
- package/template/.aioson/docs/squad/domain-breadth.md +322 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -117
- package/template/.aioson/docs/squad/genome-bindings.md +47 -47
- package/template/.aioson/docs/squad/package-contract.md +260 -234
- package/template/.aioson/docs/squad/quality-lens.md +60 -56
- package/template/.aioson/docs/squad/research-loop.md +59 -59
- package/template/.aioson/docs/squad/session-operations.md +117 -117
- package/template/.aioson/docs/squad/workflow-quality.md +165 -165
- package/template/.aioson/docs/tester/coverage-quality.md +351 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -55
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -86
- package/template/.aioson/docs/ux-ui/component-map.md +35 -35
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -111
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -27
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -39
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -156
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -57
- package/template/.aioson/genomes/INDEX.md +195 -0
- package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
- package/template/.aioson/genomes/copywriting/manifest.json +140 -0
- package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
- package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
- package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
- package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
- package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
- package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
- package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
- package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
- package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
- package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
- package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
- package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
- package/template/.aioson/git-guard.json +12 -11
- package/template/.aioson/mcp/servers.md +23 -23
- package/template/.aioson/profiler-reports/.gitkeep +1 -1
- package/template/.aioson/rules/README.md +69 -69
- package/template/.aioson/rules/_archived/.gitkeep +0 -0
- package/template/.aioson/rules/agent-language-policy.md +93 -93
- package/template/.aioson/rules/aioson-context-boundary.md +63 -63
- package/template/.aioson/rules/canonical-path-contract.md +47 -47
- package/template/.aioson/rules/data-format-convention.md +74 -74
- package/template/.aioson/rules/disk-first-artifacts.md +44 -44
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- package/template/.aioson/rules/output-brevity.md +44 -44
- package/template/.aioson/rules/prd-section-ownership.md +49 -49
- package/template/.aioson/rules/security-baseline.md +139 -139
- package/template/.aioson/rules/spec-level-ownership.md +61 -61
- package/template/.aioson/rules/squad/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -81
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
- package/template/.aioson/schemas/genome-meta.schema.json +150 -150
- package/template/.aioson/schemas/genome.schema.json +115 -115
- package/template/.aioson/schemas/readiness.schema.json +27 -27
- package/template/.aioson/schemas/squad-blueprint.schema.json +228 -228
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -874
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
- package/template/.aioson/skills/design-system/SKILL.md +92 -92
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
- package/template/.aioson/skills/dynamic/README.md +30 -30
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
- package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
- package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
- package/template/.aioson/skills/marketing/references/patterns.md +218 -218
- package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -97
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
- package/template/.aioson/skills/squad/SKILL.md +58 -58
- package/template/.aioson/skills/squad/formats/catalog.json +15 -15
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
- package/template/.aioson/skills/static/context-budget-guide.md +46 -46
- package/template/.aioson/skills/static/debugging-protocol.md +42 -42
- package/template/.aioson/skills/static/django-patterns.md +342 -342
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
- package/template/.aioson/skills/static/filament-patterns.md +267 -267
- package/template/.aioson/skills/static/flux-ui-components.md +262 -262
- package/template/.aioson/skills/static/git-conventions.md +227 -227
- package/template/.aioson/skills/static/git-worktrees.md +36 -36
- package/template/.aioson/skills/static/harness-sensors.md +74 -74
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -46
- package/template/.aioson/skills/static/jetstream-setup.md +200 -200
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
- package/template/.aioson/skills/static/landing-page-forge.md +730 -730
- package/template/.aioson/skills/static/laravel-conventions.md +491 -491
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
- package/template/.aioson/skills/static/node-express-patterns.md +317 -317
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
- package/template/.aioson/skills/static/rails-conventions.md +307 -307
- package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
- package/template/.aioson/skills/static/static-html-patterns.md +80 -80
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
- package/template/.aioson/skills/static/threejs-patterns.md +929 -929
- package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
- package/template/.aioson/skills/static/web-research-cache.md +115 -115
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
- package/template/.aioson/squads/memory.md +5 -5
- package/template/.aioson/tasks/implementation-plan.md +327 -327
- package/template/.aioson/tasks/squad-analyze.md +83 -83
- package/template/.aioson/tasks/squad-create.md +148 -148
- package/template/.aioson/tasks/squad-design.md +206 -206
- package/template/.aioson/tasks/squad-execution-plan.md +279 -279
- package/template/.aioson/tasks/squad-export.md +20 -20
- package/template/.aioson/tasks/squad-extend.md +68 -68
- package/template/.aioson/tasks/squad-investigate.md +57 -57
- package/template/.aioson/tasks/squad-learning-review.md +44 -44
- package/template/.aioson/tasks/squad-output-config.md +177 -177
- package/template/.aioson/tasks/squad-pipeline.md +122 -122
- package/template/.aioson/tasks/squad-profile.md +48 -48
- package/template/.aioson/tasks/squad-refresh.md +236 -0
- package/template/.aioson/tasks/squad-repair.md +85 -85
- package/template/.aioson/tasks/squad-review.md +61 -61
- package/template/.aioson/tasks/squad-task-decompose.md +66 -66
- package/template/.aioson/tasks/squad-validate.md +58 -58
- package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
- package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
- package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -21
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
- package/template/.aioson/templates/squads/media-channel/template.json +24 -24
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
- package/template/.claude/commands/aioson/agent/analyst.md +5 -5
- package/template/.claude/commands/aioson/agent/architect.md +5 -5
- package/template/.claude/commands/aioson/agent/briefing.md +5 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -5
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -5
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/dev.md +5 -5
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
- package/template/.claude/commands/aioson/agent/discover.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
- package/template/.claude/commands/aioson/agent/genome.md +5 -5
- package/template/.claude/commands/aioson/agent/neo.md +5 -5
- package/template/.claude/commands/aioson/agent/orache.md +5 -5
- package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
- package/template/.claude/commands/aioson/agent/pair.md +5 -5
- package/template/.claude/commands/aioson/agent/pentester.md +5 -0
- package/template/.claude/commands/aioson/agent/pm.md +5 -5
- package/template/.claude/commands/aioson/agent/product.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
- package/template/.claude/commands/aioson/agent/qa.md +5 -5
- package/template/.claude/commands/aioson/agent/setup.md +5 -5
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/squad.md +5 -5
- package/template/.claude/commands/aioson/agent/tester.md +5 -5
- package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
- package/template/.claude/commands/aioson/agent/validator.md +5 -5
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -7
- package/template/.gemini/commands/aios-architect.toml +8 -8
- package/template/.gemini/commands/aios-committer.toml +7 -7
- package/template/.gemini/commands/aios-copywriter.toml +7 -7
- package/template/.gemini/commands/aios-cypher.toml +7 -7
- package/template/.gemini/commands/aios-dev.toml +9 -9
- package/template/.gemini/commands/aios-deyvin.toml +7 -7
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -7
- package/template/.gemini/commands/aios-genome.toml +7 -7
- package/template/.gemini/commands/aios-neo.toml +6 -6
- package/template/.gemini/commands/aios-orache.toml +7 -7
- package/template/.gemini/commands/aios-orchestrator.toml +9 -9
- package/template/.gemini/commands/aios-pair.toml +7 -7
- package/template/.gemini/commands/aios-pm.toml +9 -9
- package/template/.gemini/commands/aios-product.toml +6 -6
- package/template/.gemini/commands/aios-qa.toml +7 -7
- package/template/.gemini/commands/aios-setup.toml +6 -6
- package/template/.gemini/commands/aios-sheldon.toml +7 -7
- package/template/.gemini/commands/aios-site-forge.toml +7 -7
- package/template/.gemini/commands/aios-squad.toml +7 -7
- package/template/.gemini/commands/aios-tester.toml +7 -7
- package/template/.gemini/commands/aios-ux-ui.toml +9 -9
- package/template/.gemini/commands/aios-validator.toml +7 -7
- package/template/AGENTS.md +184 -183
- package/template/CLAUDE.md +98 -97
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/template/.aioson/genomes/copywriting.md +0 -204
- package/template/.aioson/genomes/copywriting.meta.json +0 -48
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +0 -81
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +0 -91
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +0 -33
- package/template/.claude/commands/aioson/agent/cypher.md +0 -5
|
@@ -1,454 +1,454 @@
|
|
|
1
|
-
# Hooks & Session Guard
|
|
2
|
-
|
|
3
|
-
> Visibilidade automática no dashboard sem nenhuma chamada manual ao CLI durante a sessão.
|
|
4
|
-
|
|
5
|
-
Por padrão, o dashboard só vê o que o CLI registrou explicitamente. Com o sistema de hooks, cada vez que o agente escreve um arquivo, roda um comando ou termina a sessão, um evento é automaticamente gravado no SQLite — sem o agente precisar chamar `aioson` manualmente.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Como funciona
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
Claude Code / Antigravity / Codex
|
|
13
|
-
└─ agente escreve src/cart.ts (PostToolUse: Write)
|
|
14
|
-
└─ hook dispara → aioson hooks:emit
|
|
15
|
-
└─ verifica se live session existe
|
|
16
|
-
└─ se não: auto-inicia sessão (session:guard ou auto-start inline)
|
|
17
|
-
└─ grava evento "artifact" no SQLite + events.ndjson
|
|
18
|
-
└─ dashboard atualiza em tempo real
|
|
19
|
-
|
|
20
|
-
└─ agente roda npm test (PostToolUse: Bash)
|
|
21
|
-
└─ hook dispara → aioson hooks:emit
|
|
22
|
-
└─ grava evento "step_done" no SQLite
|
|
23
|
-
|
|
24
|
-
└─ sessão termina (Stop / SessionEnd)
|
|
25
|
-
└─ hook dispara → aioson agent:done
|
|
26
|
-
└─ fecha a run, registra completion
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
O `session:guard` é opcional — o `hooks:emit` já inicia a sessão automaticamente na primeira chamada se não houver uma ativa.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Passo a passo: Claude Code
|
|
34
|
-
|
|
35
|
-
### 1. Instalar os hooks
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# Instalar hooks para o agente dev (padrão)
|
|
39
|
-
aioson hooks:install . --agent=dev --tool=claude
|
|
40
|
-
|
|
41
|
-
# Para outro agente (ex: qa)
|
|
42
|
-
aioson hooks:install . --agent=qa --tool=claude
|
|
43
|
-
|
|
44
|
-
# Preview sem modificar nada
|
|
45
|
-
aioson hooks:install . --agent=dev --tool=claude --dry-run
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Saída:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
Hooks Install — agent: @dev
|
|
52
|
-
──────────────────────────────────────────────────
|
|
53
|
-
✓ Claude Code — /home/user/.claude/settings.json
|
|
54
|
-
|
|
55
|
-
Hooks installed. From now on:
|
|
56
|
-
• Every file write/edit → logged as artifact event
|
|
57
|
-
• Every bash command → logged as step_done event
|
|
58
|
-
• Session end → logged as agent:done
|
|
59
|
-
|
|
60
|
-
To verify: aioson live:status . --agent=dev
|
|
61
|
-
To uninstall: aioson hooks:uninstall --tool=claude
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 2. O que é adicionado em `~/.claude/settings.json`
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"hooks": {
|
|
69
|
-
"PostToolUse": [
|
|
70
|
-
{
|
|
71
|
-
"matcher": "Write|Edit|MultiEdit",
|
|
72
|
-
"hooks": [{
|
|
73
|
-
"type": "command",
|
|
74
|
-
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
75
|
-
}]
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"matcher": "Bash",
|
|
79
|
-
"hooks": [{
|
|
80
|
-
"type": "command",
|
|
81
|
-
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
82
|
-
}]
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"matcher": "Task|TodoWrite",
|
|
86
|
-
"hooks": [{
|
|
87
|
-
"type": "command",
|
|
88
|
-
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
89
|
-
}]
|
|
90
|
-
}
|
|
91
|
-
],
|
|
92
|
-
"Stop": [
|
|
93
|
-
{
|
|
94
|
-
"hooks": [{
|
|
95
|
-
"type": "command",
|
|
96
|
-
"command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true"
|
|
97
|
-
}]
|
|
98
|
-
}
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
O `2>/dev/null || true` garante que o hook nunca bloqueia o agente mesmo que o AIOSON falhe.
|
|
105
|
-
|
|
106
|
-
### 3. Verificar que está funcionando
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
# Abrir Claude Code e fazer qualquer edição de arquivo
|
|
110
|
-
# Depois, checar o status:
|
|
111
|
-
aioson live:status . --agent=dev
|
|
112
|
-
|
|
113
|
-
# Ou ver eventos recentes:
|
|
114
|
-
aioson runtime:status . --json | jq '.recentEvents'
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 4. Remover os hooks
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
aioson hooks:uninstall . --agent=dev --tool=claude
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Passo a passo: Antigravity (Google)
|
|
126
|
-
|
|
127
|
-
Antigravity tem um sistema de hooks mais rico — inclui `SessionStart` e `SessionEnd`, o que elimina a necessidade do `session:guard`.
|
|
128
|
-
|
|
129
|
-
### 1. Instalar os hooks
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
aioson hooks:install . --agent=dev --tool=antigravity
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Saída:
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
Hooks Install — agent: @dev
|
|
139
|
-
──────────────────────────────────────────────────
|
|
140
|
-
✓ Antigravity global — /home/user/.gemini/antigravity/hooks.json
|
|
141
|
-
✓ Antigravity workspace — .agents/hooks.json
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### 2. O que é configurado
|
|
145
|
-
|
|
146
|
-
**Global** (`~/.gemini/antigravity/hooks.json`):
|
|
147
|
-
|
|
148
|
-
```json
|
|
149
|
-
{
|
|
150
|
-
"hooks": {
|
|
151
|
-
"SessionStart": [{
|
|
152
|
-
"type": "command",
|
|
153
|
-
"command": "aioson live:start \"$PWD\" --agent=dev --tool=antigravity --no-launch 2>/dev/null || true"
|
|
154
|
-
}],
|
|
155
|
-
"PostToolUse": [
|
|
156
|
-
{
|
|
157
|
-
"matcher": "Write|Edit|MultiEdit",
|
|
158
|
-
"hooks": [{ "type": "command", "command": "aioson hooks:emit \"$PWD\" --agent=dev --source=antigravity 2>/dev/null || true" }]
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"matcher": "Bash",
|
|
162
|
-
"hooks": [{ "type": "command", "command": "aioson hooks:emit \"$PWD\" --agent=dev --source=antigravity 2>/dev/null || true" }]
|
|
163
|
-
}
|
|
164
|
-
],
|
|
165
|
-
"SessionEnd": [{ "type": "command", "command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true" }],
|
|
166
|
-
"Stop": [{ "type": "command", "command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true" }]
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**Workspace** (`.agents/hooks.json` na pasta do projeto — sobrescreve global):
|
|
172
|
-
|
|
173
|
-
Mesma estrutura, mas scoped para o projeto. Útil quando o agente varia por projeto.
|
|
174
|
-
|
|
175
|
-
### 3. Diferença do Claude Code
|
|
176
|
-
|
|
177
|
-
| Feature | Claude Code | Antigravity |
|
|
178
|
-
|---|---|---|
|
|
179
|
-
| `SessionStart` hook | ✗ Não tem | ✓ Disponível |
|
|
180
|
-
| `SessionEnd` hook | ✗ Apenas `Stop` | ✓ Disponível |
|
|
181
|
-
| `SubagentStop` hook | ✗ Não tem | ✓ Disponível |
|
|
182
|
-
| Config location | `~/.claude/settings.json` | `~/.gemini/antigravity/` + `.agents/` |
|
|
183
|
-
| Workspace override | `~/.claude/projects/` | `.agents/hooks.json` |
|
|
184
|
-
|
|
185
|
-
Com Antigravity, a sessão é aberta no `SessionStart` (limpo) e fechada no `SessionEnd` (limpo). Com Claude Code, o `hooks:emit` auto-inicia a sessão na primeira tool call.
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Passo a passo: Codex (OpenAI)
|
|
190
|
-
|
|
191
|
-
Codex CLI **não tem sistema de hooks nativo**. A solução é um wrapper shell que envolve o comando `codex`.
|
|
192
|
-
|
|
193
|
-
### 1. Gerar o wrapper
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
aioson hooks:install . --agent=dev --tool=codex
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Saída:
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
Hooks Install — agent: @dev
|
|
203
|
-
──────────────────────────────────────────────────
|
|
204
|
-
✓ Codex wrapper — /home/user/.codex/aioson-wrapper.sh
|
|
205
|
-
⚠ Codex has no native hooks. Add this to ~/.bashrc:
|
|
206
|
-
alias codex='/home/user/.codex/aioson-wrapper.sh'
|
|
207
|
-
Or rename: mv $(which codex) $(which codex)-bin
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 2. Ativar o wrapper
|
|
211
|
-
|
|
212
|
-
**Opção A — Alias (recomendado):**
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
echo "alias codex='~/.codex/aioson-wrapper.sh'" >> ~/.bashrc
|
|
216
|
-
source ~/.bashrc
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
**Opção B — Rename:**
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
mv $(which codex) $(which codex)-bin
|
|
223
|
-
cp ~/.codex/aioson-wrapper.sh $(which codex)-bin/../codex
|
|
224
|
-
chmod +x $(which codex)-bin/../codex
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### 3. O que o wrapper faz
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
# Quando você roda: codex "implemente o cart"
|
|
231
|
-
# O wrapper executa:
|
|
232
|
-
aioson live:start "$PWD" --agent=dev --tool=codex --no-launch # abre sessão
|
|
233
|
-
codex-bin "implemente o cart" # roda Codex
|
|
234
|
-
aioson agent:done "$PWD" --agent=dev --summary="..." # fecha sessão
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**Limitação:** sem hooks nativos, não há eventos intermediários (só abertura e fechamento de sessão). Para eventos durante a sessão com Codex, use `devlog:watch` em paralelo.
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Instalar para todos os tools detectados
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
# Detecta automaticamente o que está instalado e configura tudo
|
|
245
|
-
aioson hooks:install . --agent=dev --tool=all
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
Saída se Claude Code e Antigravity estiverem instalados:
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
Detected tools: claude, antigravity
|
|
252
|
-
Hooks Install — agent: @dev
|
|
253
|
-
──────────────────────────────────────────────────
|
|
254
|
-
✓ Claude Code — /home/user/.claude/settings.json
|
|
255
|
-
✓ Antigravity global — /home/user/.gemini/antigravity/hooks.json
|
|
256
|
-
✓ Antigravity workspace — .agents/hooks.json
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## session:guard — supervisor de sessão
|
|
262
|
-
|
|
263
|
-
O `session:guard` é um processo de fundo que garante que uma live session esteja sempre ativa. Útil quando você quer que a sessão apareça no dashboard **antes** da primeira tool call.
|
|
264
|
-
|
|
265
|
-
```bash
|
|
266
|
-
# Iniciar em background
|
|
267
|
-
aioson session:guard . --agent=dev --tool=claude &
|
|
268
|
-
|
|
269
|
-
# Com idle timeout customizado (padrão: 60 minutos)
|
|
270
|
-
aioson session:guard . --agent=dev --tool=claude --idle-minutes=30 &
|
|
271
|
-
|
|
272
|
-
# Verificação única (sem loop — útil para scripts)
|
|
273
|
-
aioson session:guard . --agent=dev --tool=claude --once
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
Saída durante operação:
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
[session:guard] Watching: /meu-projeto
|
|
280
|
-
[session:guard] Agent: @dev | Tool: claude | Idle timeout: 60m
|
|
281
|
-
[session:guard] Press Ctrl+C to stop.
|
|
282
|
-
[session:guard] Session started: guard-dev-1711234567 (run: dev-run-xxx)
|
|
283
|
-
... (silencioso até próximo evento)
|
|
284
|
-
[session:guard] Idle for 62m — closing session
|
|
285
|
-
[session:guard] Session closed: dev-run-xxx (Idle for 62 minutes)
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
Para parar: `Ctrl+C` ou `kill %1`.
|
|
289
|
-
|
|
290
|
-
### Quando usar session:guard
|
|
291
|
-
|
|
292
|
-
| Cenário | Recomendação |
|
|
293
|
-
|---|---|
|
|
294
|
-
| Usando Claude Code com hooks instalados | `session:guard` é opcional — `hooks:emit` auto-inicia |
|
|
295
|
-
| Quer que a sessão apareça no dashboard antes de começar | Use `session:guard --once` antes de abrir o Claude Code |
|
|
296
|
-
| Sessões longas com pausas > 60 min | Use `session:guard --idle-minutes=120` |
|
|
297
|
-
| Antigravity | Não precisa — `SessionStart` hook cuida disso |
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## hooks:emit — o que cada tool registra
|
|
302
|
-
|
|
303
|
-
| Tool call | Tipo de evento | Exemplo de mensagem |
|
|
304
|
-
|---|---|---|
|
|
305
|
-
| `Write` (criar arquivo) | `artifact` | `Write: cart.ts` |
|
|
306
|
-
| `Edit` / `MultiEdit` | `artifact` | `Edit: src/cart.ts` |
|
|
307
|
-
| `Bash` (rodar comando) | `step_done` | `$ npm test -- --filter=cart` |
|
|
308
|
-
| `Task` (sub-agente) | `note` | `Task launched` |
|
|
309
|
-
| `TodoWrite` | `note` | `Task list updated` |
|
|
310
|
-
| `Read`, `Glob`, `Grep` | *(ignorado)* | Ferramentas somente-leitura não geram eventos |
|
|
311
|
-
|
|
312
|
-
### Emissão manual durante sessão
|
|
313
|
-
|
|
314
|
-
Mesmo com hooks instalados, você pode emitir eventos adicionais manualmente:
|
|
315
|
-
|
|
316
|
-
```bash
|
|
317
|
-
# Checkpoint de plano com progresso
|
|
318
|
-
aioson runtime:emit . --agent=dev \
|
|
319
|
-
--type=plan_checkpoint \
|
|
320
|
-
--plan-step=FASE-1 \
|
|
321
|
-
--summary="Migration criada e testada" \
|
|
322
|
-
--progress-pct=40
|
|
323
|
-
|
|
324
|
-
# Blocker
|
|
325
|
-
aioson runtime:emit . --agent=dev \
|
|
326
|
-
--type=task_blocked \
|
|
327
|
-
--summary="Aguardando schema de pagamentos"
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Fluxo completo recomendado
|
|
333
|
-
|
|
334
|
-
### Setup inicial (uma vez)
|
|
335
|
-
|
|
336
|
-
```bash
|
|
337
|
-
# Instalar hooks para a ferramenta que você usa
|
|
338
|
-
aioson hooks:install . --agent=dev --tool=claude # ou --tool=antigravity ou --tool=all
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### Início de cada sessão de trabalho
|
|
342
|
-
|
|
343
|
-
```bash
|
|
344
|
-
# Opcional — garante sessão visível antes da primeira tool call
|
|
345
|
-
aioson session:guard . --agent=dev --tool=claude --once
|
|
346
|
-
|
|
347
|
-
# Abrir Claude Code / Antigravity normalmente
|
|
348
|
-
claude # ou agy (Antigravity)
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
### Durante a sessão
|
|
352
|
-
|
|
353
|
-
Nada precisa ser feito — os hooks capturam automaticamente:
|
|
354
|
-
- Cada arquivo criado/editado → evento `artifact`
|
|
355
|
-
- Cada comando bash → evento `step_done`
|
|
356
|
-
- Tarefas no TodoWrite → evento `note`
|
|
357
|
-
|
|
358
|
-
### Fim da sessão
|
|
359
|
-
|
|
360
|
-
```bash
|
|
361
|
-
# Verificar o que foi registrado
|
|
362
|
-
aioson live:status . --agent=dev
|
|
363
|
-
|
|
364
|
-
# Acompanhar no dashboard
|
|
365
|
-
# abrir o aioson-dashboard e navegar até o projeto
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## Verificação e diagnóstico
|
|
371
|
-
|
|
372
|
-
```bash
|
|
373
|
-
# Ver se a sessão está ativa
|
|
374
|
-
aioson live:status . --agent=dev
|
|
375
|
-
|
|
376
|
-
# Ver últimos eventos registrados
|
|
377
|
-
aioson runtime:status . --json | jq '.recentEvents[:5]'
|
|
378
|
-
|
|
379
|
-
# Ver se os hooks estão configurados (inspecionar settings.json)
|
|
380
|
-
cat ~/.claude/settings.json | jq '.hooks'
|
|
381
|
-
|
|
382
|
-
# Testar manualmente o hooks:emit (simula uma tool call Write)
|
|
383
|
-
echo '{"tool_name":"Write","tool_input":{"file_path":"src/test.ts"},"session_id":"test-123"}' | \
|
|
384
|
-
aioson hooks:emit . --agent=dev --source=claude
|
|
385
|
-
|
|
386
|
-
# Ver se o evento chegou
|
|
387
|
-
aioson runtime:status . --json | jq '.recentEvents[0]'
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
---
|
|
391
|
-
|
|
392
|
-
## Troubleshooting
|
|
393
|
-
|
|
394
|
-
### "Nenhum evento aparece no dashboard"
|
|
395
|
-
|
|
396
|
-
1. Verificar se os hooks estão configurados: `cat ~/.claude/settings.json | jq '.hooks'`
|
|
397
|
-
2. Verificar se `aioson` está no PATH: `which aioson`
|
|
398
|
-
3. Testar manualmente: `aioson hooks:emit . --agent=dev --source=claude` (sem stdin — deve retornar `{ok:true,skipped:true}`)
|
|
399
|
-
|
|
400
|
-
### "Session not found quando rodo hooks:emit"
|
|
401
|
-
|
|
402
|
-
O `hooks:emit` cria a sessão automaticamente na primeira chamada. Se isso não está acontecendo:
|
|
403
|
-
|
|
404
|
-
```bash
|
|
405
|
-
# Verificar se existe banco SQLite
|
|
406
|
-
ls .aioson/runtime/aios.sqlite
|
|
407
|
-
|
|
408
|
-
# Se não existe, inicializar
|
|
409
|
-
aioson runtime:init .
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
### "Hook está bloqueando o Claude Code"
|
|
413
|
-
|
|
414
|
-
O hook usa `2>/dev/null || true` — nunca deve bloquear. Se estiver bloqueando:
|
|
415
|
-
|
|
416
|
-
```bash
|
|
417
|
-
# Verificar se o hooks:emit está travando
|
|
418
|
-
time echo '{}' | aioson hooks:emit . --agent=dev --source=claude
|
|
419
|
-
# Deve completar em < 200ms
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
### "Quero hooks só para o projeto atual, não global"
|
|
423
|
-
|
|
424
|
-
Para Claude Code, a configuração é sempre global (`~/.claude/settings.json`). Para limitar a um projeto específico, adicione uma condição no hook command:
|
|
425
|
-
|
|
426
|
-
```bash
|
|
427
|
-
# Hook condicional: só emite se estiver na pasta do projeto
|
|
428
|
-
[ "$PWD" = "/caminho/do/projeto" ] && aioson hooks:emit "$PWD" --agent=dev --source=claude 2>/dev/null; true
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
Para Antigravity, use `.agents/hooks.json` na pasta do projeto em vez do global.
|
|
432
|
-
|
|
433
|
-
---
|
|
434
|
-
|
|
435
|
-
## Referência rápida
|
|
436
|
-
|
|
437
|
-
```bash
|
|
438
|
-
# Instalar hooks
|
|
439
|
-
aioson hooks:install . --agent=dev --tool=claude
|
|
440
|
-
aioson hooks:install . --agent=dev --tool=antigravity
|
|
441
|
-
aioson hooks:install . --agent=dev --tool=all
|
|
442
|
-
|
|
443
|
-
# Remover hooks
|
|
444
|
-
aioson hooks:uninstall . --agent=dev --tool=claude
|
|
445
|
-
|
|
446
|
-
# Supervisor de sessão
|
|
447
|
-
aioson session:guard . --agent=dev --tool=claude &
|
|
448
|
-
aioson session:guard . --agent=dev --tool=claude --once
|
|
449
|
-
aioson session:guard . --agent=dev --tool=claude --idle-minutes=30 &
|
|
450
|
-
|
|
451
|
-
# Emissão manual (chamada pelo hook — raramente precisa chamar direto)
|
|
452
|
-
echo '{"tool_name":"Write","tool_input":{"file_path":"src/foo.ts"}}' | \
|
|
453
|
-
aioson hooks:emit . --agent=dev --source=claude
|
|
454
|
-
```
|
|
1
|
+
# Hooks & Session Guard
|
|
2
|
+
|
|
3
|
+
> Visibilidade automática no dashboard sem nenhuma chamada manual ao CLI durante a sessão.
|
|
4
|
+
|
|
5
|
+
Por padrão, o dashboard só vê o que o CLI registrou explicitamente. Com o sistema de hooks, cada vez que o agente escreve um arquivo, roda um comando ou termina a sessão, um evento é automaticamente gravado no SQLite — sem o agente precisar chamar `aioson` manualmente.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Como funciona
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Claude Code / Antigravity / Codex
|
|
13
|
+
└─ agente escreve src/cart.ts (PostToolUse: Write)
|
|
14
|
+
└─ hook dispara → aioson hooks:emit
|
|
15
|
+
└─ verifica se live session existe
|
|
16
|
+
└─ se não: auto-inicia sessão (session:guard ou auto-start inline)
|
|
17
|
+
└─ grava evento "artifact" no SQLite + events.ndjson
|
|
18
|
+
└─ dashboard atualiza em tempo real
|
|
19
|
+
|
|
20
|
+
└─ agente roda npm test (PostToolUse: Bash)
|
|
21
|
+
└─ hook dispara → aioson hooks:emit
|
|
22
|
+
└─ grava evento "step_done" no SQLite
|
|
23
|
+
|
|
24
|
+
└─ sessão termina (Stop / SessionEnd)
|
|
25
|
+
└─ hook dispara → aioson agent:done
|
|
26
|
+
└─ fecha a run, registra completion
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
O `session:guard` é opcional — o `hooks:emit` já inicia a sessão automaticamente na primeira chamada se não houver uma ativa.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Passo a passo: Claude Code
|
|
34
|
+
|
|
35
|
+
### 1. Instalar os hooks
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Instalar hooks para o agente dev (padrão)
|
|
39
|
+
aioson hooks:install . --agent=dev --tool=claude
|
|
40
|
+
|
|
41
|
+
# Para outro agente (ex: qa)
|
|
42
|
+
aioson hooks:install . --agent=qa --tool=claude
|
|
43
|
+
|
|
44
|
+
# Preview sem modificar nada
|
|
45
|
+
aioson hooks:install . --agent=dev --tool=claude --dry-run
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Saída:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Hooks Install — agent: @dev
|
|
52
|
+
──────────────────────────────────────────────────
|
|
53
|
+
✓ Claude Code — /home/user/.claude/settings.json
|
|
54
|
+
|
|
55
|
+
Hooks installed. From now on:
|
|
56
|
+
• Every file write/edit → logged as artifact event
|
|
57
|
+
• Every bash command → logged as step_done event
|
|
58
|
+
• Session end → logged as agent:done
|
|
59
|
+
|
|
60
|
+
To verify: aioson live:status . --agent=dev
|
|
61
|
+
To uninstall: aioson hooks:uninstall --tool=claude
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. O que é adicionado em `~/.claude/settings.json`
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"hooks": {
|
|
69
|
+
"PostToolUse": [
|
|
70
|
+
{
|
|
71
|
+
"matcher": "Write|Edit|MultiEdit",
|
|
72
|
+
"hooks": [{
|
|
73
|
+
"type": "command",
|
|
74
|
+
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
75
|
+
}]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"matcher": "Bash",
|
|
79
|
+
"hooks": [{
|
|
80
|
+
"type": "command",
|
|
81
|
+
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
82
|
+
}]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"matcher": "Task|TodoWrite",
|
|
86
|
+
"hooks": [{
|
|
87
|
+
"type": "command",
|
|
88
|
+
"command": "aioson hooks:emit \"$PWD\" --agent=dev --source=claude 2>/dev/null || true"
|
|
89
|
+
}]
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"Stop": [
|
|
93
|
+
{
|
|
94
|
+
"hooks": [{
|
|
95
|
+
"type": "command",
|
|
96
|
+
"command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true"
|
|
97
|
+
}]
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
O `2>/dev/null || true` garante que o hook nunca bloqueia o agente mesmo que o AIOSON falhe.
|
|
105
|
+
|
|
106
|
+
### 3. Verificar que está funcionando
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Abrir Claude Code e fazer qualquer edição de arquivo
|
|
110
|
+
# Depois, checar o status:
|
|
111
|
+
aioson live:status . --agent=dev
|
|
112
|
+
|
|
113
|
+
# Ou ver eventos recentes:
|
|
114
|
+
aioson runtime:status . --json | jq '.recentEvents'
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 4. Remover os hooks
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
aioson hooks:uninstall . --agent=dev --tool=claude
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Passo a passo: Antigravity (Google)
|
|
126
|
+
|
|
127
|
+
Antigravity tem um sistema de hooks mais rico — inclui `SessionStart` e `SessionEnd`, o que elimina a necessidade do `session:guard`.
|
|
128
|
+
|
|
129
|
+
### 1. Instalar os hooks
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
aioson hooks:install . --agent=dev --tool=antigravity
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Saída:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
Hooks Install — agent: @dev
|
|
139
|
+
──────────────────────────────────────────────────
|
|
140
|
+
✓ Antigravity global — /home/user/.gemini/antigravity/hooks.json
|
|
141
|
+
✓ Antigravity workspace — .agents/hooks.json
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 2. O que é configurado
|
|
145
|
+
|
|
146
|
+
**Global** (`~/.gemini/antigravity/hooks.json`):
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"hooks": {
|
|
151
|
+
"SessionStart": [{
|
|
152
|
+
"type": "command",
|
|
153
|
+
"command": "aioson live:start \"$PWD\" --agent=dev --tool=antigravity --no-launch 2>/dev/null || true"
|
|
154
|
+
}],
|
|
155
|
+
"PostToolUse": [
|
|
156
|
+
{
|
|
157
|
+
"matcher": "Write|Edit|MultiEdit",
|
|
158
|
+
"hooks": [{ "type": "command", "command": "aioson hooks:emit \"$PWD\" --agent=dev --source=antigravity 2>/dev/null || true" }]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"matcher": "Bash",
|
|
162
|
+
"hooks": [{ "type": "command", "command": "aioson hooks:emit \"$PWD\" --agent=dev --source=antigravity 2>/dev/null || true" }]
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"SessionEnd": [{ "type": "command", "command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true" }],
|
|
166
|
+
"Stop": [{ "type": "command", "command": "aioson agent:done \"$PWD\" --agent=dev --summary=\"Session ended via dev hook\" 2>/dev/null || true" }]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Workspace** (`.agents/hooks.json` na pasta do projeto — sobrescreve global):
|
|
172
|
+
|
|
173
|
+
Mesma estrutura, mas scoped para o projeto. Útil quando o agente varia por projeto.
|
|
174
|
+
|
|
175
|
+
### 3. Diferença do Claude Code
|
|
176
|
+
|
|
177
|
+
| Feature | Claude Code | Antigravity |
|
|
178
|
+
|---|---|---|
|
|
179
|
+
| `SessionStart` hook | ✗ Não tem | ✓ Disponível |
|
|
180
|
+
| `SessionEnd` hook | ✗ Apenas `Stop` | ✓ Disponível |
|
|
181
|
+
| `SubagentStop` hook | ✗ Não tem | ✓ Disponível |
|
|
182
|
+
| Config location | `~/.claude/settings.json` | `~/.gemini/antigravity/` + `.agents/` |
|
|
183
|
+
| Workspace override | `~/.claude/projects/` | `.agents/hooks.json` |
|
|
184
|
+
|
|
185
|
+
Com Antigravity, a sessão é aberta no `SessionStart` (limpo) e fechada no `SessionEnd` (limpo). Com Claude Code, o `hooks:emit` auto-inicia a sessão na primeira tool call.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Passo a passo: Codex (OpenAI)
|
|
190
|
+
|
|
191
|
+
Codex CLI **não tem sistema de hooks nativo**. A solução é um wrapper shell que envolve o comando `codex`.
|
|
192
|
+
|
|
193
|
+
### 1. Gerar o wrapper
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
aioson hooks:install . --agent=dev --tool=codex
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Saída:
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
Hooks Install — agent: @dev
|
|
203
|
+
──────────────────────────────────────────────────
|
|
204
|
+
✓ Codex wrapper — /home/user/.codex/aioson-wrapper.sh
|
|
205
|
+
⚠ Codex has no native hooks. Add this to ~/.bashrc:
|
|
206
|
+
alias codex='/home/user/.codex/aioson-wrapper.sh'
|
|
207
|
+
Or rename: mv $(which codex) $(which codex)-bin
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### 2. Ativar o wrapper
|
|
211
|
+
|
|
212
|
+
**Opção A — Alias (recomendado):**
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
echo "alias codex='~/.codex/aioson-wrapper.sh'" >> ~/.bashrc
|
|
216
|
+
source ~/.bashrc
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Opção B — Rename:**
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
mv $(which codex) $(which codex)-bin
|
|
223
|
+
cp ~/.codex/aioson-wrapper.sh $(which codex)-bin/../codex
|
|
224
|
+
chmod +x $(which codex)-bin/../codex
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### 3. O que o wrapper faz
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Quando você roda: codex "implemente o cart"
|
|
231
|
+
# O wrapper executa:
|
|
232
|
+
aioson live:start "$PWD" --agent=dev --tool=codex --no-launch # abre sessão
|
|
233
|
+
codex-bin "implemente o cart" # roda Codex
|
|
234
|
+
aioson agent:done "$PWD" --agent=dev --summary="..." # fecha sessão
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Limitação:** sem hooks nativos, não há eventos intermediários (só abertura e fechamento de sessão). Para eventos durante a sessão com Codex, use `devlog:watch` em paralelo.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Instalar para todos os tools detectados
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
# Detecta automaticamente o que está instalado e configura tudo
|
|
245
|
+
aioson hooks:install . --agent=dev --tool=all
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Saída se Claude Code e Antigravity estiverem instalados:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
Detected tools: claude, antigravity
|
|
252
|
+
Hooks Install — agent: @dev
|
|
253
|
+
──────────────────────────────────────────────────
|
|
254
|
+
✓ Claude Code — /home/user/.claude/settings.json
|
|
255
|
+
✓ Antigravity global — /home/user/.gemini/antigravity/hooks.json
|
|
256
|
+
✓ Antigravity workspace — .agents/hooks.json
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## session:guard — supervisor de sessão
|
|
262
|
+
|
|
263
|
+
O `session:guard` é um processo de fundo que garante que uma live session esteja sempre ativa. Útil quando você quer que a sessão apareça no dashboard **antes** da primeira tool call.
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
# Iniciar em background
|
|
267
|
+
aioson session:guard . --agent=dev --tool=claude &
|
|
268
|
+
|
|
269
|
+
# Com idle timeout customizado (padrão: 60 minutos)
|
|
270
|
+
aioson session:guard . --agent=dev --tool=claude --idle-minutes=30 &
|
|
271
|
+
|
|
272
|
+
# Verificação única (sem loop — útil para scripts)
|
|
273
|
+
aioson session:guard . --agent=dev --tool=claude --once
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Saída durante operação:
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
[session:guard] Watching: /meu-projeto
|
|
280
|
+
[session:guard] Agent: @dev | Tool: claude | Idle timeout: 60m
|
|
281
|
+
[session:guard] Press Ctrl+C to stop.
|
|
282
|
+
[session:guard] Session started: guard-dev-1711234567 (run: dev-run-xxx)
|
|
283
|
+
... (silencioso até próximo evento)
|
|
284
|
+
[session:guard] Idle for 62m — closing session
|
|
285
|
+
[session:guard] Session closed: dev-run-xxx (Idle for 62 minutes)
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Para parar: `Ctrl+C` ou `kill %1`.
|
|
289
|
+
|
|
290
|
+
### Quando usar session:guard
|
|
291
|
+
|
|
292
|
+
| Cenário | Recomendação |
|
|
293
|
+
|---|---|
|
|
294
|
+
| Usando Claude Code com hooks instalados | `session:guard` é opcional — `hooks:emit` auto-inicia |
|
|
295
|
+
| Quer que a sessão apareça no dashboard antes de começar | Use `session:guard --once` antes de abrir o Claude Code |
|
|
296
|
+
| Sessões longas com pausas > 60 min | Use `session:guard --idle-minutes=120` |
|
|
297
|
+
| Antigravity | Não precisa — `SessionStart` hook cuida disso |
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## hooks:emit — o que cada tool registra
|
|
302
|
+
|
|
303
|
+
| Tool call | Tipo de evento | Exemplo de mensagem |
|
|
304
|
+
|---|---|---|
|
|
305
|
+
| `Write` (criar arquivo) | `artifact` | `Write: cart.ts` |
|
|
306
|
+
| `Edit` / `MultiEdit` | `artifact` | `Edit: src/cart.ts` |
|
|
307
|
+
| `Bash` (rodar comando) | `step_done` | `$ npm test -- --filter=cart` |
|
|
308
|
+
| `Task` (sub-agente) | `note` | `Task launched` |
|
|
309
|
+
| `TodoWrite` | `note` | `Task list updated` |
|
|
310
|
+
| `Read`, `Glob`, `Grep` | *(ignorado)* | Ferramentas somente-leitura não geram eventos |
|
|
311
|
+
|
|
312
|
+
### Emissão manual durante sessão
|
|
313
|
+
|
|
314
|
+
Mesmo com hooks instalados, você pode emitir eventos adicionais manualmente:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# Checkpoint de plano com progresso
|
|
318
|
+
aioson runtime:emit . --agent=dev \
|
|
319
|
+
--type=plan_checkpoint \
|
|
320
|
+
--plan-step=FASE-1 \
|
|
321
|
+
--summary="Migration criada e testada" \
|
|
322
|
+
--progress-pct=40
|
|
323
|
+
|
|
324
|
+
# Blocker
|
|
325
|
+
aioson runtime:emit . --agent=dev \
|
|
326
|
+
--type=task_blocked \
|
|
327
|
+
--summary="Aguardando schema de pagamentos"
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Fluxo completo recomendado
|
|
333
|
+
|
|
334
|
+
### Setup inicial (uma vez)
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# Instalar hooks para a ferramenta que você usa
|
|
338
|
+
aioson hooks:install . --agent=dev --tool=claude # ou --tool=antigravity ou --tool=all
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Início de cada sessão de trabalho
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
# Opcional — garante sessão visível antes da primeira tool call
|
|
345
|
+
aioson session:guard . --agent=dev --tool=claude --once
|
|
346
|
+
|
|
347
|
+
# Abrir Claude Code / Antigravity normalmente
|
|
348
|
+
claude # ou agy (Antigravity)
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Durante a sessão
|
|
352
|
+
|
|
353
|
+
Nada precisa ser feito — os hooks capturam automaticamente:
|
|
354
|
+
- Cada arquivo criado/editado → evento `artifact`
|
|
355
|
+
- Cada comando bash → evento `step_done`
|
|
356
|
+
- Tarefas no TodoWrite → evento `note`
|
|
357
|
+
|
|
358
|
+
### Fim da sessão
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
# Verificar o que foi registrado
|
|
362
|
+
aioson live:status . --agent=dev
|
|
363
|
+
|
|
364
|
+
# Acompanhar no dashboard
|
|
365
|
+
# abrir o aioson-dashboard e navegar até o projeto
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## Verificação e diagnóstico
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
# Ver se a sessão está ativa
|
|
374
|
+
aioson live:status . --agent=dev
|
|
375
|
+
|
|
376
|
+
# Ver últimos eventos registrados
|
|
377
|
+
aioson runtime:status . --json | jq '.recentEvents[:5]'
|
|
378
|
+
|
|
379
|
+
# Ver se os hooks estão configurados (inspecionar settings.json)
|
|
380
|
+
cat ~/.claude/settings.json | jq '.hooks'
|
|
381
|
+
|
|
382
|
+
# Testar manualmente o hooks:emit (simula uma tool call Write)
|
|
383
|
+
echo '{"tool_name":"Write","tool_input":{"file_path":"src/test.ts"},"session_id":"test-123"}' | \
|
|
384
|
+
aioson hooks:emit . --agent=dev --source=claude
|
|
385
|
+
|
|
386
|
+
# Ver se o evento chegou
|
|
387
|
+
aioson runtime:status . --json | jq '.recentEvents[0]'
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## Troubleshooting
|
|
393
|
+
|
|
394
|
+
### "Nenhum evento aparece no dashboard"
|
|
395
|
+
|
|
396
|
+
1. Verificar se os hooks estão configurados: `cat ~/.claude/settings.json | jq '.hooks'`
|
|
397
|
+
2. Verificar se `aioson` está no PATH: `which aioson`
|
|
398
|
+
3. Testar manualmente: `aioson hooks:emit . --agent=dev --source=claude` (sem stdin — deve retornar `{ok:true,skipped:true}`)
|
|
399
|
+
|
|
400
|
+
### "Session not found quando rodo hooks:emit"
|
|
401
|
+
|
|
402
|
+
O `hooks:emit` cria a sessão automaticamente na primeira chamada. Se isso não está acontecendo:
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
# Verificar se existe banco SQLite
|
|
406
|
+
ls .aioson/runtime/aios.sqlite
|
|
407
|
+
|
|
408
|
+
# Se não existe, inicializar
|
|
409
|
+
aioson runtime:init .
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### "Hook está bloqueando o Claude Code"
|
|
413
|
+
|
|
414
|
+
O hook usa `2>/dev/null || true` — nunca deve bloquear. Se estiver bloqueando:
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
# Verificar se o hooks:emit está travando
|
|
418
|
+
time echo '{}' | aioson hooks:emit . --agent=dev --source=claude
|
|
419
|
+
# Deve completar em < 200ms
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### "Quero hooks só para o projeto atual, não global"
|
|
423
|
+
|
|
424
|
+
Para Claude Code, a configuração é sempre global (`~/.claude/settings.json`). Para limitar a um projeto específico, adicione uma condição no hook command:
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
# Hook condicional: só emite se estiver na pasta do projeto
|
|
428
|
+
[ "$PWD" = "/caminho/do/projeto" ] && aioson hooks:emit "$PWD" --agent=dev --source=claude 2>/dev/null; true
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
Para Antigravity, use `.agents/hooks.json` na pasta do projeto em vez do global.
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## Referência rápida
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
# Instalar hooks
|
|
439
|
+
aioson hooks:install . --agent=dev --tool=claude
|
|
440
|
+
aioson hooks:install . --agent=dev --tool=antigravity
|
|
441
|
+
aioson hooks:install . --agent=dev --tool=all
|
|
442
|
+
|
|
443
|
+
# Remover hooks
|
|
444
|
+
aioson hooks:uninstall . --agent=dev --tool=claude
|
|
445
|
+
|
|
446
|
+
# Supervisor de sessão
|
|
447
|
+
aioson session:guard . --agent=dev --tool=claude &
|
|
448
|
+
aioson session:guard . --agent=dev --tool=claude --once
|
|
449
|
+
aioson session:guard . --agent=dev --tool=claude --idle-minutes=30 &
|
|
450
|
+
|
|
451
|
+
# Emissão manual (chamada pelo hook — raramente precisa chamar direto)
|
|
452
|
+
echo '{"tool_name":"Write","tool_input":{"file_path":"src/foo.ts"}}' | \
|
|
453
|
+
aioson hooks:emit . --agent=dev --source=claude
|
|
454
|
+
```
|