@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
|
@@ -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.
|
|
@@ -0,0 +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
|
|
@@ -0,0 +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
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "UI/UX component map mode — component inventory, atomic classification, variants, states, and gap analysis between spec and implementation."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UX/UI Component Map
|
|
6
|
+
|
|
7
|
+
Activate via `@ux-ui component-map`.
|
|
8
|
+
|
|
9
|
+
## Step 1 — Scan
|
|
10
|
+
|
|
11
|
+
- if code exists, scan `src/`, `components/`, `app/`, and `pages/` for visual patterns
|
|
12
|
+
- if `ui-spec.md` exists, extract the component list from the spec
|
|
13
|
+
- if `design_skill` is set, load the skill's component catalog
|
|
14
|
+
|
|
15
|
+
## Step 2 — Classify
|
|
16
|
+
|
|
17
|
+
For each component found, record:
|
|
18
|
+
|
|
19
|
+
| Component | Category | Variants | States | Used in |
|
|
20
|
+
|---|---|---|---|---|
|
|
21
|
+
| `Button` | atom | primary, secondary, ghost | default, hover, focus, active, disabled, loading | Header, Hero CTA, Forms |
|
|
22
|
+
|
|
23
|
+
Categories follow Atomic Design: atom → molecule → organism → template.
|
|
24
|
+
|
|
25
|
+
## Step 3 — Gap analysis
|
|
26
|
+
|
|
27
|
+
Identify:
|
|
28
|
+
- components that exist in the spec but not in code
|
|
29
|
+
- components that exist in code but not in the spec
|
|
30
|
+
- near-duplicate components that should be consolidated
|
|
31
|
+
- missing states or variants
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
- write to `.aioson/context/ui-component-map.md`
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "UI/UX design execution — entry check, refine-vs-rebuild routing, design intent, domain exploration, direction selection, and delivery quality rules."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UX/UI Design Execution
|
|
6
|
+
|
|
7
|
+
Use this module for the default creation flow and for `refine-spec`.
|
|
8
|
+
|
|
9
|
+
## Entry check
|
|
10
|
+
|
|
11
|
+
Run before Step 1:
|
|
12
|
+
|
|
13
|
+
1. Does `.aioson/context/ui-spec.md` exist?
|
|
14
|
+
2. Does `index.html` exist in the project root? Relevant when `project_type=site`.
|
|
15
|
+
3. Do component or layout files exist in `src/`, `components/`, `app/`, or `pages/`?
|
|
16
|
+
|
|
17
|
+
If none exist, proceed directly to the creation flow.
|
|
18
|
+
|
|
19
|
+
If any exist, ask:
|
|
20
|
+
|
|
21
|
+
> "I can see this project already has UI. What would you like to do?
|
|
22
|
+
> → **Audit** — I'll review the existing UI, identify issues, and propose specific improvements.
|
|
23
|
+
> → **Refine spec** — I'll update `ui-spec.md` without touching the existing implementation.
|
|
24
|
+
> → **Rebuild** — I'll create a fresh visual direction from scratch (existing files will be replaced)."
|
|
25
|
+
|
|
26
|
+
Routing:
|
|
27
|
+
- **Audit** → switch to `audit-mode.md`
|
|
28
|
+
- **Refine spec** → read `ui-spec.md`, identify gaps or drift, update in place
|
|
29
|
+
- **Rebuild** → warn that `index.html` and `ui-spec.md` will be overwritten, then confirm before continuing
|
|
30
|
+
|
|
31
|
+
## Step 1 — Intent
|
|
32
|
+
|
|
33
|
+
Answer these three questions before any layout or token work:
|
|
34
|
+
|
|
35
|
+
1. Who exactly is visiting this?
|
|
36
|
+
2. What must they do or feel?
|
|
37
|
+
3. What should this feel like?
|
|
38
|
+
|
|
39
|
+
If you cannot answer all three with specifics, ask. Do not guess.
|
|
40
|
+
|
|
41
|
+
## Step 2 — Domain exploration
|
|
42
|
+
|
|
43
|
+
Produce all four before proposing visuals:
|
|
44
|
+
|
|
45
|
+
1. **Domain concepts** — 5+ metaphors or patterns from this product's world
|
|
46
|
+
2. **Color world** — 5+ colors that exist naturally in this domain
|
|
47
|
+
3. **Signature element** — one visual thing that could only belong to this product
|
|
48
|
+
4. **Defaults to avoid** — 3 generic choices to replace with intentional ones
|
|
49
|
+
|
|
50
|
+
Identity test: remove the product name. Can someone still identify what this is for?
|
|
51
|
+
|
|
52
|
+
## Step 3 — Design direction
|
|
53
|
+
|
|
54
|
+
Choose one direction. Never mix incompatible directions.
|
|
55
|
+
|
|
56
|
+
### For apps, dashboards, SaaS
|
|
57
|
+
- **Precision & Density** — dashboards, admin, dev tools. Borders-only, compact, cool slate.
|
|
58
|
+
- **Warmth & Approachability** — consumer apps, onboarding. Shadows, generous spacing, warm tones.
|
|
59
|
+
- **Sophistication & Trust** — fintech, enterprise. Cold palette, restrained layers, firm typography.
|
|
60
|
+
- **Premium Dark Platform** — premium dark product UI, controlled contrast, restrained layers, catalog cards, and clean navigation.
|
|
61
|
+
- **Minimal & Calm** — near-monochrome, whitespace as design element, hairline borders.
|
|
62
|
+
|
|
63
|
+
### For landing pages and sites
|
|
64
|
+
- **Clean & Luminous** — light surfaces, one strong accent, large confident headings, subtle fade-up animation.
|
|
65
|
+
- **Bold & Cinematic** — dark hero, full-bleed photography, gradient overlays, scroll reveals.
|
|
66
|
+
|
|
67
|
+
## Visual continuity
|
|
68
|
+
|
|
69
|
+
When the work spans more than one screen:
|
|
70
|
+
- shared surfaces must stay visually identical across screens
|
|
71
|
+
- token values must be consistent for the same purpose
|
|
72
|
+
- component variants must be reused, not reinvented
|
|
73
|
+
- depth strategy must stay consistent across screens
|
|
74
|
+
- when adding a new screen, explicitly note which existing components and tokens are being reused
|
|
75
|
+
|
|
76
|
+
## Non-site fallback
|
|
77
|
+
|
|
78
|
+
If `project_type≠site` and the user explicitly proceeds without a registered `design_skill`, use the fallback directions in this module and output:
|
|
79
|
+
- `ui-spec.md` with token block
|
|
80
|
+
- token ownership
|
|
81
|
+
- screen map
|
|
82
|
+
- component state matrix
|
|
83
|
+
- responsive rules
|
|
84
|
+
- handoff notes
|
|
85
|
+
|
|
86
|
+
## Working rules
|
|
87
|
+
- Stack first: use the project's existing design system before proposing custom UI.
|
|
88
|
+
- Ask about style only when the ambiguity would materially change the result.
|
|
89
|
+
- Define complete design tokens: spacing, typography, semantic colors, radius, and depth strategy.
|
|
90
|
+
- Declare token ownership explicitly.
|
|
91
|
+
- Commit to one depth strategy per surface type.
|
|
92
|
+
- Accessibility first: keyboard flow, visible focus rings, semantic HTML, and 4.5:1 contrast minimum.
|
|
93
|
+
- State completeness: default, hover, focus, active, disabled, loading, empty, error, success.
|
|
94
|
+
- Mobile-first: small screens defined before desktop enhancements.
|
|
95
|
+
- `prefers-reduced-motion` fallback required for any motion.
|
|
96
|
+
- Scope proportional to classification: MICRO → root HTML only, SMALL → spec + HTML, MEDIUM → full spec.
|
|
97
|
+
|
|
98
|
+
## Quality checks
|
|
99
|
+
- **Swap test** — would changing the typeface make this look like a different product?
|
|
100
|
+
- **Squint test** — does hierarchy survive when blurred?
|
|
101
|
+
- **Signature test** — can you name 5 design decisions unique to this product?
|
|
102
|
+
- **Wow test** — for landing pages only, would someone screenshot this and share it? If not, revise.
|
|
103
|
+
|
|
104
|
+
## Self-critique
|
|
105
|
+
|
|
106
|
+
Before delivering, check:
|
|
107
|
+
|
|
108
|
+
1. **Composition** — rhythm, intentional proportions, one clear focal point per screen
|
|
109
|
+
2. **Craft** — spacing on-grid, typography uses weight + tracking + size, surfaces whisper hierarchy
|
|
110
|
+
3. **Content** — real copy, real image URLs, coherent story from hero to final CTA
|
|
111
|
+
4. **Structure** — no placeholder text, no arbitrary pixel values, no hacks
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "UI/UX design gate — context repair, design skill selection, isolation rules, and style ambiguity handling before visual direction is chosen."
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# UX/UI Design Gate
|
|
6
|
+
|
|
7
|
+
Load this module before any operation that creates or revises visual direction.
|
|
8
|
+
|
|
9
|
+
## Step 0 — Design skill gate
|
|
10
|
+
|
|
11
|
+
Read `.aioson/context/project.context.md` before deciding direction, theme, or density.
|
|
12
|
+
|
|
13
|
+
Rules:
|
|
14
|
+
- if `project.context.md` contains stale or inconsistent metadata that affects visual work, repair the objectively inferable fields before continuing
|
|
15
|
+
- if `design_skill` is already set, load `.aioson/skills/design/{design_skill}/SKILL.md` before making visual decisions
|
|
16
|
+
- when `design_skill` is set, treat that package as the single source of truth for visual language, typography, component rhythm, and page composition
|
|
17
|
+
- if `project_type=site` or `project_type=web_app` and `design_skill` is blank, ask the user which installed design skill to use before producing new visual direction
|
|
18
|
+
- if only one packaged design skill is installed, still ask for confirmation instead of auto-selecting it
|
|
19
|
+
- if the user chooses to proceed without one, state clearly: `Proceeding without a registered design skill.`
|
|
20
|
+
- never silently invent, swap, auto-pick, or mix design skills
|
|
21
|
+
- never use context inconsistency as a reason to leave the workflow
|
|
22
|
+
- when `design_skill` is set, do not load, reference, or apply visual rules from another design package
|
|
23
|
+
|
|
24
|
+
Once the gate is resolved:
|
|
25
|
+
- if the user gave an explicit theme or style preference, obey it
|
|
26
|
+
- otherwise infer the direction from product context and the selected design skill
|
|
27
|
+
- ask at most one short style question only when the ambiguity is material
|