@jaimevalasek/aioson 1.8.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +595 -595
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -919
- package/bin/aioson.js +4 -4
- package/docs/design-previews/aurora-command-ui-website.html +884 -884
- package/docs/design-previews/aurora-command-ui.html +682 -682
- package/docs/design-previews/bold-editorial-ui-website.html +658 -658
- package/docs/design-previews/bold-editorial-ui.html +717 -717
- package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
- package/docs/design-previews/clean-saas-ui.html +549 -549
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
- package/docs/design-previews/cognitive-core-ui.html +463 -463
- package/docs/design-previews/glassmorphism-ui-website.html +572 -572
- package/docs/design-previews/glassmorphism-ui.html +886 -886
- package/docs/design-previews/index.html +699 -699
- package/docs/design-previews/interface-design-website.html +1187 -1187
- package/docs/design-previews/interface-design.html +513 -513
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
- package/docs/design-previews/neo-brutalist-ui.html +797 -797
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
- package/docs/design-previews/premium-command-center-ui.html +552 -552
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
- package/docs/design-previews/warm-craft-ui-website.html +684 -684
- package/docs/design-previews/warm-craft-ui.html +739 -739
- package/docs/en/1-understand/ecosystem-map.md +228 -0
- package/docs/en/1-understand/glossary.md +288 -0
- package/docs/en/1-understand/what-is-aioson.md +94 -0
- package/docs/en/1-understand/why-it-exists.md +106 -0
- package/docs/en/2-start/existing-project.md +246 -0
- package/docs/en/2-start/first-project.md +307 -0
- package/docs/en/2-start/initial-decisions.md +223 -0
- package/docs/en/3-recipes/README.md +28 -0
- package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
- package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
- package/docs/en/4-agents/README.md +56 -0
- package/docs/en/5-reference/README.md +60 -0
- package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -464
- package/docs/en/{i18n.md → 5-reference/i18n.md} +52 -52
- package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
- package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
- package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
- package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
- package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
- package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
- package/docs/en/{release.md → 5-reference/release.md} +28 -28
- package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
- package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
- package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
- package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
- package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
- package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -126
- package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
- package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
- package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
- package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -66
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/parallel-guard.schema.json +63 -63
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/{schemas → 5-reference/schemas}/parallel-merge.schema.json +84 -84
- package/docs/en/{schemas → 5-reference/schemas}/parallel-status.schema.json +184 -184
- package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
- package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
- package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
- package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
- package/docs/en/README.md +115 -0
- package/docs/en/active-learning-loop/README.md +117 -0
- package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
- package/docs/en/active-learning-loop/cli-commands.md +320 -0
- package/docs/en/active-learning-loop/diagrams.md +225 -0
- package/docs/en/active-learning-loop/doctor-checks.md +151 -0
- package/docs/en/active-learning-loop/how-to-use.md +313 -0
- package/docs/en/active-learning-loop/troubleshooting.md +283 -0
- package/docs/en/deyvin-subtask-scout/README.md +109 -0
- package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
- package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
- package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
- package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
- package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/integrations/apps-publish-marketplace.md +94 -94
- package/docs/integrations/sdlc-genius-boundary.md +76 -76
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
- package/docs/integrations/sdlc-genius-review-samples.md +86 -86
- package/docs/openclaw-bridge.md +308 -308
- package/docs/pt/1-entender/glossario.md +288 -0
- package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
- package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
- package/docs/pt/1-entender/por-que-existe.md +107 -0
- package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
- package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
- package/docs/pt/2-comecar/projeto-existente.md +245 -0
- package/docs/pt/3-receitas/README.md +28 -0
- package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
- package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
- package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
- package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
- package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
- package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
- package/docs/pt/3-receitas/landing-page.md +281 -0
- package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
- package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
- package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
- package/docs/pt/4-agentes/README.md +65 -0
- package/docs/pt/4-agentes/analyst.md +111 -0
- package/docs/pt/4-agentes/architect.md +113 -0
- package/docs/pt/4-agentes/briefing.md +95 -0
- package/docs/pt/4-agentes/committer.md +108 -0
- package/docs/pt/4-agentes/copywriter.md +279 -0
- package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
- package/docs/pt/4-agentes/dev.md +136 -0
- package/docs/pt/4-agentes/deyvin.md +99 -0
- package/docs/pt/4-agentes/discover.md +122 -0
- package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
- package/docs/pt/4-agentes/genome.md +115 -0
- package/docs/pt/4-agentes/neo.md +93 -0
- package/docs/pt/4-agentes/orache.md +107 -0
- package/docs/pt/4-agentes/orchestrator.md +118 -0
- package/docs/pt/4-agentes/pentester.md +131 -0
- package/docs/pt/4-agentes/pm.md +97 -0
- package/docs/pt/4-agentes/product.md +114 -0
- package/docs/pt/4-agentes/profiler-enricher.md +93 -0
- package/docs/pt/4-agentes/profiler-forge.md +93 -0
- package/docs/pt/4-agentes/profiler-researcher.md +98 -0
- package/docs/pt/4-agentes/qa.md +124 -0
- package/docs/pt/4-agentes/setup.md +104 -0
- package/docs/pt/4-agentes/sheldon.md +95 -0
- package/docs/pt/4-agentes/site-forge.md +104 -0
- package/docs/pt/4-agentes/squad.md +127 -0
- package/docs/pt/4-agentes/tester.md +105 -0
- package/docs/pt/4-agentes/ux-ui.md +110 -0
- package/docs/pt/4-agentes/validator.md +118 -0
- package/docs/pt/5-referencia/README.md +88 -0
- package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
- package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
- package/docs/pt/5-referencia/aioson-com-store.md +119 -0
- package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
- package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -290
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1781
- package/docs/pt/{compress-agents.md → 5-referencia/compress-agents.md} +304 -304
- package/docs/pt/{design-docs-governance.md → 5-referencia/design-docs-governance.md} +59 -59
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/{feature-archive.md → 5-referencia/feature-archive.md} +199 -191
- package/docs/pt/5-referencia/feature-dossier.md +121 -0
- package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
- package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -407
- package/docs/pt/{genome-distribution.md → 5-referencia/genome-distribution.md} +232 -232
- package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
- package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
- package/docs/pt/5-referencia/live-sessions.md +144 -0
- package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
- package/docs/pt/{motor-hardening.md → 5-referencia/motor-hardening.md} +493 -492
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/{runner-system.md → 5-referencia/runner-system.md} +113 -113
- package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
- package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
- package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
- package/docs/pt/5-referencia/sdd-framework.md +115 -0
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
- package/docs/pt/5-referencia/secure-by-default.md +117 -0
- package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
- package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
- package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
- package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
- package/docs/pt/README.md +111 -125
- package/docs/pt/_arquivo/README.md +130 -0
- package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
- package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
- package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
- package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
- package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
- package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
- package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
- package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
- package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -251
- package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
- package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
- package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
- package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
- package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
- package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
- package/docs/pt/active-learning-loop/README.md +117 -0
- package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
- package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
- package/docs/pt/active-learning-loop/como-usar.md +313 -0
- package/docs/pt/active-learning-loop/diagramas.md +225 -0
- package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
- package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
- package/docs/pt/agentes.md +996 -993
- package/docs/pt/deyvin-subtask-scout/README.md +109 -0
- package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
- package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
- package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
- package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
- package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/pt/living-memory/README.md +81 -0
- package/docs/pt/living-memory/autonomy-contract.md +206 -0
- package/docs/pt/living-memory/diagramas.md +365 -0
- package/docs/pt/living-memory/memoria-viva.md +141 -0
- package/docs/pt/living-memory/notificacoes-info.md +142 -0
- package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
- package/docs/pt/living-memory/troubleshooting.md +286 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -23
- package/docs/testing/genome-2.0-matrix.md +36 -36
- package/docs/testing/genome-2.0-rollout.md +184 -184
- package/package.json +51 -51
- package/src/a2a/client.js +165 -165
- package/src/a2a/server.js +223 -223
- package/src/agent-loader.js +280 -280
- package/src/agent-manifests.js +86 -66
- package/src/agents.js +92 -92
- package/src/autonomy-policy.js +163 -139
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -161
- package/src/cli.js +85 -5
- package/src/commands/agent-audit.js +397 -397
- package/src/commands/agent-export-skill.js +229 -229
- package/src/commands/agent-loader.js +85 -85
- package/src/commands/agents.js +273 -255
- package/src/commands/artifact-validate.js +218 -218
- package/src/commands/auth.js +298 -272
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -44
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -344
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -547
- package/src/commands/compress-agents.js +416 -416
- package/src/commands/config.js +90 -90
- package/src/commands/context-cache.js +90 -90
- package/src/commands/context-compact.js +49 -49
- package/src/commands/context-health.js +187 -177
- package/src/commands/context-load.js +219 -0
- package/src/commands/context-monitor.js +163 -163
- package/src/commands/context-pack.js +45 -45
- package/src/commands/context-search.js +66 -66
- package/src/commands/context-trim.js +183 -183
- package/src/commands/context-validate.js +91 -91
- package/src/commands/design-hybrid-options.js +385 -385
- package/src/commands/detect-test-runner.js +55 -55
- package/src/commands/dev-resume.js +32 -0
- package/src/commands/devlog-export-brains.js +27 -27
- package/src/commands/devlog-process.js +294 -294
- package/src/commands/devlog-watch.js +131 -131
- package/src/commands/doctor.js +123 -123
- package/src/commands/dossier-add-research.js +114 -0
- package/src/commands/dossier-audit.js +222 -0
- package/src/commands/dossier.js +423 -423
- package/src/commands/feature-archive.js +513 -513
- package/src/commands/feature-close.js +554 -270
- package/src/commands/gate-approve.js +198 -198
- package/src/commands/gate-check.js +247 -247
- package/src/commands/genome-doctor.js +489 -198
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -170
- package/src/commands/harness.js +307 -121
- package/src/commands/health.js +214 -214
- package/src/commands/hooks-emit.js +253 -253
- package/src/commands/hooks-install.js +347 -347
- package/src/commands/i18n-add.js +56 -56
- package/src/commands/implementation-plan.js +367 -367
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -120
- package/src/commands/install.js +162 -111
- package/src/commands/learning-auto-promote.js +197 -195
- package/src/commands/learning-evolve.js +364 -364
- package/src/commands/learning-export.js +103 -103
- package/src/commands/learning-rollback.js +164 -164
- package/src/commands/learning.js +134 -134
- package/src/commands/live.js +2101 -2082
- package/src/commands/locale-apply.js +54 -54
- package/src/commands/locale-diff.js +25 -25
- package/src/commands/mcp-doctor.js +407 -407
- package/src/commands/mcp-init.js +373 -373
- package/src/commands/memory-archive.js +193 -0
- package/src/commands/memory-reflect-commit.js +148 -0
- package/src/commands/memory-reflect-prepare.js +97 -0
- package/src/commands/memory-restore.js +177 -0
- package/src/commands/memory-search.js +135 -0
- package/src/commands/memory.js +299 -234
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -483
- package/src/commands/parallel-doctor.js +850 -850
- package/src/commands/parallel-guard.js +241 -241
- package/src/commands/parallel-init.js +311 -311
- package/src/commands/parallel-merge.js +299 -299
- package/src/commands/parallel-status.js +434 -434
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -267
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -166
- package/src/commands/qa-report.js +58 -58
- package/src/commands/qa-run.js +873 -873
- package/src/commands/qa-scan.js +337 -337
- package/src/commands/recovery.js +43 -43
- package/src/commands/revision.js +235 -235
- package/src/commands/runner-daemon.js +274 -274
- package/src/commands/runner-plan.js +70 -70
- package/src/commands/runner-queue-from-plan.js +166 -166
- package/src/commands/runner-queue.js +189 -189
- package/src/commands/runner-run.js +129 -129
- package/src/commands/runtime.js +2086 -2067
- package/src/commands/sandbox.js +37 -37
- package/src/commands/scaffold-complete.js +188 -188
- package/src/commands/scan-project.js +1371 -1371
- package/src/commands/scout-commit.js +163 -0
- package/src/commands/scout-prep.js +214 -0
- package/src/commands/scout-validate.js +112 -0
- package/src/commands/security-audit.js +275 -275
- package/src/commands/security-scan.js +376 -376
- package/src/commands/self-implement-loop.js +306 -300
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -699
- package/src/commands/setup.js +178 -178
- package/src/commands/sizing.js +165 -165
- package/src/commands/skill.js +670 -670
- package/src/commands/smoke.js +426 -426
- package/src/commands/spec-checkpoint.js +177 -177
- package/src/commands/spec-status.js +79 -79
- package/src/commands/spec-sync.js +190 -190
- package/src/commands/spec-tasks.js +288 -288
- package/src/commands/squad-agent-create.js +830 -830
- package/src/commands/squad-autorun.js +1220 -1220
- package/src/commands/squad-bus.js +217 -217
- package/src/commands/squad-card.js +149 -149
- package/src/commands/squad-daemon.js +343 -343
- package/src/commands/squad-dashboard.js +39 -39
- package/src/commands/squad-dependency-graph.js +164 -164
- package/src/commands/squad-deploy.js +64 -64
- package/src/commands/squad-doctor.js +460 -460
- package/src/commands/squad-export.js +77 -46
- package/src/commands/squad-investigate.js +314 -314
- package/src/commands/squad-learning.js +209 -209
- package/src/commands/squad-mcp.js +270 -270
- package/src/commands/squad-pipeline.js +343 -343
- package/src/commands/squad-plan.js +361 -361
- package/src/commands/squad-processes.js +56 -56
- package/src/commands/squad-recovery.js +42 -42
- package/src/commands/squad-repair-genomes.js +39 -39
- package/src/commands/squad-review.js +106 -106
- package/src/commands/squad-roi.js +291 -291
- package/src/commands/squad-scaffold.js +56 -56
- package/src/commands/squad-score.js +311 -307
- package/src/commands/squad-status.js +481 -481
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -438
- package/src/commands/squad-webhook.js +160 -160
- package/src/commands/squad-worker.js +191 -191
- package/src/commands/squad-worktrees.js +75 -75
- package/src/commands/state-save.js +220 -122
- package/src/commands/store-genome.js +667 -304
- package/src/commands/store-skill.js +247 -247
- package/src/commands/store-squad.js +431 -431
- package/src/commands/store-system.js +392 -392
- package/src/commands/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -63
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +68 -64
- package/src/commands/verify-gate.js +612 -612
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -730
- package/src/commands/workflow-harden.js +231 -231
- package/src/commands/workflow-heal.js +136 -136
- package/src/commands/workflow-next.js +1279 -1039
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -440
- package/src/commands/workspace.js +144 -144
- package/src/constants.js +417 -384
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -966
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -197
- package/src/context.js +247 -247
- package/src/delivery-runner.js +319 -319
- package/src/design-variation-catalog.js +503 -503
- package/src/detector.js +261 -261
- package/src/doctor.js +812 -329
- package/src/dossier/codemap-store.js +267 -267
- package/src/dossier/dossier-bootstrap.js +222 -222
- package/src/dossier/dossier-compact.js +159 -159
- package/src/dossier/lock.js +128 -128
- package/src/dossier/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -313
- package/src/dossier/schema.js +162 -155
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -400
- package/src/execution-gateway.js +464 -464
- package/src/friction-scanner.js +202 -202
- package/src/gateway-pointer-merge.js +101 -0
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -238
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -500
- package/src/handoff-contract.js +417 -363
- package/src/handoff-validator.js +45 -45
- package/src/harness/circuit-breaker.js +135 -135
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1548 -1434
- package/src/i18n/messages/es.js +1332 -1221
- package/src/i18n/messages/fr.js +1340 -1229
- package/src/i18n/messages/pt-BR.js +1568 -1457
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -127
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +487 -358
- package/src/jargon-leak-doctor.js +257 -0
- package/src/learning-loop-archive.js +595 -0
- package/src/learning-loop-doctor.js +217 -0
- package/src/learning-loop-engine.js +254 -0
- package/src/learning-loop-fts5.js +132 -0
- package/src/learning-loop-migration.js +163 -0
- package/src/lib/dev-resume.js +140 -0
- package/src/lib/dossier-telemetry.js +36 -0
- package/src/lib/genomes/compat.js +206 -206
- package/src/lib/genomes/migrate.js +90 -90
- package/src/lib/git-commit-guard.js +751 -691
- package/src/lib/health-check.js +158 -158
- package/src/lib/hook-protocol.js +76 -76
- package/src/lib/llm-content-sanitizer.js +44 -0
- package/src/lib/security/artifact-reader.js +167 -167
- package/src/lib/security/exit-codes.js +51 -51
- package/src/lib/security/findings-writer.js +176 -176
- package/src/lib/security/runtime-events.js +77 -77
- package/src/lib/security/secrets-regex.js +115 -115
- package/src/lib/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -173
- package/src/lib/terminal-checkbox.js +135 -130
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -163
- package/src/lib/tool-capabilities.js +102 -102
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -88
- package/src/mcp/apps/squad-dashboard/app.js +163 -163
- package/src/mcp/apps/squad-dashboard/index.html +261 -261
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
- package/src/mcp/resources/squad-state.js +130 -130
- package/src/mcp-connectors/registry.js +602 -602
- package/src/memory-reflect-engine.js +359 -0
- package/src/migrations/profile-rename.js +66 -0
- package/src/notify-renderer.js +32 -0
- package/src/onboarding.js +307 -305
- package/src/parallel-workspace.js +756 -756
- package/src/parser.js +74 -66
- package/src/path-guard.js +47 -47
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -654
- package/src/prompt-tool.js +20 -20
- package/src/qa-html-report.js +472 -472
- package/src/recovery-context-session.js +154 -154
- package/src/runner/cascade.js +97 -97
- package/src/runner/cli-launcher.js +109 -109
- package/src/runner/plan-importer.js +63 -63
- package/src/runner/queue-store.js +159 -159
- package/src/runtime-store.js +2720 -2676
- package/src/sandbox.js +194 -177
- package/src/self-healing.js +142 -142
- package/src/session-handoff.js +295 -187
- package/src/squad/agent-teams-adapter.js +270 -264
- package/src/squad/brief-validator.js +350 -350
- package/src/squad/bus-bridge.js +140 -140
- package/src/squad/context-compactor.js +265 -265
- package/src/squad/cross-ai-synthesizer.js +250 -250
- package/src/squad/external-session.js +180 -180
- package/src/squad/hooks-generator.js +196 -196
- package/src/squad/inter-squad-events.js +175 -175
- package/src/squad/inter-squad.js +74 -74
- package/src/squad/intra-bus.js +345 -345
- package/src/squad/learning-extractor.js +213 -213
- package/src/squad/pattern-detector.js +365 -365
- package/src/squad/preflight-context.js +296 -296
- package/src/squad/recovery-context.js +372 -372
- package/src/squad/reflection.js +365 -365
- package/src/squad/squad-scaffold.js +341 -341
- package/src/squad/state-manager.js +310 -310
- package/src/squad/task-decomposer.js +652 -652
- package/src/squad/verify-gate.js +303 -303
- package/src/squad/worktree-manager.js +114 -114
- package/src/squad-daemon.js +490 -490
- package/src/squad-dashboard/api.js +223 -223
- package/src/squad-dashboard/attachment-handler.js +93 -93
- package/src/squad-dashboard/context-monitor.js +157 -157
- package/src/squad-dashboard/execution-logs.js +115 -115
- package/src/squad-dashboard/hunk-review.js +209 -209
- package/src/squad-dashboard/metrics.js +133 -133
- package/src/squad-dashboard/process-monitor.js +125 -125
- package/src/squad-dashboard/renderer.js +858 -858
- package/src/squad-dashboard/server.js +232 -232
- package/src/squad-dashboard/styles.js +525 -525
- package/src/squad-dashboard/token-tracker.js +99 -99
- package/src/squads/apply-genome.js +21 -21
- package/src/squads/genome-binding-service.js +154 -154
- package/src/sub-task-engine.js +415 -0
- package/src/sub-task-schemas.js +150 -0
- package/src/sub-task-state.js +152 -0
- package/src/sub-task-telemetry.js +69 -0
- package/src/test-briefing.js +226 -226
- package/src/tool-executor.js +94 -94
- package/src/updater.js +52 -39
- package/src/utils.js +49 -49
- package/src/version.js +50 -50
- package/src/web.js +284 -284
- package/src/worker-runner.js +541 -524
- package/src/workflow-gates.js +185 -185
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +345 -318
- package/template/.aioson/agents/architect.md +325 -305
- package/template/.aioson/agents/{cypher.md → briefing.md} +264 -252
- package/template/.aioson/agents/committer.md +161 -161
- package/template/.aioson/agents/copywriter.md +937 -463
- package/template/.aioson/agents/design-hybrid-forge.md +141 -141
- package/template/.aioson/agents/dev.md +298 -263
- package/template/.aioson/agents/deyvin.md +200 -87
- package/template/.aioson/agents/discover.md +235 -235
- package/template/.aioson/agents/discovery-design-doc.md +56 -29
- package/template/.aioson/agents/genome.md +1904 -364
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -26
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -23
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -23
- package/template/.aioson/agents/manifests/dev.manifest.json +54 -37
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -30
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -39
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -26
- package/template/.aioson/agents/manifests/product.manifest.json +23 -23
- package/template/.aioson/agents/manifests/qa.manifest.json +41 -25
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -20
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -24
- package/template/.aioson/agents/neo.md +356 -231
- package/template/.aioson/agents/orache.md +430 -430
- package/template/.aioson/agents/orchestrator.md +274 -263
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -235
- package/template/.aioson/agents/pm.md +141 -130
- package/template/.aioson/agents/product.md +367 -273
- package/template/.aioson/agents/profiler-enricher.md +331 -331
- package/template/.aioson/agents/profiler-forge.md +212 -212
- package/template/.aioson/agents/profiler-researcher.md +282 -282
- package/template/.aioson/agents/qa.md +432 -342
- package/template/.aioson/agents/setup.md +425 -423
- package/template/.aioson/agents/sheldon.md +259 -197
- package/template/.aioson/agents/site-forge.md +281 -281
- package/template/.aioson/agents/squad.md +160 -156
- package/template/.aioson/agents/tester.md +536 -473
- package/template/.aioson/agents/ux-ui.md +195 -162
- package/template/.aioson/agents/validator.md +101 -69
- package/template/.aioson/brains/README.md +132 -128
- package/template/.aioson/brains/_archived/.gitkeep +0 -0
- package/template/.aioson/brains/_index.json +34 -16
- package/template/.aioson/brains/dev/patterns.brain.json +79 -0
- package/template/.aioson/brains/scripts/query.js +107 -107
- package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
- package/template/.aioson/config/autonomy-protocol.json +125 -43
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -410
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -136
- package/template/.aioson/context/project-map.md +57 -57
- package/template/.aioson/context/project-pulse.md +34 -34
- package/template/.aioson/context/seeds/seed-example.md +27 -27
- package/template/.aioson/context/spec.md.template +54 -54
- package/template/.aioson/context/user-profile.md +42 -42
- package/template/.aioson/design-docs/code-reuse.md +48 -48
- package/template/.aioson/design-docs/componentization.md +47 -47
- package/template/.aioson/design-docs/file-size.md +52 -52
- package/template/.aioson/design-docs/folder-structure.md +51 -51
- package/template/.aioson/design-docs/naming.md +54 -54
- package/template/.aioson/docs/LAYERS.md +89 -89
- package/template/.aioson/docs/README.md +76 -76
- package/template/.aioson/docs/autonomy-protocol.md +80 -0
- package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
- package/template/.aioson/docs/dev/execution-discipline.md +106 -106
- package/template/.aioson/docs/dev/stack-conventions.md +83 -83
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -57
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -30
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -44
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +42 -36
- package/template/.aioson/docs/example-external-api-context.md +72 -72
- package/template/.aioson/docs/handoff-persistence.md +94 -0
- package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
- package/template/.aioson/docs/pentester/llm-supplychain.md +165 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -116
- package/template/.aioson/docs/product/prd-contract.md +107 -107
- package/template/.aioson/docs/product/quality-lens.md +57 -57
- package/template/.aioson/docs/product/research-loop.md +65 -65
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -134
- package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -57
- package/template/.aioson/docs/sheldon/research-loop.md +56 -56
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -75
- package/template/.aioson/docs/site-forge-build.md +195 -195
- package/template/.aioson/docs/site-forge-extraction.md +135 -135
- package/template/.aioson/docs/site-forge-qa.md +155 -155
- package/template/.aioson/docs/site-forge-recon.md +434 -434
- package/template/.aioson/docs/site-forge-transform.md +249 -249
- package/template/.aioson/docs/squad/content-output.md +91 -91
- package/template/.aioson/docs/squad/creation-flow.md +149 -135
- package/template/.aioson/docs/squad/domain-breadth.md +322 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -117
- package/template/.aioson/docs/squad/genome-bindings.md +47 -47
- package/template/.aioson/docs/squad/package-contract.md +260 -234
- package/template/.aioson/docs/squad/quality-lens.md +60 -56
- package/template/.aioson/docs/squad/research-loop.md +59 -59
- package/template/.aioson/docs/squad/session-operations.md +117 -117
- package/template/.aioson/docs/squad/workflow-quality.md +165 -165
- package/template/.aioson/docs/tester/coverage-quality.md +351 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -55
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -86
- package/template/.aioson/docs/ux-ui/component-map.md +35 -35
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -111
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -27
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -39
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -156
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -57
- package/template/.aioson/genomes/INDEX.md +195 -0
- package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
- package/template/.aioson/genomes/copywriting/manifest.json +140 -0
- package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
- package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
- package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
- package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
- package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
- package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
- package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
- package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
- package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
- package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
- package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
- package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
- package/template/.aioson/git-guard.json +12 -11
- package/template/.aioson/mcp/servers.md +23 -23
- package/template/.aioson/profiler-reports/.gitkeep +1 -1
- package/template/.aioson/rules/README.md +69 -69
- package/template/.aioson/rules/_archived/.gitkeep +0 -0
- package/template/.aioson/rules/agent-language-policy.md +93 -93
- package/template/.aioson/rules/aioson-context-boundary.md +63 -63
- package/template/.aioson/rules/canonical-path-contract.md +47 -47
- package/template/.aioson/rules/data-format-convention.md +74 -74
- package/template/.aioson/rules/disk-first-artifacts.md +44 -44
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- package/template/.aioson/rules/output-brevity.md +44 -44
- package/template/.aioson/rules/prd-section-ownership.md +49 -49
- package/template/.aioson/rules/security-baseline.md +139 -139
- package/template/.aioson/rules/spec-level-ownership.md +61 -61
- package/template/.aioson/rules/squad/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -81
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
- package/template/.aioson/schemas/genome-meta.schema.json +150 -150
- package/template/.aioson/schemas/genome.schema.json +115 -115
- package/template/.aioson/schemas/readiness.schema.json +27 -27
- package/template/.aioson/schemas/squad-blueprint.schema.json +228 -228
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -874
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
- package/template/.aioson/skills/design-system/SKILL.md +92 -92
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
- package/template/.aioson/skills/dynamic/README.md +30 -30
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
- package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
- package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
- package/template/.aioson/skills/marketing/references/patterns.md +218 -218
- package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
- package/template/.aioson/skills/process/decision-presentation/SKILL.md +119 -0
- package/template/.aioson/skills/process/decision-presentation/references/jargon-map.en.yaml +108 -0
- package/template/.aioson/skills/process/decision-presentation/references/jargon-map.pt-BR.yaml +108 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -97
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
- package/template/.aioson/skills/squad/SKILL.md +58 -58
- package/template/.aioson/skills/squad/formats/catalog.json +15 -15
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
- package/template/.aioson/skills/static/context-budget-guide.md +46 -46
- package/template/.aioson/skills/static/debugging-protocol.md +42 -42
- package/template/.aioson/skills/static/django-patterns.md +342 -342
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
- package/template/.aioson/skills/static/filament-patterns.md +267 -267
- package/template/.aioson/skills/static/flux-ui-components.md +262 -262
- package/template/.aioson/skills/static/git-conventions.md +227 -227
- package/template/.aioson/skills/static/git-worktrees.md +36 -36
- package/template/.aioson/skills/static/harness-sensors.md +74 -74
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -46
- package/template/.aioson/skills/static/jetstream-setup.md +200 -200
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
- package/template/.aioson/skills/static/landing-page-forge.md +730 -730
- package/template/.aioson/skills/static/laravel-conventions.md +491 -491
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
- package/template/.aioson/skills/static/node-express-patterns.md +317 -317
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
- package/template/.aioson/skills/static/rails-conventions.md +307 -307
- package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
- package/template/.aioson/skills/static/static-html-patterns.md +80 -80
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
- package/template/.aioson/skills/static/threejs-patterns.md +929 -929
- package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
- package/template/.aioson/skills/static/web-research-cache.md +115 -115
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
- package/template/.aioson/squads/memory.md +5 -5
- package/template/.aioson/tasks/implementation-plan.md +327 -327
- package/template/.aioson/tasks/squad-analyze.md +83 -83
- package/template/.aioson/tasks/squad-create.md +148 -148
- package/template/.aioson/tasks/squad-design.md +206 -206
- package/template/.aioson/tasks/squad-execution-plan.md +279 -279
- package/template/.aioson/tasks/squad-export.md +20 -20
- package/template/.aioson/tasks/squad-extend.md +68 -68
- package/template/.aioson/tasks/squad-investigate.md +57 -57
- package/template/.aioson/tasks/squad-learning-review.md +44 -44
- package/template/.aioson/tasks/squad-output-config.md +177 -177
- package/template/.aioson/tasks/squad-pipeline.md +122 -122
- package/template/.aioson/tasks/squad-profile.md +48 -48
- package/template/.aioson/tasks/squad-refresh.md +236 -0
- package/template/.aioson/tasks/squad-repair.md +85 -85
- package/template/.aioson/tasks/squad-review.md +61 -61
- package/template/.aioson/tasks/squad-task-decompose.md +66 -66
- package/template/.aioson/tasks/squad-validate.md +58 -58
- package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
- package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
- package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -21
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
- package/template/.aioson/templates/squads/media-channel/template.json +24 -24
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
- package/template/.claude/commands/aioson/agent/analyst.md +5 -5
- package/template/.claude/commands/aioson/agent/architect.md +5 -5
- package/template/.claude/commands/aioson/agent/briefing.md +5 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -5
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -5
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/dev.md +5 -5
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
- package/template/.claude/commands/aioson/agent/discover.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
- package/template/.claude/commands/aioson/agent/genome.md +5 -5
- package/template/.claude/commands/aioson/agent/neo.md +5 -5
- package/template/.claude/commands/aioson/agent/orache.md +5 -5
- package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
- package/template/.claude/commands/aioson/agent/pair.md +5 -5
- package/template/.claude/commands/aioson/agent/pentester.md +5 -0
- package/template/.claude/commands/aioson/agent/pm.md +5 -5
- package/template/.claude/commands/aioson/agent/product.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
- package/template/.claude/commands/aioson/agent/qa.md +5 -5
- package/template/.claude/commands/aioson/agent/setup.md +5 -5
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/squad.md +5 -5
- package/template/.claude/commands/aioson/agent/tester.md +5 -5
- package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
- package/template/.claude/commands/aioson/agent/validator.md +5 -5
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -7
- package/template/.gemini/commands/aios-architect.toml +8 -8
- package/template/.gemini/commands/aios-committer.toml +7 -7
- package/template/.gemini/commands/aios-copywriter.toml +7 -7
- package/template/.gemini/commands/aios-cypher.toml +7 -7
- package/template/.gemini/commands/aios-dev.toml +9 -9
- package/template/.gemini/commands/aios-deyvin.toml +7 -7
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -7
- package/template/.gemini/commands/aios-genome.toml +7 -7
- package/template/.gemini/commands/aios-neo.toml +6 -6
- package/template/.gemini/commands/aios-orache.toml +7 -7
- package/template/.gemini/commands/aios-orchestrator.toml +9 -9
- package/template/.gemini/commands/aios-pair.toml +7 -7
- package/template/.gemini/commands/aios-pm.toml +9 -9
- package/template/.gemini/commands/aios-product.toml +6 -6
- package/template/.gemini/commands/aios-qa.toml +7 -7
- package/template/.gemini/commands/aios-setup.toml +6 -6
- package/template/.gemini/commands/aios-sheldon.toml +7 -7
- package/template/.gemini/commands/aios-site-forge.toml +7 -7
- package/template/.gemini/commands/aios-squad.toml +7 -7
- package/template/.gemini/commands/aios-tester.toml +7 -7
- package/template/.gemini/commands/aios-ux-ui.toml +9 -9
- package/template/.gemini/commands/aios-validator.toml +7 -7
- package/template/AGENTS.md +184 -183
- package/template/CLAUDE.md +98 -97
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/template/.aioson/genomes/copywriting.md +0 -204
- package/template/.aioson/genomes/copywriting.meta.json +0 -48
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +0 -81
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +0 -91
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +0 -33
- package/template/.claude/commands/aioson/agent/cypher.md +0 -5
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Tester deep guide — mutation testing, property-based patterns, test smells catalog, contract testing, adjacent quality layers. Load when entering Phase 4 on critical modules or when a coverage gap requires graduated assertion quality."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Tester — Coverage Quality Beyond Line %
|
|
6
|
+
|
|
7
|
+
Line coverage tells you which lines ran. It tells you nothing about whether the test caught the bug. This module is the playbook for graduating from "lines covered" to "bugs prevented".
|
|
8
|
+
|
|
9
|
+
Load this when:
|
|
10
|
+
- Critical modules (auth, money, ownership, irreversible actions) reach line coverage ≥ 80% and need stronger evidence.
|
|
11
|
+
- Existing tests pass but the user reports bugs in production (signal: weak assertions, missing failure-mode tests).
|
|
12
|
+
- A failing mutation, property, or pact test surfaces in CI and you need to interpret it.
|
|
13
|
+
|
|
14
|
+
## 1. The four-tier coverage quality ladder
|
|
15
|
+
|
|
16
|
+
| Tier | Metric | Target overall | Target critical paths |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| 1 — Line | line coverage | ≥ 80% | ≥ 90% |
|
|
19
|
+
| 2 — Branch | branch / decision coverage | ≥ 60% | ≥ 80% |
|
|
20
|
+
| 3 — Mutation | mutation score | not required overall | ≥ 80% on critical modules |
|
|
21
|
+
| 4 — Property | invariants on serializers, calculators, state machines | n/a | one property test per critical invariant |
|
|
22
|
+
|
|
23
|
+
**Critical paths** (always treated as critical):
|
|
24
|
+
- Authentication, authorization, ownership boundaries
|
|
25
|
+
- Money / value transfer, balance accounting
|
|
26
|
+
- Irreversible actions (delete, send, publish)
|
|
27
|
+
- Public APIs that other systems consume
|
|
28
|
+
- State machines with consistency invariants (queues, ledgers, inventory)
|
|
29
|
+
|
|
30
|
+
## 2. Mutation testing — the actual quality signal
|
|
31
|
+
|
|
32
|
+
### 2.1 Tooling by stack
|
|
33
|
+
|
|
34
|
+
| Stack | Tool | Install |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| JavaScript / TypeScript | `@stryker-mutator/core` | `npm i -D @stryker-mutator/core` |
|
|
37
|
+
| .NET | Stryker.NET | `dotnet tool install -g dotnet-stryker` |
|
|
38
|
+
| PHP (Laravel/Symfony) | Infection | `composer require --dev infection/infection` |
|
|
39
|
+
| Python | mutmut | `pip install mutmut` |
|
|
40
|
+
| Java | PIT | Maven/Gradle plugin |
|
|
41
|
+
| Ruby | mutant | `gem install mutant` |
|
|
42
|
+
| Solidity | (no true mutation tool — `forge fuzz` is closest analog) | — |
|
|
43
|
+
|
|
44
|
+
### 2.2 Threshold configuration
|
|
45
|
+
|
|
46
|
+
Working defaults (project-wide):
|
|
47
|
+
```yaml
|
|
48
|
+
# Stryker (JS/TS) — stryker.conf.json
|
|
49
|
+
{
|
|
50
|
+
"thresholds": { "high": 80, "low": 70, "break": 70 },
|
|
51
|
+
"mutate": ["src/**/*.ts", "!src/**/*.test.ts", "!src/**/*.spec.ts"]
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
For legacy code being driven up: `high: 80, low: 60, break: 50`. The `break` value fails the build.
|
|
56
|
+
|
|
57
|
+
### 2.3 What to do with the score
|
|
58
|
+
|
|
59
|
+
- **80–100%**: ship. Track over time as quality leading indicator.
|
|
60
|
+
- **60–80%**: identify survived mutants by category — boundary conditions and conditional logic produce the most valuable feedback.
|
|
61
|
+
- **< 60%**: tests are coincidentally passing; rewrite assertions or add property-based tests.
|
|
62
|
+
|
|
63
|
+
### 2.4 When to run
|
|
64
|
+
|
|
65
|
+
- **Full codebase**: nightly CI job. 10×–100× normal test runtime; never run on every push.
|
|
66
|
+
- **Incremental** (changed files only): every PR via `--since` flag (Stryker) or equivalent. Adds ~30 s–2 min depending on diff size.
|
|
67
|
+
- **First-time adoption**: pick one critical module, run mutation, fix survived mutants, ratchet. Don't try to mutate the whole repo on day one.
|
|
68
|
+
|
|
69
|
+
### 2.5 Survived mutant — example workflow
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
SURVIVED src/auth/jwt.ts:42:10 Boolean replacement (true → false)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The mutator changed `if (token.expired === true)` to `if (token.expired === false)` and your tests still passed → the test never exercises the `expired` branch. Action: add a test that boots an expired token and asserts rejection.
|
|
76
|
+
|
|
77
|
+
## 3. Property-based testing — the five canonical patterns
|
|
78
|
+
|
|
79
|
+
Property-based tests describe a property that must hold for *all* inputs, then the framework generates inputs that try to break it. One good property test replaces dozens of brittle example tests.
|
|
80
|
+
|
|
81
|
+
### 3.1 Round-trip (most common, easiest first win)
|
|
82
|
+
|
|
83
|
+
`decode(encode(x)) == x`. Any serialization, encoding, compression, encryption.
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
// fast-check
|
|
87
|
+
import fc from 'fast-check';
|
|
88
|
+
import { encode, decode } from './codec';
|
|
89
|
+
|
|
90
|
+
test('codec round-trip', () => {
|
|
91
|
+
fc.assert(fc.property(fc.anything(), (x) => {
|
|
92
|
+
expect(decode(encode(x))).toEqual(x);
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
# Hypothesis
|
|
99
|
+
from hypothesis import given, strategies as st
|
|
100
|
+
from codec import encode, decode
|
|
101
|
+
|
|
102
|
+
@given(st.dictionaries(st.text(), st.integers()))
|
|
103
|
+
def test_codec_round_trip(payload):
|
|
104
|
+
assert decode(encode(payload)) == payload
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 3.2 Invariants (always-true properties)
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
test('sort preserves multiset and orders ascending', () => {
|
|
111
|
+
fc.assert(fc.property(fc.array(fc.integer()), (xs) => {
|
|
112
|
+
const sorted = sort(xs);
|
|
113
|
+
expect(sorted.length).toBe(xs.length);
|
|
114
|
+
expect([...sorted].sort((a,b)=>a-b)).toEqual(sorted);
|
|
115
|
+
}));
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
@given(st.lists(st.integers()))
|
|
121
|
+
def test_balance_never_negative(transactions):
|
|
122
|
+
account = Account(starting_balance=100)
|
|
123
|
+
for t in transactions:
|
|
124
|
+
account.apply(t)
|
|
125
|
+
assert account.balance >= 0 # invariant
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 3.3 Stateful (sequence-based)
|
|
129
|
+
|
|
130
|
+
Generate sequences of operations; replay must reach a consistent state regardless of order. Critical for ledgers, inventory, queues.
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
# Hypothesis stateful
|
|
134
|
+
from hypothesis.stateful import RuleBasedStateMachine, rule, invariant
|
|
135
|
+
|
|
136
|
+
class LedgerMachine(RuleBasedStateMachine):
|
|
137
|
+
def __init__(self):
|
|
138
|
+
super().__init__()
|
|
139
|
+
self.ledger = Ledger()
|
|
140
|
+
|
|
141
|
+
@rule(amount=st.integers(min_value=1, max_value=1000))
|
|
142
|
+
def deposit(self, amount):
|
|
143
|
+
self.ledger.deposit(amount)
|
|
144
|
+
|
|
145
|
+
@rule(amount=st.integers(min_value=1, max_value=1000))
|
|
146
|
+
def withdraw(self, amount):
|
|
147
|
+
try: self.ledger.withdraw(amount)
|
|
148
|
+
except InsufficientFunds: pass
|
|
149
|
+
|
|
150
|
+
@invariant()
|
|
151
|
+
def balance_matches_history(self):
|
|
152
|
+
assert self.ledger.balance == sum(self.ledger.history)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### 3.4 Differential (compare two implementations)
|
|
156
|
+
|
|
157
|
+
When migrating from a legacy implementation to a new one, or comparing optimized vs reference. Same input → same output.
|
|
158
|
+
|
|
159
|
+
```ts
|
|
160
|
+
test('new sort matches legacy sort on all inputs', () => {
|
|
161
|
+
fc.assert(fc.property(fc.array(fc.integer()), (xs) => {
|
|
162
|
+
expect(newSort(xs)).toEqual(legacySort(xs));
|
|
163
|
+
}));
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 3.5 Metamorphic (relations between inputs/outputs)
|
|
168
|
+
|
|
169
|
+
When there's no single correct answer, only relative correctness.
|
|
170
|
+
|
|
171
|
+
```ts
|
|
172
|
+
test('reverse(reverse(x)) == x', () => {
|
|
173
|
+
fc.assert(fc.property(fc.string(), (s) => {
|
|
174
|
+
expect(reverse(reverse(s))).toBe(s);
|
|
175
|
+
}));
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
test('sum(reverse(xs)) == sum(xs)', () => {
|
|
179
|
+
fc.assert(fc.property(fc.array(fc.integer()), (xs) => {
|
|
180
|
+
expect(sum(reverse(xs))).toBe(sum(xs));
|
|
181
|
+
}));
|
|
182
|
+
});
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 3.6 Solidity / Foundry fuzz
|
|
186
|
+
|
|
187
|
+
```solidity
|
|
188
|
+
function testFuzz_transferNeverExceedsBalance(uint256 amount) public {
|
|
189
|
+
amount = bound(amount, 0, token.balanceOf(alice));
|
|
190
|
+
uint256 before = token.balanceOf(bob);
|
|
191
|
+
vm.prank(alice);
|
|
192
|
+
token.transfer(bob, amount);
|
|
193
|
+
assertEq(token.balanceOf(bob), before + amount);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function invariant_TotalSupplyEqualsSumOfBalances() public {
|
|
197
|
+
assertEq(token.totalSupply(), token.balanceOf(alice) + token.balanceOf(bob));
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 3.7 When to use property-based vs example tests
|
|
202
|
+
|
|
203
|
+
- **Property-based**: for invariants, codecs, calculators, state machines, parsers. The gain is finding edge cases you didn't think of.
|
|
204
|
+
- **Example tests**: for known-bug regressions, specific business rules with named inputs, UI flows. The gain is readable documentation.
|
|
205
|
+
- Use both. They are complements, not substitutes.
|
|
206
|
+
|
|
207
|
+
## 4. Test smell self-audit — Phase 4.5 checklist
|
|
208
|
+
|
|
209
|
+
Run this checklist after writing tests, before declaring Phase 4 done. Each smell links to a specific refactor.
|
|
210
|
+
|
|
211
|
+
### 4.1 Eager Test
|
|
212
|
+
**Symptom**: one test contains 10+ assertions on unrelated behaviors.
|
|
213
|
+
**Detection**: count `expect`/`assert` statements per test; > 5 unrelated → eager.
|
|
214
|
+
**Fix**: split into one test per behavior. Name each by what it asserts.
|
|
215
|
+
|
|
216
|
+
### 4.2 Mystery Guest
|
|
217
|
+
**Symptom**: test reads from a file, env var, current time, or external service without explicit setup.
|
|
218
|
+
**Detection**: grep for `fs.readFile`, `process.env`, `new Date()`, `Date.now()`, `fetch(` inside test bodies.
|
|
219
|
+
**Fix**: inject the dependency. Use `vi.useFakeTimers()` / `freezegun` for time.
|
|
220
|
+
|
|
221
|
+
### 4.3 Test Run War
|
|
222
|
+
**Symptom**: tests pass alone, fail when run together. Or: parallel runs are flaky.
|
|
223
|
+
**Detection**: run with `--shuffle` (Pest) / `vitest --no-isolate` / `pytest -p no:randomly`. Or simply re-run 10×.
|
|
224
|
+
**Fix**: per-test fresh database, in-memory state, or transactional rollback.
|
|
225
|
+
|
|
226
|
+
### 4.4 Conditional Test Logic
|
|
227
|
+
**Symptom**: `if`/`else` or loops inside the test body.
|
|
228
|
+
**Detection**: AST scan or eyeball.
|
|
229
|
+
**Fix**: parameterize (`it.each` / `pytest.mark.parametrize`) or split.
|
|
230
|
+
|
|
231
|
+
### 4.5 Redundant Assertion
|
|
232
|
+
**Symptom**: `assert.equal(x, x)`, `expect(true).toBe(true)`, multiple assertions verifying the same property.
|
|
233
|
+
**Detection**: identical LHS/RHS, or repeated equivalent assertions on the same value.
|
|
234
|
+
**Fix**: delete.
|
|
235
|
+
|
|
236
|
+
### 4.6 Mock Overdose
|
|
237
|
+
**Symptom**: more than ~50% of test setup is mocks; the test verifies the mock, not the system.
|
|
238
|
+
**Detection**: count mock invocations vs system invocations in setup.
|
|
239
|
+
**Fix**: write an integration test instead. If integration is too slow/complex, the abstraction is wrong — escalate to `@architect`.
|
|
240
|
+
|
|
241
|
+
### 4.7 Tools
|
|
242
|
+
|
|
243
|
+
- **JS/TS**: `eslint-plugin-vitest`, `eslint-plugin-jest` rules cover most static smells.
|
|
244
|
+
- **Java**: TASTE, JNose Test, tsdetect.
|
|
245
|
+
- **Python**: `pylint` custom rules for `pytest` smells.
|
|
246
|
+
- **Generic fallback**: write the checklist above as a code review template.
|
|
247
|
+
|
|
248
|
+
### 4.8 Auto-generated tests are higher-smell
|
|
249
|
+
|
|
250
|
+
Tests generated by EvoSuite, Pynguin, or LLMs are 2–3× denser in smells than human-written tests. Treat anything generated as a *draft*: check every test for Mystery Guest and Mock Overdose before keeping.
|
|
251
|
+
|
|
252
|
+
## 5. Consumer-Driven Contract Testing (Pact)
|
|
253
|
+
|
|
254
|
+
### 5.1 When it applies
|
|
255
|
+
|
|
256
|
+
Two or more services with explicit boundaries: microservices, mobile↔backend, frontend↔BFF, public APIs. Skip if the codebase is a single deployable.
|
|
257
|
+
|
|
258
|
+
### 5.2 The discipline
|
|
259
|
+
|
|
260
|
+
1. **Consumer writes** the contract from real client code (not mocks of the contract).
|
|
261
|
+
2. **Pact library generates** the pact file from the consumer test run.
|
|
262
|
+
3. **Provider verifies** against the latest pact file fetched from the broker (Pactflow, self-hosted).
|
|
263
|
+
4. **CI pipeline**: provider verification blocks deploy on red; consumer publishes pact on every commit.
|
|
264
|
+
|
|
265
|
+
### 5.3 Best practices
|
|
266
|
+
|
|
267
|
+
- **Loose contracts**: match only fields the consumer reads. Tightening leaks implementation details and creates false breakage.
|
|
268
|
+
- **Real consumer code**: contract tests must exercise the actual HTTP client / SDK, not a mock of it.
|
|
269
|
+
- **Separate from E2E**: pact answers "do the contracts match?", E2E answers "does the user flow work?". Different failure modes; don't mix them.
|
|
270
|
+
- **Anti-pattern**: writing pact tests against mock providers — validates the mock, not the integration.
|
|
271
|
+
|
|
272
|
+
### 5.4 Minimal example (Node + pact-js)
|
|
273
|
+
|
|
274
|
+
```ts
|
|
275
|
+
const { PactV3, MatchersV3 } = require('@pact-foundation/pact');
|
|
276
|
+
|
|
277
|
+
const provider = new PactV3({ consumer: 'frontend', provider: 'orders-api' });
|
|
278
|
+
|
|
279
|
+
test('GET /orders/:id returns order', async () => {
|
|
280
|
+
provider
|
|
281
|
+
.given('order 42 exists')
|
|
282
|
+
.uponReceiving('a request for order 42')
|
|
283
|
+
.withRequest({ method: 'GET', path: '/orders/42' })
|
|
284
|
+
.willRespondWith({
|
|
285
|
+
status: 200,
|
|
286
|
+
body: MatchersV3.like({ id: 42, total: 100, status: 'paid' })
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
await provider.executeTest(async (mockServer) => {
|
|
290
|
+
const order = await fetchOrder(mockServer.url, 42); // real consumer code
|
|
291
|
+
expect(order.id).toBe(42);
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## 6. Adjacent quality layers — opt-in by trigger
|
|
297
|
+
|
|
298
|
+
Don't auto-load. Add only when the trigger fires.
|
|
299
|
+
|
|
300
|
+
| Layer | Trigger | Tooling |
|
|
301
|
+
|---|---|---|
|
|
302
|
+
| Snapshot | Stable UI/DOM/JSON output | `vitest --update`, `jest --ci`, `__snapshots__/` |
|
|
303
|
+
| Visual regression | Design-system-stable UI | Percy, Chromatic, Playwright `toHaveScreenshot()` |
|
|
304
|
+
| Accessibility | User-facing UI | `axe-core`, `jest-axe`, `playwright/axe` |
|
|
305
|
+
| Load / performance | Public API or perf-sensitive flow | `k6`, `locust`, `artillery` |
|
|
306
|
+
| Dependency vuln scan | Every project | `npm audit`, `pip-audit`, `OSV-Scanner`, `Snyk`, `Trivy` |
|
|
307
|
+
|
|
308
|
+
**Rules:**
|
|
309
|
+
- Snapshot — sanitize timestamps and IDs before snapshotting; never snapshot dynamic data.
|
|
310
|
+
- Visual — high cost (storage, antialiasing flake); only when design system is stable.
|
|
311
|
+
- A11y — one automated pass catches ~30% of WCAG issues; doesn't replace human/assistive-tech testing.
|
|
312
|
+
- Load — separate suite, never blocks unit/integration; report against agreed SLOs.
|
|
313
|
+
- Depscan — treat as test signal in CI, fail PRs on `high`/`critical` CVEs unless explicitly accepted.
|
|
314
|
+
|
|
315
|
+
## 7. Reporting template
|
|
316
|
+
|
|
317
|
+
When invoked on a feature, produce this structure in `test-plan.md`:
|
|
318
|
+
|
|
319
|
+
```markdown
|
|
320
|
+
## Coverage Quality Report — {feature/module} — {date}
|
|
321
|
+
|
|
322
|
+
### Tier 1 — Line coverage
|
|
323
|
+
- Module: src/auth/ → 87% (target ≥ 90% critical) ⚠
|
|
324
|
+
- Module: src/orders/ → 82% (target ≥ 80% overall) ✓
|
|
325
|
+
|
|
326
|
+
### Tier 2 — Branch coverage
|
|
327
|
+
- src/auth/jwt.ts: 64% — gap: error-path branches uncovered
|
|
328
|
+
- src/orders/cart.ts: 71% ✓
|
|
329
|
+
|
|
330
|
+
### Tier 3 — Mutation score (critical modules only)
|
|
331
|
+
- src/auth/jwt.ts: 73% (target ≥ 80%) ⚠ — survivors:
|
|
332
|
+
- jwt.ts:42:10 boolean replacement (expired check)
|
|
333
|
+
- jwt.ts:58:14 conditional boundary (>= → >)
|
|
334
|
+
|
|
335
|
+
### Tier 4 — Property-based
|
|
336
|
+
- ✓ codec round-trip (auth/token.ts)
|
|
337
|
+
- ✗ ledger-balance-invariant — not implemented yet
|
|
338
|
+
|
|
339
|
+
### Test smells found
|
|
340
|
+
- Mystery Guest in tests/auth.test.ts:88 (reads JWT_SECRET from env)
|
|
341
|
+
- Mock Overdose in tests/orders.test.ts (8 mocks for 1 system call)
|
|
342
|
+
|
|
343
|
+
### Recommendations
|
|
344
|
+
- Cover the two survived mutants in jwt.ts before merge.
|
|
345
|
+
- Add ledger-balance invariant property test.
|
|
346
|
+
- Refactor 2 smells before next sprint.
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
## 8. References
|
|
350
|
+
|
|
351
|
+
This document distills `researchs/tester-coverage-quality-2026/summary.md`. See that file for the full source list and verdict.
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "UI/UX accessibility audit mode — WCAG-focused scan, remediation format, and QA handoff guidance for UI accessibility issues."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# UX/UI Accessibility Audit
|
|
6
|
-
|
|
7
|
-
Activate via `@ux-ui a11y`.
|
|
8
|
-
|
|
9
|
-
## Step 1 — Scan
|
|
10
|
-
|
|
11
|
-
Read UI code and check:
|
|
12
|
-
|
|
13
|
-
| Category | Checks |
|
|
14
|
-
|---|---|
|
|
15
|
-
| Perceivable | Contrast, alt text, captions |
|
|
16
|
-
| Operable | Keyboard reachability, focus rings, no keyboard traps, skip links |
|
|
17
|
-
| Understandable | `lang` attribute, label association, clear errors |
|
|
18
|
-
| Robust | Semantic HTML first, ARIA only when needed, no div-as-button |
|
|
19
|
-
| Motion | `prefers-reduced-motion`, no uncontrolled long autoplay animation |
|
|
20
|
-
|
|
21
|
-
## Step 2 — Produce findings
|
|
22
|
-
|
|
23
|
-
Use this structure:
|
|
24
|
-
|
|
25
|
-
```markdown
|
|
26
|
-
## Accessibility Report — [Project Name]
|
|
27
|
-
|
|
28
|
-
### Summary
|
|
29
|
-
- WCAG 2.1 AA compliance: [estimated %]
|
|
30
|
-
- Critical issues: [count]
|
|
31
|
-
- Total issues: [count]
|
|
32
|
-
|
|
33
|
-
### 🔴 Critical
|
|
34
|
-
- [Issue]: [specific element] → [concrete fix]
|
|
35
|
-
|
|
36
|
-
### 🟡 Important
|
|
37
|
-
- [Issue]: [specific element] → [concrete fix]
|
|
38
|
-
|
|
39
|
-
### 🟢 Enhancement
|
|
40
|
-
- [Suggestion]: [specific element] → [improvement]
|
|
41
|
-
|
|
42
|
-
### ✅ Already compliant
|
|
43
|
-
- [Specific accessibility decision that is correct]
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Step 3 — QA integration
|
|
47
|
-
|
|
48
|
-
If `@qa` is the next workflow agent, add an `## Accessibility` section with:
|
|
49
|
-
- automated checks to add to the test suite
|
|
50
|
-
- manual checks that still require human verification
|
|
51
|
-
|
|
52
|
-
## Output
|
|
53
|
-
|
|
54
|
-
- write to `.aioson/context/ui-a11y.md`
|
|
55
|
-
- do not modify code during this audit
|
|
1
|
+
---
|
|
2
|
+
description: "UI/UX accessibility audit mode — WCAG-focused scan, remediation format, and QA handoff guidance for UI accessibility issues."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UX/UI Accessibility Audit
|
|
6
|
+
|
|
7
|
+
Activate via `@ux-ui a11y`.
|
|
8
|
+
|
|
9
|
+
## Step 1 — Scan
|
|
10
|
+
|
|
11
|
+
Read UI code and check:
|
|
12
|
+
|
|
13
|
+
| Category | Checks |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Perceivable | Contrast, alt text, captions |
|
|
16
|
+
| Operable | Keyboard reachability, focus rings, no keyboard traps, skip links |
|
|
17
|
+
| Understandable | `lang` attribute, label association, clear errors |
|
|
18
|
+
| Robust | Semantic HTML first, ARIA only when needed, no div-as-button |
|
|
19
|
+
| Motion | `prefers-reduced-motion`, no uncontrolled long autoplay animation |
|
|
20
|
+
|
|
21
|
+
## Step 2 — Produce findings
|
|
22
|
+
|
|
23
|
+
Use this structure:
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Accessibility Report — [Project Name]
|
|
27
|
+
|
|
28
|
+
### Summary
|
|
29
|
+
- WCAG 2.1 AA compliance: [estimated %]
|
|
30
|
+
- Critical issues: [count]
|
|
31
|
+
- Total issues: [count]
|
|
32
|
+
|
|
33
|
+
### 🔴 Critical
|
|
34
|
+
- [Issue]: [specific element] → [concrete fix]
|
|
35
|
+
|
|
36
|
+
### 🟡 Important
|
|
37
|
+
- [Issue]: [specific element] → [concrete fix]
|
|
38
|
+
|
|
39
|
+
### 🟢 Enhancement
|
|
40
|
+
- [Suggestion]: [specific element] → [improvement]
|
|
41
|
+
|
|
42
|
+
### ✅ Already compliant
|
|
43
|
+
- [Specific accessibility decision that is correct]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Step 3 — QA integration
|
|
47
|
+
|
|
48
|
+
If `@qa` is the next workflow agent, add an `## Accessibility` section with:
|
|
49
|
+
- automated checks to add to the test suite
|
|
50
|
+
- manual checks that still require human verification
|
|
51
|
+
|
|
52
|
+
## Output
|
|
53
|
+
|
|
54
|
+
- write to `.aioson/context/ui-a11y.md`
|
|
55
|
+
- do not modify code during this audit
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "UI/UX audit mode — inventory scan, design quality checks, severity-based reporting, and fix recommendation format for existing UI."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# UX/UI Audit Mode
|
|
6
|
-
|
|
7
|
-
Activate when the user chooses **Audit** or invokes `@ux-ui audit`.
|
|
8
|
-
|
|
9
|
-
## Step 1 — Read existing artifacts
|
|
10
|
-
|
|
11
|
-
Read all that exist:
|
|
12
|
-
- `index.html` or the main template file
|
|
13
|
-
- `ui-spec.md`
|
|
14
|
-
- up to 5 component files from `src/`, `components/`, `app/`, or `pages/`, prioritizing layout-level files
|
|
15
|
-
|
|
16
|
-
## Step 2 — Inventory scan
|
|
17
|
-
|
|
18
|
-
Capture:
|
|
19
|
-
|
|
20
|
-
| Inventory | What to capture |
|
|
21
|
-
|---|---|
|
|
22
|
-
| Colors | Every unique color value. Flag hardcoded values not in CSS custom properties. |
|
|
23
|
-
| Spacing | Unique margin and padding values. Flag values not aligned to a scale. |
|
|
24
|
-
| Radius | Unique border-radius values. Flag inconsistencies. |
|
|
25
|
-
| Typography | Font families, sizes, and weights used. Flag values not in a type scale. |
|
|
26
|
-
| Components | Visually repeated patterns. Flag near-duplicates that should be consolidated. |
|
|
27
|
-
|
|
28
|
-
## Step 3 — Run quality checks
|
|
29
|
-
|
|
30
|
-
Apply each check and record findings:
|
|
31
|
-
|
|
32
|
-
| Check | What to look for |
|
|
33
|
-
|---|---|
|
|
34
|
-
| Swap test | Could this UI belong to any other product? |
|
|
35
|
-
| Squint test | Is hierarchy clear or does everything compete? |
|
|
36
|
-
| Signature test | Can you name 5 product-specific design decisions? |
|
|
37
|
-
| State completeness | Hover, focus, active, disabled states defined? |
|
|
38
|
-
| Depth consistency | Borders-only and shadows mixed on the same surface type? |
|
|
39
|
-
| Token discipline | Hardcoded values vs CSS custom properties |
|
|
40
|
-
| Accessibility | Contrast, focus, semantic HTML |
|
|
41
|
-
| Mobile-first | Breakpoints and graceful degradation below 768px |
|
|
42
|
-
| Motion safety | `prefers-reduced-motion` respected |
|
|
43
|
-
| Visual continuity | Shared surfaces consistent across screens |
|
|
44
|
-
|
|
45
|
-
## Step 4 — Produce the audit report
|
|
46
|
-
|
|
47
|
-
Use this structure:
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
## UI Audit — [Project Name]
|
|
51
|
-
|
|
52
|
-
### Inventory
|
|
53
|
-
- Colors: X unique values (Y hardcoded)
|
|
54
|
-
- Spacing: X unique values
|
|
55
|
-
- Radius: X unique values
|
|
56
|
-
- Components: X patterns (Y near-duplicates)
|
|
57
|
-
|
|
58
|
-
### 🔴 Critical
|
|
59
|
-
- [Issue]: [specific location] → [concrete fix]
|
|
60
|
-
|
|
61
|
-
### 🟡 Important
|
|
62
|
-
- [Issue]: [specific location] → [concrete fix]
|
|
63
|
-
|
|
64
|
-
### 🟢 Polish
|
|
65
|
-
- [Issue]: [specific location] → [suggestion]
|
|
66
|
-
|
|
67
|
-
### ✅ What's working
|
|
68
|
-
- [Specific intentional decision]
|
|
69
|
-
|
|
70
|
-
### Consolidation plan
|
|
71
|
-
- [Pattern A and Pattern B] → [single component]
|
|
72
|
-
- [Hardcoded values] → [semantic tokens]
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Rules:
|
|
76
|
-
- every finding must reference a specific element or line
|
|
77
|
-
- every critical or important finding must include a concrete fix
|
|
78
|
-
- always include at least one "What's working" entry
|
|
79
|
-
- include a consolidation plan when near-duplicates or hardcoded values are found
|
|
80
|
-
- end with: `Want me to apply the critical fixes now, or go through them one by one?`
|
|
81
|
-
|
|
82
|
-
## Output
|
|
83
|
-
|
|
84
|
-
- write the report to `.aioson/context/ui-audit.md`
|
|
85
|
-
- do not modify `index.html`, component files, or `ui-spec.md` during audit
|
|
86
|
-
- switch to targeted edits only after the user confirms which fixes to apply
|
|
1
|
+
---
|
|
2
|
+
description: "UI/UX audit mode — inventory scan, design quality checks, severity-based reporting, and fix recommendation format for existing UI."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UX/UI Audit Mode
|
|
6
|
+
|
|
7
|
+
Activate when the user chooses **Audit** or invokes `@ux-ui audit`.
|
|
8
|
+
|
|
9
|
+
## Step 1 — Read existing artifacts
|
|
10
|
+
|
|
11
|
+
Read all that exist:
|
|
12
|
+
- `index.html` or the main template file
|
|
13
|
+
- `ui-spec.md`
|
|
14
|
+
- up to 5 component files from `src/`, `components/`, `app/`, or `pages/`, prioritizing layout-level files
|
|
15
|
+
|
|
16
|
+
## Step 2 — Inventory scan
|
|
17
|
+
|
|
18
|
+
Capture:
|
|
19
|
+
|
|
20
|
+
| Inventory | What to capture |
|
|
21
|
+
|---|---|
|
|
22
|
+
| Colors | Every unique color value. Flag hardcoded values not in CSS custom properties. |
|
|
23
|
+
| Spacing | Unique margin and padding values. Flag values not aligned to a scale. |
|
|
24
|
+
| Radius | Unique border-radius values. Flag inconsistencies. |
|
|
25
|
+
| Typography | Font families, sizes, and weights used. Flag values not in a type scale. |
|
|
26
|
+
| Components | Visually repeated patterns. Flag near-duplicates that should be consolidated. |
|
|
27
|
+
|
|
28
|
+
## Step 3 — Run quality checks
|
|
29
|
+
|
|
30
|
+
Apply each check and record findings:
|
|
31
|
+
|
|
32
|
+
| Check | What to look for |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Swap test | Could this UI belong to any other product? |
|
|
35
|
+
| Squint test | Is hierarchy clear or does everything compete? |
|
|
36
|
+
| Signature test | Can you name 5 product-specific design decisions? |
|
|
37
|
+
| State completeness | Hover, focus, active, disabled states defined? |
|
|
38
|
+
| Depth consistency | Borders-only and shadows mixed on the same surface type? |
|
|
39
|
+
| Token discipline | Hardcoded values vs CSS custom properties |
|
|
40
|
+
| Accessibility | Contrast, focus, semantic HTML |
|
|
41
|
+
| Mobile-first | Breakpoints and graceful degradation below 768px |
|
|
42
|
+
| Motion safety | `prefers-reduced-motion` respected |
|
|
43
|
+
| Visual continuity | Shared surfaces consistent across screens |
|
|
44
|
+
|
|
45
|
+
## Step 4 — Produce the audit report
|
|
46
|
+
|
|
47
|
+
Use this structure:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## UI Audit — [Project Name]
|
|
51
|
+
|
|
52
|
+
### Inventory
|
|
53
|
+
- Colors: X unique values (Y hardcoded)
|
|
54
|
+
- Spacing: X unique values
|
|
55
|
+
- Radius: X unique values
|
|
56
|
+
- Components: X patterns (Y near-duplicates)
|
|
57
|
+
|
|
58
|
+
### 🔴 Critical
|
|
59
|
+
- [Issue]: [specific location] → [concrete fix]
|
|
60
|
+
|
|
61
|
+
### 🟡 Important
|
|
62
|
+
- [Issue]: [specific location] → [concrete fix]
|
|
63
|
+
|
|
64
|
+
### 🟢 Polish
|
|
65
|
+
- [Issue]: [specific location] → [suggestion]
|
|
66
|
+
|
|
67
|
+
### ✅ What's working
|
|
68
|
+
- [Specific intentional decision]
|
|
69
|
+
|
|
70
|
+
### Consolidation plan
|
|
71
|
+
- [Pattern A and Pattern B] → [single component]
|
|
72
|
+
- [Hardcoded values] → [semantic tokens]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Rules:
|
|
76
|
+
- every finding must reference a specific element or line
|
|
77
|
+
- every critical or important finding must include a concrete fix
|
|
78
|
+
- always include at least one "What's working" entry
|
|
79
|
+
- include a consolidation plan when near-duplicates or hardcoded values are found
|
|
80
|
+
- end with: `Want me to apply the critical fixes now, or go through them one by one?`
|
|
81
|
+
|
|
82
|
+
## Output
|
|
83
|
+
|
|
84
|
+
- write the report to `.aioson/context/ui-audit.md`
|
|
85
|
+
- do not modify `index.html`, component files, or `ui-spec.md` during audit
|
|
86
|
+
- switch to targeted edits only after the user confirms which fixes to apply
|