@jaimevalasek/aioson 1.7.2 → 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 -560
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -776
- 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 -409
- package/docs/en/5-reference/i18n.md +52 -0
- 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 -116
- 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 -57
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -86
- package/docs/en/5-reference/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/5-reference/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/5-reference/schemas/parallel-status.schema.json +184 -0
- 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 -0
- 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 -286
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1634
- package/docs/pt/5-referencia/compress-agents.md +304 -0
- package/docs/pt/5-referencia/design-docs-governance.md +59 -0
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/5-referencia/feature-archive.md +199 -0
- 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 -296
- package/docs/pt/5-referencia/genome-distribution.md +232 -0
- 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/5-referencia/motor-hardening.md +493 -0
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/5-referencia/runner-system.md +113 -0
- 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 -116
- 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 -250
- 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 -672
- 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 -50
- 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 -0
- package/src/agents.js +92 -72
- package/src/autonomy-policy.js +163 -0
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -0
- package/src/cli.js +1450 -1099
- 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 -160
- package/src/commands/artifact-validate.js +218 -189
- package/src/commands/auth.js +298 -0
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -0
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -0
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -0
- package/src/commands/compress-agents.js +416 -0
- 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 -175
- 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 -177
- 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 -292
- 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 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +554 -165
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +247 -228
- package/src/commands/genome-doctor.js +489 -41
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +307 -0
- 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 -340
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -116
- package/src/commands/install.js +162 -107
- 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 -1641
- package/src/commands/locale-apply.js +54 -51
- package/src/commands/locale-diff.js +25 -126
- package/src/commands/mcp-doctor.js +407 -406
- package/src/commands/mcp-init.js +373 -379
- 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 -0
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -403
- package/src/commands/parallel-doctor.js +850 -437
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +311 -249
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +434 -290
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -208
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -161
- 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 -0
- 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 -0
- 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 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +306 -256
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -698
- 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 -788
- 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 -261
- 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 -329
- 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 -55
- package/src/commands/squad-score.js +311 -250
- package/src/commands/squad-status.js +481 -460
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -347
- 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 -0
- package/src/commands/store-skill.js +247 -0
- package/src/commands/store-squad.js +431 -0
- package/src/commands/store-system.js +392 -0
- package/src/commands/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +64 -64
- package/src/commands/verify-gate.js +612 -572
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -241
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +1279 -601
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -250
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +413 -417
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -837
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -196
- package/src/context.js +247 -217
- 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 -289
- package/src/dossier/codemap-store.js +267 -0
- package/src/dossier/dossier-bootstrap.js +222 -0
- package/src/dossier/dossier-compact.js +159 -0
- package/src/dossier/lock.js +128 -0
- package/src/dossier/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +162 -0
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -0
- package/src/execution-gateway.js +464 -461
- package/src/friction-scanner.js +202 -0
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -215
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -467
- package/src/handoff-contract.js +417 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1541 -1139
- package/src/i18n/messages/es.js +1325 -980
- package/src/i18n/messages/fr.js +1333 -987
- package/src/i18n/messages/pt-BR.js +1561 -1166
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -143
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +449 -294
- 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 -0
- 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 -0
- package/src/lib/security/exit-codes.js +51 -0
- package/src/lib/security/findings-writer.js +176 -0
- package/src/lib/security/runtime-events.js +77 -0
- package/src/lib/security/secrets-regex.js +115 -0
- package/src/lib/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -0
- package/src/lib/terminal-checkbox.js +135 -0
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -84
- 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 -0
- package/src/parser.js +66 -59
- package/src/path-guard.js +47 -0
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -443
- 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 -0
- package/src/session-handoff.js +295 -77
- 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 -177
- 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 -0
- package/src/tool-executor.js +94 -94
- package/src/updater.js +39 -39
- package/src/utils.js +49 -46
- 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 -0
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +333 -372
- package/template/.aioson/agents/architect.md +325 -338
- package/template/.aioson/agents/briefing.md +264 -0
- package/template/.aioson/agents/committer.md +161 -0
- 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 -779
- package/template/.aioson/agents/deyvin.md +198 -290
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +56 -264
- package/template/.aioson/agents/genome.md +1904 -314
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
- package/template/.aioson/agents/manifests/dev.manifest.json +54 -0
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
- package/template/.aioson/agents/manifests/product.manifest.json +23 -0
- package/template/.aioson/agents/manifests/qa.manifest.json +41 -0
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
- package/template/.aioson/agents/neo.md +341 -233
- package/template/.aioson/agents/orache.md +430 -434
- package/template/.aioson/agents/orchestrator.md +274 -364
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -0
- package/template/.aioson/agents/pm.md +141 -194
- package/template/.aioson/agents/product.md +351 -518
- package/template/.aioson/agents/profiler-enricher.md +331 -280
- package/template/.aioson/agents/profiler-forge.md +212 -202
- package/template/.aioson/agents/profiler-researcher.md +282 -259
- package/template/.aioson/agents/qa.md +432 -688
- package/template/.aioson/agents/setup.md +423 -649
- package/template/.aioson/agents/sheldon.md +259 -829
- package/template/.aioson/agents/site-forge.md +281 -1753
- package/template/.aioson/agents/squad.md +160 -2027
- package/template/.aioson/agents/tester.md +536 -463
- package/template/.aioson/agents/ux-ui.md +195 -870
- package/template/.aioson/agents/validator.md +101 -0
- 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 -103
- 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 -0
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -382
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- 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 -0
- package/template/.aioson/design-docs/componentization.md +47 -0
- package/template/.aioson/design-docs/file-size.md +52 -0
- package/template/.aioson/design-docs/folder-structure.md +51 -0
- package/template/.aioson/design-docs/naming.md +54 -0
- package/template/.aioson/docs/LAYERS.md +89 -79
- 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 -0
- package/template/.aioson/docs/dev/stack-conventions.md +83 -0
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
- 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 -0
- package/template/.aioson/docs/product/prd-contract.md +107 -0
- package/template/.aioson/docs/product/quality-lens.md +57 -0
- package/template/.aioson/docs/product/research-loop.md +65 -0
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
- package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
- package/template/.aioson/docs/sheldon/research-loop.md +56 -0
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
- package/template/.aioson/docs/site-forge-build.md +195 -0
- package/template/.aioson/docs/site-forge-extraction.md +135 -0
- package/template/.aioson/docs/site-forge-qa.md +155 -0
- package/template/.aioson/docs/site-forge-recon.md +434 -0
- package/template/.aioson/docs/site-forge-transform.md +249 -0
- package/template/.aioson/docs/squad/content-output.md +91 -0
- package/template/.aioson/docs/squad/creation-flow.md +149 -0
- package/template/.aioson/docs/squad/domain-breadth.md +322 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -0
- package/template/.aioson/docs/squad/genome-bindings.md +47 -0
- package/template/.aioson/docs/squad/package-contract.md +260 -0
- package/template/.aioson/docs/squad/quality-lens.md +60 -0
- package/template/.aioson/docs/squad/research-loop.md +59 -0
- package/template/.aioson/docs/squad/session-operations.md +117 -0
- package/template/.aioson/docs/squad/workflow-quality.md +165 -0
- package/template/.aioson/docs/tester/coverage-quality.md +351 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
- package/template/.aioson/docs/ux-ui/component-map.md +35 -0
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
- 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 -0
- package/template/.aioson/mcp/servers.md +23 -24
- 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 -0
- package/template/.aioson/rules/aioson-context-boundary.md +63 -0
- package/template/.aioson/rules/canonical-path-contract.md +47 -0
- package/template/.aioson/rules/data-format-convention.md +74 -136
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- package/template/.aioson/rules/output-brevity.md +44 -0
- package/template/.aioson/rules/prd-section-ownership.md +49 -0
- package/template/.aioson/rules/security-baseline.md +139 -0
- package/template/.aioson/rules/spec-level-ownership.md +61 -0
- package/template/.aioson/rules/squad/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- 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 -204
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -830
- 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 -0
- 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 -0
- 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 -0
- 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 -112
- 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 -121
- package/template/.aioson/tasks/squad-design.md +206 -158
- 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 -44
- 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 -0
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
- 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 -0
- 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 -0
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -4
- package/template/.gemini/commands/aios-architect.toml +8 -7
- package/template/.gemini/commands/aios-committer.toml +7 -0
- package/template/.gemini/commands/aios-copywriter.toml +7 -0
- package/template/.gemini/commands/aios-cypher.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +9 -8
- package/template/.gemini/commands/aios-deyvin.toml +7 -6
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -4
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +6 -4
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +9 -8
- package/template/.gemini/commands/aios-pair.toml +7 -6
- package/template/.gemini/commands/aios-pm.toml +9 -8
- package/template/.gemini/commands/aios-product.toml +6 -4
- package/template/.gemini/commands/aios-qa.toml +7 -6
- package/template/.gemini/commands/aios-setup.toml +6 -3
- package/template/.gemini/commands/aios-sheldon.toml +7 -0
- package/template/.gemini/commands/aios-site-forge.toml +7 -0
- package/template/.gemini/commands/aios-squad.toml +7 -0
- package/template/.gemini/commands/aios-tester.toml +7 -6
- package/template/.gemini/commands/aios-ux-ui.toml +9 -8
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +184 -172
- package/template/CLAUDE.md +98 -93
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/docs/en/i18n.md +0 -52
- package/docs/en/schemas/parallel-status.schema.json +0 -94
- package/template/.aioson/genomes/copywriting.md +0 -204
- package/template/.aioson/locales/en/agents/analyst.md +0 -244
- package/template/.aioson/locales/en/agents/architect.md +0 -245
- package/template/.aioson/locales/en/agents/dev.md +0 -397
- package/template/.aioson/locales/en/agents/deyvin.md +0 -137
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
- package/template/.aioson/locales/en/agents/genome.md +0 -212
- package/template/.aioson/locales/en/agents/neo.md +0 -8
- package/template/.aioson/locales/en/agents/orache.md +0 -6
- package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
- package/template/.aioson/locales/en/agents/pair.md +0 -5
- package/template/.aioson/locales/en/agents/pm.md +0 -84
- package/template/.aioson/locales/en/agents/product.md +0 -378
- package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/en/agents/qa.md +0 -270
- package/template/.aioson/locales/en/agents/setup.md +0 -421
- package/template/.aioson/locales/en/agents/sheldon.md +0 -455
- package/template/.aioson/locales/en/agents/squad.md +0 -449
- package/template/.aioson/locales/en/agents/tester.md +0 -6
- package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
- package/template/.aioson/locales/es/agents/analyst.md +0 -225
- package/template/.aioson/locales/es/agents/architect.md +0 -245
- package/template/.aioson/locales/es/agents/dev.md +0 -370
- package/template/.aioson/locales/es/agents/deyvin.md +0 -99
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/es/agents/genome.md +0 -104
- package/template/.aioson/locales/es/agents/neo.md +0 -50
- package/template/.aioson/locales/es/agents/orache.md +0 -105
- package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/es/agents/pair.md +0 -7
- package/template/.aioson/locales/es/agents/pm.md +0 -90
- package/template/.aioson/locales/es/agents/product.md +0 -372
- package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/es/agents/qa.md +0 -198
- package/template/.aioson/locales/es/agents/setup.md +0 -405
- package/template/.aioson/locales/es/agents/sheldon.md +0 -309
- package/template/.aioson/locales/es/agents/squad.md +0 -532
- package/template/.aioson/locales/es/agents/tester.md +0 -9
- package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/fr/agents/analyst.md +0 -225
- package/template/.aioson/locales/fr/agents/architect.md +0 -245
- package/template/.aioson/locales/fr/agents/dev.md +0 -370
- package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/fr/agents/genome.md +0 -104
- package/template/.aioson/locales/fr/agents/neo.md +0 -50
- package/template/.aioson/locales/fr/agents/orache.md +0 -106
- package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/fr/agents/pair.md +0 -7
- package/template/.aioson/locales/fr/agents/pm.md +0 -90
- package/template/.aioson/locales/fr/agents/product.md +0 -372
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/fr/agents/qa.md +0 -198
- package/template/.aioson/locales/fr/agents/setup.md +0 -405
- package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
- package/template/.aioson/locales/fr/agents/squad.md +0 -532
- package/template/.aioson/locales/fr/agents/tester.md +0 -9
- package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
- package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
- package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
- package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
- package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
- package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
- package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
- package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
- package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
- package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
- package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
|
@@ -1,339 +1,339 @@
|
|
|
1
|
-
# QA Browser Testing Guide
|
|
2
|
-
|
|
3
|
-
AIOSON includes a built-in browser QA engine powered by [Playwright](https://playwright.dev). It opens a real Chrome browser, runs automated tests across multiple personas, and generates a report in the same format as the `@qa` agent — so both can be used together.
|
|
4
|
-
|
|
5
|
-
No LLM required. No separate tool to install beyond Playwright itself.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Prerequisites
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install -g playwright
|
|
13
|
-
npx playwright install chromium
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Verify everything is ready:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
aioson qa:doctor
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Quick start
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# 1. Generate config (reads prd.md and discovery.md automatically)
|
|
28
|
-
aioson qa:init --url=http://localhost:3000
|
|
29
|
-
|
|
30
|
-
# 2. Start your application, then run
|
|
31
|
-
aioson qa:run
|
|
32
|
-
|
|
33
|
-
# 3. View the report
|
|
34
|
-
aioson qa:report
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Output files written to the project root:
|
|
38
|
-
- `aios-qa-report.md` — full report (same severity format as `@qa`)
|
|
39
|
-
- `aios-qa-report.json` — machine-readable for CI/CD
|
|
40
|
-
- `aios-qa-screenshots/` — screenshot evidence per finding
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Commands
|
|
45
|
-
|
|
46
|
-
### `qa:init`
|
|
47
|
-
|
|
48
|
-
Generates `aios-qa.config.json` from your project context.
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json]
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
If `.aioson/context/project.context.md` exists, the project name and language are read automatically. If `prd.md` exists, acceptance criteria are extracted and added as test scenarios.
|
|
55
|
-
|
|
56
|
-
**Flags:**
|
|
57
|
-
|
|
58
|
-
| Flag | Description |
|
|
59
|
-
|------|-------------|
|
|
60
|
-
| `--url=<url>` | Target application URL (default: `http://localhost:3000`) |
|
|
61
|
-
| `--dry-run` | Preview config without writing |
|
|
62
|
-
| `--json` | Output result as JSON |
|
|
63
|
-
|
|
64
|
-
**Example output — `aios-qa.config.json`:**
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"project_name": "MyApp",
|
|
69
|
-
"url": "http://localhost:3000",
|
|
70
|
-
"language": "en",
|
|
71
|
-
"personas": ["naive", "hacker", "power", "mobile"],
|
|
72
|
-
"security_probes": [
|
|
73
|
-
"exposed_env_vars", "xss_inputs", "open_redirect",
|
|
74
|
-
"sensitive_files", "idor_probe", "console_leaks",
|
|
75
|
-
"debug_routes", "mixed_content", "sensitive_get_params"
|
|
76
|
-
],
|
|
77
|
-
"performance_thresholds": {
|
|
78
|
-
"page_load_ms": 3000,
|
|
79
|
-
"ttfb_ms": 800,
|
|
80
|
-
"requests_max": 80,
|
|
81
|
-
"transfer_max_kb": 2048
|
|
82
|
-
},
|
|
83
|
-
"accessibility": true,
|
|
84
|
-
"network_capture": true,
|
|
85
|
-
"screenshot_on_finding": true,
|
|
86
|
-
"scenarios": []
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### `qa:doctor`
|
|
93
|
-
|
|
94
|
-
Checks all prerequisites before running tests.
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
aioson qa:doctor [path] [--json]
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Checks performed:**
|
|
101
|
-
|
|
102
|
-
| Check | Severity |
|
|
103
|
-
|-------|----------|
|
|
104
|
-
| Playwright package installed | Error |
|
|
105
|
-
| Chromium binary found | Error |
|
|
106
|
-
| `aios-qa.config.json` exists and is valid JSON | Error |
|
|
107
|
-
| Target URL is reachable | Warning |
|
|
108
|
-
| `project.context.md` present (enriches tests) | Warning |
|
|
109
|
-
| `prd.md` present (enables AC coverage) | Warning |
|
|
110
|
-
|
|
111
|
-
**Example:**
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
[OK] playwright.installed - Playwright is installed.
|
|
115
|
-
[OK] chromium.binary - Chromium browser binary found.
|
|
116
|
-
[OK] config.exists - aios-qa.config.json found and valid.
|
|
117
|
-
[OK] url.reachable - Target URL is reachable (http://localhost:3000).
|
|
118
|
-
[OK] context.exists - project.context.md found.
|
|
119
|
-
[WARN] prd.md — prd.md not found — AC coverage mapping will be skipped.
|
|
120
|
-
Summary: 5 passed, 0 failed, 1 warnings.
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### `qa:run`
|
|
126
|
-
|
|
127
|
-
Runs a full browser QA session: 4 personas, security probes, accessibility audit, performance capture, and AC coverage.
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json]
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**Flags:**
|
|
134
|
-
|
|
135
|
-
| Flag | Description |
|
|
136
|
-
|------|-------------|
|
|
137
|
-
| `--url=<url>` | Override URL from config |
|
|
138
|
-
| `--persona=<name>` | Run only one persona |
|
|
139
|
-
| `--headed` | Show browser window (useful for debugging) |
|
|
140
|
-
| `--html` | Also generate an HTML report in `reports/<run-id>/index.html` |
|
|
141
|
-
| `--json` | Output result as JSON |
|
|
142
|
-
|
|
143
|
-
#### Personas
|
|
144
|
-
|
|
145
|
-
**`naive` — Clumsy user**
|
|
146
|
-
- Submits all forms empty → detects unhandled 5xx
|
|
147
|
-
- Types 10,000-character strings → detects missing length validation
|
|
148
|
-
- Clicks elements with `cursor:pointer` that have no handler → detects ghost clickables
|
|
149
|
-
|
|
150
|
-
**`hacker` — Attacker mindset**
|
|
151
|
-
- Scans `window.__NEXT_DATA__`, `window.__env__`, `window.ENV`, `window.CONFIG` for exposed secrets (OpenAI, Stripe, AWS, Google, GitHub, Slack patterns)
|
|
152
|
-
- Scans rendered HTML source for the same patterns
|
|
153
|
-
- Tries 10 sensitive file URLs: `/.env`, `/.env.local`, `/.env.production`, `/.git/config`, `/config.js`, and more
|
|
154
|
-
- Injects XSS payload in all text inputs, detects execution
|
|
155
|
-
- Probes 8 redirect parameters for open redirect
|
|
156
|
-
- Types SQL injection payload, detects DB error messages in response
|
|
157
|
-
- Tests IDOR: increments/decrements numeric IDs in URL by ±1 and +9999
|
|
158
|
-
- Checks 8 debug/admin routes for unauthenticated access
|
|
159
|
-
|
|
160
|
-
**`power` — Keyboard-only, boundary values**
|
|
161
|
-
- Tabs through all interactive elements, detects missing visible focus indicator
|
|
162
|
-
- Enters boundary values in number/range inputs: `-999999999`, `0`, `999999999999999`
|
|
163
|
-
- Enters edge dates: `1900-01-01`, `9999-12-31`, `2000-02-29`
|
|
164
|
-
|
|
165
|
-
**`mobile` — iPhone SE (375×667)**
|
|
166
|
-
- Detects horizontal overflow (content wider than viewport)
|
|
167
|
-
- Flags touch targets smaller than 44×44px (WCAG 2.5.5)
|
|
168
|
-
- Flags text smaller than 12px
|
|
169
|
-
|
|
170
|
-
#### Security probes (post-persona, network layer)
|
|
171
|
-
- Console errors containing stack traces → Medium finding
|
|
172
|
-
- Sensitive parameter names (`token`, `password`, `api_key`) in GET URLs → High finding
|
|
173
|
-
- HTTP requests from HTTPS page (mixed content) → Medium finding
|
|
174
|
-
|
|
175
|
-
#### Accessibility audit
|
|
176
|
-
- Images missing `alt` attribute (WCAG 1.1.1)
|
|
177
|
-
- Form inputs with no accessible label (WCAG 1.3.1)
|
|
178
|
-
- Buttons with no accessible name (WCAG 4.1.2)
|
|
179
|
-
- Heading levels skipped (e.g. `h1` → `h3`)
|
|
180
|
-
- `<html>` missing `lang` attribute (WCAG 3.1.1)
|
|
181
|
-
|
|
182
|
-
#### Performance capture
|
|
183
|
-
| Metric | Default threshold |
|
|
184
|
-
|--------|------------------|
|
|
185
|
-
| Page load complete | 3000ms |
|
|
186
|
-
| Time to First Byte (TTFB) | 800ms |
|
|
187
|
-
| Network request count | 80 |
|
|
188
|
-
| Total transfer size | 2048KB |
|
|
189
|
-
|
|
190
|
-
Thresholds are configurable in `aios-qa.config.json` under `performance_thresholds`.
|
|
191
|
-
|
|
192
|
-
#### AC coverage
|
|
193
|
-
If `prd.md` exists, acceptance criteria are extracted from the table and 🔴 must-have items. For each AC, a screenshot is taken of the current page state and saved to `aios-qa-screenshots/`.
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
### `qa:scan`
|
|
198
|
-
|
|
199
|
-
Autonomous crawl mode. No pre-defined scenarios needed — the tool discovers all routes and probes each one.
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json]
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**Flags:**
|
|
206
|
-
|
|
207
|
-
| Flag | Default | Description |
|
|
208
|
-
|------|---------|-------------|
|
|
209
|
-
| `--url=<url>` | from config | Override base URL |
|
|
210
|
-
| `--depth=<n>` | `3` | Max crawl depth from base URL |
|
|
211
|
-
| `--max-pages=<n>` | `50` | Max pages to visit |
|
|
212
|
-
| `--headed` | false | Show browser window |
|
|
213
|
-
| `--html` | false | Also generate an HTML report in `reports/<run-id>/index.html` |
|
|
214
|
-
| `--json` | false | Output result as JSON |
|
|
215
|
-
|
|
216
|
-
**What it does on each route:**
|
|
217
|
-
- Scans HTML source and window globals for exposed secrets
|
|
218
|
-
- Checks for stack trace leakage in console errors
|
|
219
|
-
- Accessibility quick check (images alt, html lang)
|
|
220
|
-
- Horizontal overflow detection
|
|
221
|
-
|
|
222
|
-
Sensitive files (`/.env`, `/.git/config`, etc.) are probed once per domain at the start of the scan.
|
|
223
|
-
|
|
224
|
-
---
|
|
225
|
-
|
|
226
|
-
### `qa:report`
|
|
227
|
-
|
|
228
|
-
Displays the last generated report.
|
|
229
|
-
|
|
230
|
-
```bash
|
|
231
|
-
aioson qa:report [path] [--html] [--json]
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
| Flag | Description |
|
|
235
|
-
|------|-------------|
|
|
236
|
-
| `--html` | Regenerate an HTML report from the existing `aios-qa-report.json` |
|
|
237
|
-
| `--json` | Return the parsed `aios-qa-report.json` as JSON |
|
|
238
|
-
|
|
239
|
-
In default mode, prints `aios-qa-report.md` to the terminal.
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## Integration with @qa agent
|
|
244
|
-
|
|
245
|
-
When the `@qa` agent runs, it automatically checks for `aios-qa-report.md` in the project root. If found, it:
|
|
246
|
-
|
|
247
|
-
1. Maps browser findings to AC status — any AC that failed in the browser is marked **Missing**
|
|
248
|
-
2. Promotes severity — if both static review and browser test flag the same issue, severity goes up one level
|
|
249
|
-
3. Adds a **Browser findings (aios-qa)** subsection to its report
|
|
250
|
-
4. Tags ACs that passed in the browser with `[browser-validated]`
|
|
251
|
-
|
|
252
|
-
This means running `aioson qa:run` before `@qa` gives you a richer, more complete QA report with zero extra effort.
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## Typical workflow
|
|
257
|
-
|
|
258
|
-
Two terminals, running in parallel:
|
|
259
|
-
|
|
260
|
-
```bash
|
|
261
|
-
# Terminal 1 — aioson agents
|
|
262
|
-
@setup → @product → @analyst → @architect → @dev
|
|
263
|
-
|
|
264
|
-
# Terminal 2 — browser QA (while app is running)
|
|
265
|
-
aioson qa:init --url=http://localhost:3000
|
|
266
|
-
aioson qa:run
|
|
267
|
-
|
|
268
|
-
# Terminal 1 — continues with merged findings
|
|
269
|
-
@qa # reads aios-qa-report.md automatically
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
## HTML reports
|
|
275
|
-
|
|
276
|
-
Add `--html` to `qa:run` or `qa:scan` to generate a self-contained visual report alongside the default MD/JSON outputs.
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
aioson qa:run --html
|
|
280
|
-
aioson qa:scan --html
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
Or generate HTML retroactively from an existing run:
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
aioson qa:report --html
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
**Output structure:**
|
|
290
|
-
|
|
291
|
-
```
|
|
292
|
-
reports/
|
|
293
|
-
index.html ← historical index of all runs
|
|
294
|
-
2026-03-04_15-30-00_run/
|
|
295
|
-
index.html ← full report (self-contained)
|
|
296
|
-
meta.json ← run metadata for the index
|
|
297
|
-
2026-03-04_14-00-00_scan/
|
|
298
|
-
index.html
|
|
299
|
-
meta.json
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
**Features:**
|
|
303
|
-
- Screenshots embedded as base64 — no external file references, fully portable for sharing
|
|
304
|
-
- Severity filter buttons (All / Critical / High / Medium / Low)
|
|
305
|
-
- Collapsible finding cards with location, risk, fix, and screenshot
|
|
306
|
-
- Performance cards with colour-coded thresholds
|
|
307
|
-
- AC coverage table (when `prd.md` was used)
|
|
308
|
-
- Routes discovered list (scan mode)
|
|
309
|
-
- Click-to-zoom screenshot lightbox
|
|
310
|
-
- `reports/index.html` auto-updated after each run with a sortable history table
|
|
311
|
-
|
|
312
|
-
The MD and JSON outputs are never modified — `--html` is purely additive.
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
## CI/CD integration
|
|
317
|
-
|
|
318
|
-
`aios-qa-report.json` is written alongside the markdown report and is suitable for CI pipelines:
|
|
319
|
-
|
|
320
|
-
```bash
|
|
321
|
-
aioson qa:run --json | jq '.summary'
|
|
322
|
-
# { "critical": 0, "high": 1, "medium": 3, "low": 2 }
|
|
323
|
-
|
|
324
|
-
# Fail CI if any critical findings
|
|
325
|
-
aioson qa:run --json | jq 'if .summary.critical > 0 then error else . end'
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
For headless environments, Playwright runs in headless mode by default (no `--headed` flag needed in CI).
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Report severity reference
|
|
333
|
-
|
|
334
|
-
| Severity | Examples |
|
|
335
|
-
|----------|---------|
|
|
336
|
-
| **Critical** | Exposed API key, XSS executed, sensitive file accessible, SQL error exposed |
|
|
337
|
-
| **High** | IDOR potential, open redirect, 5xx on empty form, sensitive param in GET URL |
|
|
338
|
-
| **Medium** | Missing auth on debug route, console stack traces, TTFB > 800ms, accessibility violations |
|
|
339
|
-
| **Low** | Ghost clickable elements, touch targets < 44px, fonts < 12px, missing lang attribute |
|
|
1
|
+
# QA Browser Testing Guide
|
|
2
|
+
|
|
3
|
+
AIOSON includes a built-in browser QA engine powered by [Playwright](https://playwright.dev). It opens a real Chrome browser, runs automated tests across multiple personas, and generates a report in the same format as the `@qa` agent — so both can be used together.
|
|
4
|
+
|
|
5
|
+
No LLM required. No separate tool to install beyond Playwright itself.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g playwright
|
|
13
|
+
npx playwright install chromium
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Verify everything is ready:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
aioson qa:doctor
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quick start
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# 1. Generate config (reads prd.md and discovery.md automatically)
|
|
28
|
+
aioson qa:init --url=http://localhost:3000
|
|
29
|
+
|
|
30
|
+
# 2. Start your application, then run
|
|
31
|
+
aioson qa:run
|
|
32
|
+
|
|
33
|
+
# 3. View the report
|
|
34
|
+
aioson qa:report
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Output files written to the project root:
|
|
38
|
+
- `aios-qa-report.md` — full report (same severity format as `@qa`)
|
|
39
|
+
- `aios-qa-report.json` — machine-readable for CI/CD
|
|
40
|
+
- `aios-qa-screenshots/` — screenshot evidence per finding
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Commands
|
|
45
|
+
|
|
46
|
+
### `qa:init`
|
|
47
|
+
|
|
48
|
+
Generates `aios-qa.config.json` from your project context.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
aioson qa:init [path] [--url=<app-url>] [--dry-run] [--json]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If `.aioson/context/project.context.md` exists, the project name and language are read automatically. If `prd.md` exists, acceptance criteria are extracted and added as test scenarios.
|
|
55
|
+
|
|
56
|
+
**Flags:**
|
|
57
|
+
|
|
58
|
+
| Flag | Description |
|
|
59
|
+
|------|-------------|
|
|
60
|
+
| `--url=<url>` | Target application URL (default: `http://localhost:3000`) |
|
|
61
|
+
| `--dry-run` | Preview config without writing |
|
|
62
|
+
| `--json` | Output result as JSON |
|
|
63
|
+
|
|
64
|
+
**Example output — `aios-qa.config.json`:**
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"project_name": "MyApp",
|
|
69
|
+
"url": "http://localhost:3000",
|
|
70
|
+
"language": "en",
|
|
71
|
+
"personas": ["naive", "hacker", "power", "mobile"],
|
|
72
|
+
"security_probes": [
|
|
73
|
+
"exposed_env_vars", "xss_inputs", "open_redirect",
|
|
74
|
+
"sensitive_files", "idor_probe", "console_leaks",
|
|
75
|
+
"debug_routes", "mixed_content", "sensitive_get_params"
|
|
76
|
+
],
|
|
77
|
+
"performance_thresholds": {
|
|
78
|
+
"page_load_ms": 3000,
|
|
79
|
+
"ttfb_ms": 800,
|
|
80
|
+
"requests_max": 80,
|
|
81
|
+
"transfer_max_kb": 2048
|
|
82
|
+
},
|
|
83
|
+
"accessibility": true,
|
|
84
|
+
"network_capture": true,
|
|
85
|
+
"screenshot_on_finding": true,
|
|
86
|
+
"scenarios": []
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### `qa:doctor`
|
|
93
|
+
|
|
94
|
+
Checks all prerequisites before running tests.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
aioson qa:doctor [path] [--json]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Checks performed:**
|
|
101
|
+
|
|
102
|
+
| Check | Severity |
|
|
103
|
+
|-------|----------|
|
|
104
|
+
| Playwright package installed | Error |
|
|
105
|
+
| Chromium binary found | Error |
|
|
106
|
+
| `aios-qa.config.json` exists and is valid JSON | Error |
|
|
107
|
+
| Target URL is reachable | Warning |
|
|
108
|
+
| `project.context.md` present (enriches tests) | Warning |
|
|
109
|
+
| `prd.md` present (enables AC coverage) | Warning |
|
|
110
|
+
|
|
111
|
+
**Example:**
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
[OK] playwright.installed - Playwright is installed.
|
|
115
|
+
[OK] chromium.binary - Chromium browser binary found.
|
|
116
|
+
[OK] config.exists - aios-qa.config.json found and valid.
|
|
117
|
+
[OK] url.reachable - Target URL is reachable (http://localhost:3000).
|
|
118
|
+
[OK] context.exists - project.context.md found.
|
|
119
|
+
[WARN] prd.md — prd.md not found — AC coverage mapping will be skipped.
|
|
120
|
+
Summary: 5 passed, 0 failed, 1 warnings.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### `qa:run`
|
|
126
|
+
|
|
127
|
+
Runs a full browser QA session: 4 personas, security probes, accessibility audit, performance capture, and AC coverage.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
aioson qa:run [path] [--url=<app-url>] [--persona=naive|hacker|power|mobile] [--headed] [--html] [--json]
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Flags:**
|
|
134
|
+
|
|
135
|
+
| Flag | Description |
|
|
136
|
+
|------|-------------|
|
|
137
|
+
| `--url=<url>` | Override URL from config |
|
|
138
|
+
| `--persona=<name>` | Run only one persona |
|
|
139
|
+
| `--headed` | Show browser window (useful for debugging) |
|
|
140
|
+
| `--html` | Also generate an HTML report in `reports/<run-id>/index.html` |
|
|
141
|
+
| `--json` | Output result as JSON |
|
|
142
|
+
|
|
143
|
+
#### Personas
|
|
144
|
+
|
|
145
|
+
**`naive` — Clumsy user**
|
|
146
|
+
- Submits all forms empty → detects unhandled 5xx
|
|
147
|
+
- Types 10,000-character strings → detects missing length validation
|
|
148
|
+
- Clicks elements with `cursor:pointer` that have no handler → detects ghost clickables
|
|
149
|
+
|
|
150
|
+
**`hacker` — Attacker mindset**
|
|
151
|
+
- Scans `window.__NEXT_DATA__`, `window.__env__`, `window.ENV`, `window.CONFIG` for exposed secrets (OpenAI, Stripe, AWS, Google, GitHub, Slack patterns)
|
|
152
|
+
- Scans rendered HTML source for the same patterns
|
|
153
|
+
- Tries 10 sensitive file URLs: `/.env`, `/.env.local`, `/.env.production`, `/.git/config`, `/config.js`, and more
|
|
154
|
+
- Injects XSS payload in all text inputs, detects execution
|
|
155
|
+
- Probes 8 redirect parameters for open redirect
|
|
156
|
+
- Types SQL injection payload, detects DB error messages in response
|
|
157
|
+
- Tests IDOR: increments/decrements numeric IDs in URL by ±1 and +9999
|
|
158
|
+
- Checks 8 debug/admin routes for unauthenticated access
|
|
159
|
+
|
|
160
|
+
**`power` — Keyboard-only, boundary values**
|
|
161
|
+
- Tabs through all interactive elements, detects missing visible focus indicator
|
|
162
|
+
- Enters boundary values in number/range inputs: `-999999999`, `0`, `999999999999999`
|
|
163
|
+
- Enters edge dates: `1900-01-01`, `9999-12-31`, `2000-02-29`
|
|
164
|
+
|
|
165
|
+
**`mobile` — iPhone SE (375×667)**
|
|
166
|
+
- Detects horizontal overflow (content wider than viewport)
|
|
167
|
+
- Flags touch targets smaller than 44×44px (WCAG 2.5.5)
|
|
168
|
+
- Flags text smaller than 12px
|
|
169
|
+
|
|
170
|
+
#### Security probes (post-persona, network layer)
|
|
171
|
+
- Console errors containing stack traces → Medium finding
|
|
172
|
+
- Sensitive parameter names (`token`, `password`, `api_key`) in GET URLs → High finding
|
|
173
|
+
- HTTP requests from HTTPS page (mixed content) → Medium finding
|
|
174
|
+
|
|
175
|
+
#### Accessibility audit
|
|
176
|
+
- Images missing `alt` attribute (WCAG 1.1.1)
|
|
177
|
+
- Form inputs with no accessible label (WCAG 1.3.1)
|
|
178
|
+
- Buttons with no accessible name (WCAG 4.1.2)
|
|
179
|
+
- Heading levels skipped (e.g. `h1` → `h3`)
|
|
180
|
+
- `<html>` missing `lang` attribute (WCAG 3.1.1)
|
|
181
|
+
|
|
182
|
+
#### Performance capture
|
|
183
|
+
| Metric | Default threshold |
|
|
184
|
+
|--------|------------------|
|
|
185
|
+
| Page load complete | 3000ms |
|
|
186
|
+
| Time to First Byte (TTFB) | 800ms |
|
|
187
|
+
| Network request count | 80 |
|
|
188
|
+
| Total transfer size | 2048KB |
|
|
189
|
+
|
|
190
|
+
Thresholds are configurable in `aios-qa.config.json` under `performance_thresholds`.
|
|
191
|
+
|
|
192
|
+
#### AC coverage
|
|
193
|
+
If `prd.md` exists, acceptance criteria are extracted from the table and 🔴 must-have items. For each AC, a screenshot is taken of the current page state and saved to `aios-qa-screenshots/`.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
### `qa:scan`
|
|
198
|
+
|
|
199
|
+
Autonomous crawl mode. No pre-defined scenarios needed — the tool discovers all routes and probes each one.
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
aioson qa:scan [path] [--url=<app-url>] [--depth=3] [--max-pages=50] [--headed] [--html] [--json]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Flags:**
|
|
206
|
+
|
|
207
|
+
| Flag | Default | Description |
|
|
208
|
+
|------|---------|-------------|
|
|
209
|
+
| `--url=<url>` | from config | Override base URL |
|
|
210
|
+
| `--depth=<n>` | `3` | Max crawl depth from base URL |
|
|
211
|
+
| `--max-pages=<n>` | `50` | Max pages to visit |
|
|
212
|
+
| `--headed` | false | Show browser window |
|
|
213
|
+
| `--html` | false | Also generate an HTML report in `reports/<run-id>/index.html` |
|
|
214
|
+
| `--json` | false | Output result as JSON |
|
|
215
|
+
|
|
216
|
+
**What it does on each route:**
|
|
217
|
+
- Scans HTML source and window globals for exposed secrets
|
|
218
|
+
- Checks for stack trace leakage in console errors
|
|
219
|
+
- Accessibility quick check (images alt, html lang)
|
|
220
|
+
- Horizontal overflow detection
|
|
221
|
+
|
|
222
|
+
Sensitive files (`/.env`, `/.git/config`, etc.) are probed once per domain at the start of the scan.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
### `qa:report`
|
|
227
|
+
|
|
228
|
+
Displays the last generated report.
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
aioson qa:report [path] [--html] [--json]
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
| Flag | Description |
|
|
235
|
+
|------|-------------|
|
|
236
|
+
| `--html` | Regenerate an HTML report from the existing `aios-qa-report.json` |
|
|
237
|
+
| `--json` | Return the parsed `aios-qa-report.json` as JSON |
|
|
238
|
+
|
|
239
|
+
In default mode, prints `aios-qa-report.md` to the terminal.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Integration with @qa agent
|
|
244
|
+
|
|
245
|
+
When the `@qa` agent runs, it automatically checks for `aios-qa-report.md` in the project root. If found, it:
|
|
246
|
+
|
|
247
|
+
1. Maps browser findings to AC status — any AC that failed in the browser is marked **Missing**
|
|
248
|
+
2. Promotes severity — if both static review and browser test flag the same issue, severity goes up one level
|
|
249
|
+
3. Adds a **Browser findings (aios-qa)** subsection to its report
|
|
250
|
+
4. Tags ACs that passed in the browser with `[browser-validated]`
|
|
251
|
+
|
|
252
|
+
This means running `aioson qa:run` before `@qa` gives you a richer, more complete QA report with zero extra effort.
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Typical workflow
|
|
257
|
+
|
|
258
|
+
Two terminals, running in parallel:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# Terminal 1 — aioson agents
|
|
262
|
+
@setup → @product → @analyst → @architect → @dev
|
|
263
|
+
|
|
264
|
+
# Terminal 2 — browser QA (while app is running)
|
|
265
|
+
aioson qa:init --url=http://localhost:3000
|
|
266
|
+
aioson qa:run
|
|
267
|
+
|
|
268
|
+
# Terminal 1 — continues with merged findings
|
|
269
|
+
@qa # reads aios-qa-report.md automatically
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## HTML reports
|
|
275
|
+
|
|
276
|
+
Add `--html` to `qa:run` or `qa:scan` to generate a self-contained visual report alongside the default MD/JSON outputs.
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
aioson qa:run --html
|
|
280
|
+
aioson qa:scan --html
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Or generate HTML retroactively from an existing run:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
aioson qa:report --html
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Output structure:**
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
reports/
|
|
293
|
+
index.html ← historical index of all runs
|
|
294
|
+
2026-03-04_15-30-00_run/
|
|
295
|
+
index.html ← full report (self-contained)
|
|
296
|
+
meta.json ← run metadata for the index
|
|
297
|
+
2026-03-04_14-00-00_scan/
|
|
298
|
+
index.html
|
|
299
|
+
meta.json
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Features:**
|
|
303
|
+
- Screenshots embedded as base64 — no external file references, fully portable for sharing
|
|
304
|
+
- Severity filter buttons (All / Critical / High / Medium / Low)
|
|
305
|
+
- Collapsible finding cards with location, risk, fix, and screenshot
|
|
306
|
+
- Performance cards with colour-coded thresholds
|
|
307
|
+
- AC coverage table (when `prd.md` was used)
|
|
308
|
+
- Routes discovered list (scan mode)
|
|
309
|
+
- Click-to-zoom screenshot lightbox
|
|
310
|
+
- `reports/index.html` auto-updated after each run with a sortable history table
|
|
311
|
+
|
|
312
|
+
The MD and JSON outputs are never modified — `--html` is purely additive.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## CI/CD integration
|
|
317
|
+
|
|
318
|
+
`aios-qa-report.json` is written alongside the markdown report and is suitable for CI pipelines:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
aioson qa:run --json | jq '.summary'
|
|
322
|
+
# { "critical": 0, "high": 1, "medium": 3, "low": 2 }
|
|
323
|
+
|
|
324
|
+
# Fail CI if any critical findings
|
|
325
|
+
aioson qa:run --json | jq 'if .summary.critical > 0 then error else . end'
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
For headless environments, Playwright runs in headless mode by default (no `--headed` flag needed in CI).
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Report severity reference
|
|
333
|
+
|
|
334
|
+
| Severity | Examples |
|
|
335
|
+
|----------|---------|
|
|
336
|
+
| **Critical** | Exposed API key, XSS executed, sensitive file accessible, SQL error exposed |
|
|
337
|
+
| **High** | IDOR potential, open redirect, 5xx on empty form, sensitive param in GET URL |
|
|
338
|
+
| **Medium** | Missing auth on debug route, console stack traces, TTFB > 800ms, accessibility violations |
|
|
339
|
+
| **Low** | Ghost clickable elements, touch targets < 44px, fonts < 12px, missing lang attribute |
|