@jaimevalasek/aioson 1.8.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +595 -595
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -919
- package/bin/aioson.js +4 -4
- package/docs/design-previews/aurora-command-ui-website.html +884 -884
- package/docs/design-previews/aurora-command-ui.html +682 -682
- package/docs/design-previews/bold-editorial-ui-website.html +658 -658
- package/docs/design-previews/bold-editorial-ui.html +717 -717
- package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
- package/docs/design-previews/clean-saas-ui.html +549 -549
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
- package/docs/design-previews/cognitive-core-ui.html +463 -463
- package/docs/design-previews/glassmorphism-ui-website.html +572 -572
- package/docs/design-previews/glassmorphism-ui.html +886 -886
- package/docs/design-previews/index.html +699 -699
- package/docs/design-previews/interface-design-website.html +1187 -1187
- package/docs/design-previews/interface-design.html +513 -513
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
- package/docs/design-previews/neo-brutalist-ui.html +797 -797
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
- package/docs/design-previews/premium-command-center-ui.html +552 -552
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
- package/docs/design-previews/warm-craft-ui-website.html +684 -684
- package/docs/design-previews/warm-craft-ui.html +739 -739
- package/docs/en/1-understand/ecosystem-map.md +228 -0
- package/docs/en/1-understand/glossary.md +288 -0
- package/docs/en/1-understand/what-is-aioson.md +94 -0
- package/docs/en/1-understand/why-it-exists.md +106 -0
- package/docs/en/2-start/existing-project.md +246 -0
- package/docs/en/2-start/first-project.md +307 -0
- package/docs/en/2-start/initial-decisions.md +223 -0
- package/docs/en/3-recipes/README.md +28 -0
- package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
- package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
- package/docs/en/4-agents/README.md +56 -0
- package/docs/en/5-reference/README.md +60 -0
- package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -464
- package/docs/en/{i18n.md → 5-reference/i18n.md} +52 -52
- package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
- package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
- package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
- package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
- package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
- package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
- package/docs/en/{release.md → 5-reference/release.md} +28 -28
- package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
- package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
- package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
- package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
- package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
- package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -126
- package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
- package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
- package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
- package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -66
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/parallel-guard.schema.json +63 -63
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/{schemas → 5-reference/schemas}/parallel-merge.schema.json +84 -84
- package/docs/en/{schemas → 5-reference/schemas}/parallel-status.schema.json +184 -184
- package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
- package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
- package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
- package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
- package/docs/en/README.md +115 -0
- package/docs/en/active-learning-loop/README.md +117 -0
- package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
- package/docs/en/active-learning-loop/cli-commands.md +320 -0
- package/docs/en/active-learning-loop/diagrams.md +225 -0
- package/docs/en/active-learning-loop/doctor-checks.md +151 -0
- package/docs/en/active-learning-loop/how-to-use.md +313 -0
- package/docs/en/active-learning-loop/troubleshooting.md +283 -0
- package/docs/en/deyvin-subtask-scout/README.md +109 -0
- package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
- package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
- package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
- package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
- package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/integrations/apps-publish-marketplace.md +94 -94
- package/docs/integrations/sdlc-genius-boundary.md +76 -76
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
- package/docs/integrations/sdlc-genius-review-samples.md +86 -86
- package/docs/openclaw-bridge.md +308 -308
- package/docs/pt/1-entender/glossario.md +288 -0
- package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
- package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
- package/docs/pt/1-entender/por-que-existe.md +107 -0
- package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
- package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
- package/docs/pt/2-comecar/projeto-existente.md +245 -0
- package/docs/pt/3-receitas/README.md +28 -0
- package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
- package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
- package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
- package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
- package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
- package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
- package/docs/pt/3-receitas/landing-page.md +281 -0
- package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
- package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
- package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
- package/docs/pt/4-agentes/README.md +65 -0
- package/docs/pt/4-agentes/analyst.md +111 -0
- package/docs/pt/4-agentes/architect.md +113 -0
- package/docs/pt/4-agentes/briefing.md +95 -0
- package/docs/pt/4-agentes/committer.md +108 -0
- package/docs/pt/4-agentes/copywriter.md +279 -0
- package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
- package/docs/pt/4-agentes/dev.md +136 -0
- package/docs/pt/4-agentes/deyvin.md +99 -0
- package/docs/pt/4-agentes/discover.md +122 -0
- package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
- package/docs/pt/4-agentes/genome.md +115 -0
- package/docs/pt/4-agentes/neo.md +93 -0
- package/docs/pt/4-agentes/orache.md +107 -0
- package/docs/pt/4-agentes/orchestrator.md +118 -0
- package/docs/pt/4-agentes/pentester.md +131 -0
- package/docs/pt/4-agentes/pm.md +97 -0
- package/docs/pt/4-agentes/product.md +114 -0
- package/docs/pt/4-agentes/profiler-enricher.md +93 -0
- package/docs/pt/4-agentes/profiler-forge.md +93 -0
- package/docs/pt/4-agentes/profiler-researcher.md +98 -0
- package/docs/pt/4-agentes/qa.md +124 -0
- package/docs/pt/4-agentes/setup.md +104 -0
- package/docs/pt/4-agentes/sheldon.md +95 -0
- package/docs/pt/4-agentes/site-forge.md +104 -0
- package/docs/pt/4-agentes/squad.md +127 -0
- package/docs/pt/4-agentes/tester.md +105 -0
- package/docs/pt/4-agentes/ux-ui.md +110 -0
- package/docs/pt/4-agentes/validator.md +118 -0
- package/docs/pt/5-referencia/README.md +88 -0
- package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
- package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
- package/docs/pt/5-referencia/aioson-com-store.md +119 -0
- package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
- package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -290
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1781
- package/docs/pt/{compress-agents.md → 5-referencia/compress-agents.md} +304 -304
- package/docs/pt/{design-docs-governance.md → 5-referencia/design-docs-governance.md} +59 -59
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/{feature-archive.md → 5-referencia/feature-archive.md} +199 -191
- package/docs/pt/5-referencia/feature-dossier.md +121 -0
- package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
- package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -407
- package/docs/pt/{genome-distribution.md → 5-referencia/genome-distribution.md} +232 -232
- package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
- package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
- package/docs/pt/5-referencia/live-sessions.md +144 -0
- package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
- package/docs/pt/{motor-hardening.md → 5-referencia/motor-hardening.md} +493 -492
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/{runner-system.md → 5-referencia/runner-system.md} +113 -113
- package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
- package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
- package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
- package/docs/pt/5-referencia/sdd-framework.md +115 -0
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
- package/docs/pt/5-referencia/secure-by-default.md +117 -0
- package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
- package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
- package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
- package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
- package/docs/pt/README.md +111 -125
- package/docs/pt/_arquivo/README.md +130 -0
- package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
- package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
- package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
- package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
- package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
- package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
- package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
- package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
- package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -251
- package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
- package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
- package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
- package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
- package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
- package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
- package/docs/pt/active-learning-loop/README.md +117 -0
- package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
- package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
- package/docs/pt/active-learning-loop/como-usar.md +313 -0
- package/docs/pt/active-learning-loop/diagramas.md +225 -0
- package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
- package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
- package/docs/pt/agentes.md +996 -993
- package/docs/pt/deyvin-subtask-scout/README.md +109 -0
- package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
- package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
- package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
- package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
- package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/pt/living-memory/README.md +81 -0
- package/docs/pt/living-memory/autonomy-contract.md +206 -0
- package/docs/pt/living-memory/diagramas.md +365 -0
- package/docs/pt/living-memory/memoria-viva.md +141 -0
- package/docs/pt/living-memory/notificacoes-info.md +142 -0
- package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
- package/docs/pt/living-memory/troubleshooting.md +286 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -23
- package/docs/testing/genome-2.0-matrix.md +36 -36
- package/docs/testing/genome-2.0-rollout.md +184 -184
- package/package.json +51 -51
- package/src/a2a/client.js +165 -165
- package/src/a2a/server.js +223 -223
- package/src/agent-loader.js +280 -280
- package/src/agent-manifests.js +86 -66
- package/src/agents.js +92 -92
- package/src/autonomy-policy.js +163 -139
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -161
- package/src/cli.js +85 -5
- package/src/commands/agent-audit.js +397 -397
- package/src/commands/agent-export-skill.js +229 -229
- package/src/commands/agent-loader.js +85 -85
- package/src/commands/agents.js +273 -255
- package/src/commands/artifact-validate.js +218 -218
- package/src/commands/auth.js +298 -272
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -44
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -344
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -547
- package/src/commands/compress-agents.js +416 -416
- package/src/commands/config.js +90 -90
- package/src/commands/context-cache.js +90 -90
- package/src/commands/context-compact.js +49 -49
- package/src/commands/context-health.js +187 -177
- package/src/commands/context-load.js +219 -0
- package/src/commands/context-monitor.js +163 -163
- package/src/commands/context-pack.js +45 -45
- package/src/commands/context-search.js +66 -66
- package/src/commands/context-trim.js +183 -183
- package/src/commands/context-validate.js +91 -91
- package/src/commands/design-hybrid-options.js +385 -385
- package/src/commands/detect-test-runner.js +55 -55
- package/src/commands/dev-resume.js +32 -0
- package/src/commands/devlog-export-brains.js +27 -27
- package/src/commands/devlog-process.js +294 -294
- package/src/commands/devlog-watch.js +131 -131
- package/src/commands/doctor.js +123 -123
- package/src/commands/dossier-add-research.js +114 -0
- package/src/commands/dossier-audit.js +222 -0
- package/src/commands/dossier.js +423 -423
- package/src/commands/feature-archive.js +513 -513
- package/src/commands/feature-close.js +554 -270
- package/src/commands/gate-approve.js +198 -198
- package/src/commands/gate-check.js +247 -247
- package/src/commands/genome-doctor.js +489 -198
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -170
- package/src/commands/harness.js +307 -121
- package/src/commands/health.js +214 -214
- package/src/commands/hooks-emit.js +253 -253
- package/src/commands/hooks-install.js +347 -347
- package/src/commands/i18n-add.js +56 -56
- package/src/commands/implementation-plan.js +367 -367
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -120
- package/src/commands/install.js +162 -111
- package/src/commands/learning-auto-promote.js +197 -195
- package/src/commands/learning-evolve.js +364 -364
- package/src/commands/learning-export.js +103 -103
- package/src/commands/learning-rollback.js +164 -164
- package/src/commands/learning.js +134 -134
- package/src/commands/live.js +2101 -2082
- package/src/commands/locale-apply.js +54 -54
- package/src/commands/locale-diff.js +25 -25
- package/src/commands/mcp-doctor.js +407 -407
- package/src/commands/mcp-init.js +373 -373
- package/src/commands/memory-archive.js +193 -0
- package/src/commands/memory-reflect-commit.js +148 -0
- package/src/commands/memory-reflect-prepare.js +97 -0
- package/src/commands/memory-restore.js +177 -0
- package/src/commands/memory-search.js +135 -0
- package/src/commands/memory.js +299 -234
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -483
- package/src/commands/parallel-doctor.js +850 -850
- package/src/commands/parallel-guard.js +241 -241
- package/src/commands/parallel-init.js +311 -311
- package/src/commands/parallel-merge.js +299 -299
- package/src/commands/parallel-status.js +434 -434
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -267
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -166
- package/src/commands/qa-report.js +58 -58
- package/src/commands/qa-run.js +873 -873
- package/src/commands/qa-scan.js +337 -337
- package/src/commands/recovery.js +43 -43
- package/src/commands/revision.js +235 -235
- package/src/commands/runner-daemon.js +274 -274
- package/src/commands/runner-plan.js +70 -70
- package/src/commands/runner-queue-from-plan.js +166 -166
- package/src/commands/runner-queue.js +189 -189
- package/src/commands/runner-run.js +129 -129
- package/src/commands/runtime.js +2086 -2067
- package/src/commands/sandbox.js +37 -37
- package/src/commands/scaffold-complete.js +188 -188
- package/src/commands/scan-project.js +1371 -1371
- package/src/commands/scout-commit.js +163 -0
- package/src/commands/scout-prep.js +214 -0
- package/src/commands/scout-validate.js +112 -0
- package/src/commands/security-audit.js +275 -275
- package/src/commands/security-scan.js +376 -376
- package/src/commands/self-implement-loop.js +306 -300
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -699
- package/src/commands/setup.js +178 -178
- package/src/commands/sizing.js +165 -165
- package/src/commands/skill.js +670 -670
- package/src/commands/smoke.js +426 -426
- package/src/commands/spec-checkpoint.js +177 -177
- package/src/commands/spec-status.js +79 -79
- package/src/commands/spec-sync.js +190 -190
- package/src/commands/spec-tasks.js +288 -288
- package/src/commands/squad-agent-create.js +830 -830
- package/src/commands/squad-autorun.js +1220 -1220
- package/src/commands/squad-bus.js +217 -217
- package/src/commands/squad-card.js +149 -149
- package/src/commands/squad-daemon.js +343 -343
- package/src/commands/squad-dashboard.js +39 -39
- package/src/commands/squad-dependency-graph.js +164 -164
- package/src/commands/squad-deploy.js +64 -64
- package/src/commands/squad-doctor.js +460 -460
- package/src/commands/squad-export.js +77 -46
- package/src/commands/squad-investigate.js +314 -314
- package/src/commands/squad-learning.js +209 -209
- package/src/commands/squad-mcp.js +270 -270
- package/src/commands/squad-pipeline.js +343 -343
- package/src/commands/squad-plan.js +361 -361
- package/src/commands/squad-processes.js +56 -56
- package/src/commands/squad-recovery.js +42 -42
- package/src/commands/squad-repair-genomes.js +39 -39
- package/src/commands/squad-review.js +106 -106
- package/src/commands/squad-roi.js +291 -291
- package/src/commands/squad-scaffold.js +56 -56
- package/src/commands/squad-score.js +311 -307
- package/src/commands/squad-status.js +481 -481
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -438
- package/src/commands/squad-webhook.js +160 -160
- package/src/commands/squad-worker.js +191 -191
- package/src/commands/squad-worktrees.js +75 -75
- package/src/commands/state-save.js +220 -122
- package/src/commands/store-genome.js +667 -304
- package/src/commands/store-skill.js +247 -247
- package/src/commands/store-squad.js +431 -431
- package/src/commands/store-system.js +392 -392
- package/src/commands/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -63
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +68 -64
- package/src/commands/verify-gate.js +612 -612
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -730
- package/src/commands/workflow-harden.js +231 -231
- package/src/commands/workflow-heal.js +136 -136
- package/src/commands/workflow-next.js +1279 -1039
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -440
- package/src/commands/workspace.js +144 -144
- package/src/constants.js +417 -384
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -966
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -197
- package/src/context.js +247 -247
- package/src/delivery-runner.js +319 -319
- package/src/design-variation-catalog.js +503 -503
- package/src/detector.js +261 -261
- package/src/doctor.js +812 -329
- package/src/dossier/codemap-store.js +267 -267
- package/src/dossier/dossier-bootstrap.js +222 -222
- package/src/dossier/dossier-compact.js +159 -159
- package/src/dossier/lock.js +128 -128
- package/src/dossier/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -313
- package/src/dossier/schema.js +162 -155
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -400
- package/src/execution-gateway.js +464 -464
- package/src/friction-scanner.js +202 -202
- package/src/gateway-pointer-merge.js +101 -0
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -238
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -500
- package/src/handoff-contract.js +417 -363
- package/src/handoff-validator.js +45 -45
- package/src/harness/circuit-breaker.js +135 -135
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1548 -1434
- package/src/i18n/messages/es.js +1332 -1221
- package/src/i18n/messages/fr.js +1340 -1229
- package/src/i18n/messages/pt-BR.js +1568 -1457
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -127
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +487 -358
- package/src/jargon-leak-doctor.js +257 -0
- package/src/learning-loop-archive.js +595 -0
- package/src/learning-loop-doctor.js +217 -0
- package/src/learning-loop-engine.js +254 -0
- package/src/learning-loop-fts5.js +132 -0
- package/src/learning-loop-migration.js +163 -0
- package/src/lib/dev-resume.js +140 -0
- package/src/lib/dossier-telemetry.js +36 -0
- package/src/lib/genomes/compat.js +206 -206
- package/src/lib/genomes/migrate.js +90 -90
- package/src/lib/git-commit-guard.js +751 -691
- package/src/lib/health-check.js +158 -158
- package/src/lib/hook-protocol.js +76 -76
- package/src/lib/llm-content-sanitizer.js +44 -0
- package/src/lib/security/artifact-reader.js +167 -167
- package/src/lib/security/exit-codes.js +51 -51
- package/src/lib/security/findings-writer.js +176 -176
- package/src/lib/security/runtime-events.js +77 -77
- package/src/lib/security/secrets-regex.js +115 -115
- package/src/lib/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -173
- package/src/lib/terminal-checkbox.js +135 -130
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -163
- package/src/lib/tool-capabilities.js +102 -102
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -88
- package/src/mcp/apps/squad-dashboard/app.js +163 -163
- package/src/mcp/apps/squad-dashboard/index.html +261 -261
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
- package/src/mcp/resources/squad-state.js +130 -130
- package/src/mcp-connectors/registry.js +602 -602
- package/src/memory-reflect-engine.js +359 -0
- package/src/migrations/profile-rename.js +66 -0
- package/src/notify-renderer.js +32 -0
- package/src/onboarding.js +307 -305
- package/src/parallel-workspace.js +756 -756
- package/src/parser.js +74 -66
- package/src/path-guard.js +47 -47
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -654
- package/src/prompt-tool.js +20 -20
- package/src/qa-html-report.js +472 -472
- package/src/recovery-context-session.js +154 -154
- package/src/runner/cascade.js +97 -97
- package/src/runner/cli-launcher.js +109 -109
- package/src/runner/plan-importer.js +63 -63
- package/src/runner/queue-store.js +159 -159
- package/src/runtime-store.js +2720 -2676
- package/src/sandbox.js +194 -177
- package/src/self-healing.js +142 -142
- package/src/session-handoff.js +295 -187
- package/src/squad/agent-teams-adapter.js +270 -264
- package/src/squad/brief-validator.js +350 -350
- package/src/squad/bus-bridge.js +140 -140
- package/src/squad/context-compactor.js +265 -265
- package/src/squad/cross-ai-synthesizer.js +250 -250
- package/src/squad/external-session.js +180 -180
- package/src/squad/hooks-generator.js +196 -196
- package/src/squad/inter-squad-events.js +175 -175
- package/src/squad/inter-squad.js +74 -74
- package/src/squad/intra-bus.js +345 -345
- package/src/squad/learning-extractor.js +213 -213
- package/src/squad/pattern-detector.js +365 -365
- package/src/squad/preflight-context.js +296 -296
- package/src/squad/recovery-context.js +372 -372
- package/src/squad/reflection.js +365 -365
- package/src/squad/squad-scaffold.js +341 -341
- package/src/squad/state-manager.js +310 -310
- package/src/squad/task-decomposer.js +652 -652
- package/src/squad/verify-gate.js +303 -303
- package/src/squad/worktree-manager.js +114 -114
- package/src/squad-daemon.js +490 -490
- package/src/squad-dashboard/api.js +223 -223
- package/src/squad-dashboard/attachment-handler.js +93 -93
- package/src/squad-dashboard/context-monitor.js +157 -157
- package/src/squad-dashboard/execution-logs.js +115 -115
- package/src/squad-dashboard/hunk-review.js +209 -209
- package/src/squad-dashboard/metrics.js +133 -133
- package/src/squad-dashboard/process-monitor.js +125 -125
- package/src/squad-dashboard/renderer.js +858 -858
- package/src/squad-dashboard/server.js +232 -232
- package/src/squad-dashboard/styles.js +525 -525
- package/src/squad-dashboard/token-tracker.js +99 -99
- package/src/squads/apply-genome.js +21 -21
- package/src/squads/genome-binding-service.js +154 -154
- package/src/sub-task-engine.js +415 -0
- package/src/sub-task-schemas.js +150 -0
- package/src/sub-task-state.js +152 -0
- package/src/sub-task-telemetry.js +69 -0
- package/src/test-briefing.js +226 -226
- package/src/tool-executor.js +94 -94
- package/src/updater.js +52 -39
- package/src/utils.js +49 -49
- package/src/version.js +50 -50
- package/src/web.js +284 -284
- package/src/worker-runner.js +541 -524
- package/src/workflow-gates.js +185 -185
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +345 -318
- package/template/.aioson/agents/architect.md +325 -305
- package/template/.aioson/agents/{cypher.md → briefing.md} +264 -252
- package/template/.aioson/agents/committer.md +161 -161
- package/template/.aioson/agents/copywriter.md +937 -463
- package/template/.aioson/agents/design-hybrid-forge.md +141 -141
- package/template/.aioson/agents/dev.md +298 -263
- package/template/.aioson/agents/deyvin.md +200 -87
- package/template/.aioson/agents/discover.md +235 -235
- package/template/.aioson/agents/discovery-design-doc.md +56 -29
- package/template/.aioson/agents/genome.md +1904 -364
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -26
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -23
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -23
- package/template/.aioson/agents/manifests/dev.manifest.json +54 -37
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -30
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -39
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -26
- package/template/.aioson/agents/manifests/product.manifest.json +23 -23
- package/template/.aioson/agents/manifests/qa.manifest.json +41 -25
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -20
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -24
- package/template/.aioson/agents/neo.md +356 -231
- package/template/.aioson/agents/orache.md +430 -430
- package/template/.aioson/agents/orchestrator.md +274 -263
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -235
- package/template/.aioson/agents/pm.md +141 -130
- package/template/.aioson/agents/product.md +367 -273
- package/template/.aioson/agents/profiler-enricher.md +331 -331
- package/template/.aioson/agents/profiler-forge.md +212 -212
- package/template/.aioson/agents/profiler-researcher.md +282 -282
- package/template/.aioson/agents/qa.md +432 -342
- package/template/.aioson/agents/setup.md +425 -423
- package/template/.aioson/agents/sheldon.md +259 -197
- package/template/.aioson/agents/site-forge.md +281 -281
- package/template/.aioson/agents/squad.md +160 -156
- package/template/.aioson/agents/tester.md +536 -473
- package/template/.aioson/agents/ux-ui.md +195 -162
- package/template/.aioson/agents/validator.md +101 -69
- package/template/.aioson/brains/README.md +132 -128
- package/template/.aioson/brains/_archived/.gitkeep +0 -0
- package/template/.aioson/brains/_index.json +34 -16
- package/template/.aioson/brains/dev/patterns.brain.json +79 -0
- package/template/.aioson/brains/scripts/query.js +107 -107
- package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
- package/template/.aioson/config/autonomy-protocol.json +125 -43
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -410
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -136
- package/template/.aioson/context/project-map.md +57 -57
- package/template/.aioson/context/project-pulse.md +34 -34
- package/template/.aioson/context/seeds/seed-example.md +27 -27
- package/template/.aioson/context/spec.md.template +54 -54
- package/template/.aioson/context/user-profile.md +42 -42
- package/template/.aioson/design-docs/code-reuse.md +48 -48
- package/template/.aioson/design-docs/componentization.md +47 -47
- package/template/.aioson/design-docs/file-size.md +52 -52
- package/template/.aioson/design-docs/folder-structure.md +51 -51
- package/template/.aioson/design-docs/naming.md +54 -54
- package/template/.aioson/docs/LAYERS.md +89 -89
- package/template/.aioson/docs/README.md +76 -76
- package/template/.aioson/docs/autonomy-protocol.md +80 -0
- package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
- package/template/.aioson/docs/dev/execution-discipline.md +106 -106
- package/template/.aioson/docs/dev/stack-conventions.md +83 -83
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -57
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -30
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -44
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +42 -36
- package/template/.aioson/docs/example-external-api-context.md +72 -72
- package/template/.aioson/docs/handoff-persistence.md +94 -0
- package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
- package/template/.aioson/docs/pentester/llm-supplychain.md +165 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -116
- package/template/.aioson/docs/product/prd-contract.md +107 -107
- package/template/.aioson/docs/product/quality-lens.md +57 -57
- package/template/.aioson/docs/product/research-loop.md +65 -65
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -134
- package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -57
- package/template/.aioson/docs/sheldon/research-loop.md +56 -56
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -75
- package/template/.aioson/docs/site-forge-build.md +195 -195
- package/template/.aioson/docs/site-forge-extraction.md +135 -135
- package/template/.aioson/docs/site-forge-qa.md +155 -155
- package/template/.aioson/docs/site-forge-recon.md +434 -434
- package/template/.aioson/docs/site-forge-transform.md +249 -249
- package/template/.aioson/docs/squad/content-output.md +91 -91
- package/template/.aioson/docs/squad/creation-flow.md +149 -135
- package/template/.aioson/docs/squad/domain-breadth.md +322 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -117
- package/template/.aioson/docs/squad/genome-bindings.md +47 -47
- package/template/.aioson/docs/squad/package-contract.md +260 -234
- package/template/.aioson/docs/squad/quality-lens.md +60 -56
- package/template/.aioson/docs/squad/research-loop.md +59 -59
- package/template/.aioson/docs/squad/session-operations.md +117 -117
- package/template/.aioson/docs/squad/workflow-quality.md +165 -165
- package/template/.aioson/docs/tester/coverage-quality.md +351 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -55
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -86
- package/template/.aioson/docs/ux-ui/component-map.md +35 -35
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -111
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -27
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -39
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -156
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -57
- package/template/.aioson/genomes/INDEX.md +195 -0
- package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
- package/template/.aioson/genomes/copywriting/manifest.json +140 -0
- package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
- package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
- package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
- package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
- package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
- package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
- package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
- package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
- package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
- package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
- package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
- package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
- package/template/.aioson/git-guard.json +12 -11
- package/template/.aioson/mcp/servers.md +23 -23
- package/template/.aioson/profiler-reports/.gitkeep +1 -1
- package/template/.aioson/rules/README.md +69 -69
- package/template/.aioson/rules/_archived/.gitkeep +0 -0
- package/template/.aioson/rules/agent-language-policy.md +93 -93
- package/template/.aioson/rules/aioson-context-boundary.md +63 -63
- package/template/.aioson/rules/canonical-path-contract.md +47 -47
- package/template/.aioson/rules/data-format-convention.md +74 -74
- package/template/.aioson/rules/disk-first-artifacts.md +44 -44
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- package/template/.aioson/rules/output-brevity.md +44 -44
- package/template/.aioson/rules/prd-section-ownership.md +49 -49
- package/template/.aioson/rules/security-baseline.md +139 -139
- package/template/.aioson/rules/spec-level-ownership.md +61 -61
- package/template/.aioson/rules/squad/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -81
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
- package/template/.aioson/schemas/genome-meta.schema.json +150 -150
- package/template/.aioson/schemas/genome.schema.json +115 -115
- package/template/.aioson/schemas/readiness.schema.json +27 -27
- package/template/.aioson/schemas/squad-blueprint.schema.json +228 -228
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -874
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
- package/template/.aioson/skills/design-system/SKILL.md +92 -92
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
- package/template/.aioson/skills/dynamic/README.md +30 -30
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
- package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
- package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
- package/template/.aioson/skills/marketing/references/patterns.md +218 -218
- package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
- package/template/.aioson/skills/process/decision-presentation/SKILL.md +119 -0
- package/template/.aioson/skills/process/decision-presentation/references/jargon-map.en.yaml +108 -0
- package/template/.aioson/skills/process/decision-presentation/references/jargon-map.pt-BR.yaml +108 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -97
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
- package/template/.aioson/skills/squad/SKILL.md +58 -58
- package/template/.aioson/skills/squad/formats/catalog.json +15 -15
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
- package/template/.aioson/skills/static/context-budget-guide.md +46 -46
- package/template/.aioson/skills/static/debugging-protocol.md +42 -42
- package/template/.aioson/skills/static/django-patterns.md +342 -342
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
- package/template/.aioson/skills/static/filament-patterns.md +267 -267
- package/template/.aioson/skills/static/flux-ui-components.md +262 -262
- package/template/.aioson/skills/static/git-conventions.md +227 -227
- package/template/.aioson/skills/static/git-worktrees.md +36 -36
- package/template/.aioson/skills/static/harness-sensors.md +74 -74
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -46
- package/template/.aioson/skills/static/jetstream-setup.md +200 -200
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
- package/template/.aioson/skills/static/landing-page-forge.md +730 -730
- package/template/.aioson/skills/static/laravel-conventions.md +491 -491
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
- package/template/.aioson/skills/static/node-express-patterns.md +317 -317
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
- package/template/.aioson/skills/static/rails-conventions.md +307 -307
- package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
- package/template/.aioson/skills/static/static-html-patterns.md +80 -80
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
- package/template/.aioson/skills/static/threejs-patterns.md +929 -929
- package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
- package/template/.aioson/skills/static/web-research-cache.md +115 -115
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
- package/template/.aioson/squads/memory.md +5 -5
- package/template/.aioson/tasks/implementation-plan.md +327 -327
- package/template/.aioson/tasks/squad-analyze.md +83 -83
- package/template/.aioson/tasks/squad-create.md +148 -148
- package/template/.aioson/tasks/squad-design.md +206 -206
- package/template/.aioson/tasks/squad-execution-plan.md +279 -279
- package/template/.aioson/tasks/squad-export.md +20 -20
- package/template/.aioson/tasks/squad-extend.md +68 -68
- package/template/.aioson/tasks/squad-investigate.md +57 -57
- package/template/.aioson/tasks/squad-learning-review.md +44 -44
- package/template/.aioson/tasks/squad-output-config.md +177 -177
- package/template/.aioson/tasks/squad-pipeline.md +122 -122
- package/template/.aioson/tasks/squad-profile.md +48 -48
- package/template/.aioson/tasks/squad-refresh.md +236 -0
- package/template/.aioson/tasks/squad-repair.md +85 -85
- package/template/.aioson/tasks/squad-review.md +61 -61
- package/template/.aioson/tasks/squad-task-decompose.md +66 -66
- package/template/.aioson/tasks/squad-validate.md +58 -58
- package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
- package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
- package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -21
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
- package/template/.aioson/templates/squads/media-channel/template.json +24 -24
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
- package/template/.claude/commands/aioson/agent/analyst.md +5 -5
- package/template/.claude/commands/aioson/agent/architect.md +5 -5
- package/template/.claude/commands/aioson/agent/briefing.md +5 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -5
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -5
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/dev.md +5 -5
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
- package/template/.claude/commands/aioson/agent/discover.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
- package/template/.claude/commands/aioson/agent/genome.md +5 -5
- package/template/.claude/commands/aioson/agent/neo.md +5 -5
- package/template/.claude/commands/aioson/agent/orache.md +5 -5
- package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
- package/template/.claude/commands/aioson/agent/pair.md +5 -5
- package/template/.claude/commands/aioson/agent/pentester.md +5 -0
- package/template/.claude/commands/aioson/agent/pm.md +5 -5
- package/template/.claude/commands/aioson/agent/product.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
- package/template/.claude/commands/aioson/agent/qa.md +5 -5
- package/template/.claude/commands/aioson/agent/setup.md +5 -5
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/squad.md +5 -5
- package/template/.claude/commands/aioson/agent/tester.md +5 -5
- package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
- package/template/.claude/commands/aioson/agent/validator.md +5 -5
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -7
- package/template/.gemini/commands/aios-architect.toml +8 -8
- package/template/.gemini/commands/aios-committer.toml +7 -7
- package/template/.gemini/commands/aios-copywriter.toml +7 -7
- package/template/.gemini/commands/aios-cypher.toml +7 -7
- package/template/.gemini/commands/aios-dev.toml +9 -9
- package/template/.gemini/commands/aios-deyvin.toml +7 -7
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -7
- package/template/.gemini/commands/aios-genome.toml +7 -7
- package/template/.gemini/commands/aios-neo.toml +6 -6
- package/template/.gemini/commands/aios-orache.toml +7 -7
- package/template/.gemini/commands/aios-orchestrator.toml +9 -9
- package/template/.gemini/commands/aios-pair.toml +7 -7
- package/template/.gemini/commands/aios-pm.toml +9 -9
- package/template/.gemini/commands/aios-product.toml +6 -6
- package/template/.gemini/commands/aios-qa.toml +7 -7
- package/template/.gemini/commands/aios-setup.toml +6 -6
- package/template/.gemini/commands/aios-sheldon.toml +7 -7
- package/template/.gemini/commands/aios-site-forge.toml +7 -7
- package/template/.gemini/commands/aios-squad.toml +7 -7
- package/template/.gemini/commands/aios-tester.toml +7 -7
- package/template/.gemini/commands/aios-ux-ui.toml +9 -9
- package/template/.gemini/commands/aios-validator.toml +7 -7
- package/template/AGENTS.md +184 -183
- package/template/CLAUDE.md +98 -97
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/template/.aioson/genomes/copywriting.md +0 -204
- package/template/.aioson/genomes/copywriting.meta.json +0 -48
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +0 -81
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +0 -91
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +0 -33
- package/template/.claude/commands/aioson/agent/cypher.md +0 -5
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
---
|
|
2
|
-
created: {ISO-date}
|
|
3
|
-
last_updated: {ISO-date}
|
|
4
|
-
questionnaire_completed: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Developer Profile
|
|
8
|
-
|
|
9
|
-
## Communication style
|
|
10
|
-
<!-- direto | equilibrado | explicativo -->
|
|
11
|
-
preference: equilibrado
|
|
12
|
-
|
|
13
|
-
## Decision style
|
|
14
|
-
<!-- opções-com-tradeoffs | recomendacao-unica | depende-do-contexto -->
|
|
15
|
-
preference: depende-do-contexto
|
|
16
|
-
|
|
17
|
-
## Tech philosophy
|
|
18
|
-
<!-- explícito | convencional | pragmatico -->
|
|
19
|
-
preference: pragmatico
|
|
20
|
-
|
|
21
|
-
## Autonomy preference
|
|
22
|
-
<!-- aprovacao-por-step | aprovacao-em-gates | execucao-autonoma -->
|
|
23
|
-
preference: aprovacao-em-gates
|
|
24
|
-
|
|
25
|
-
## Feedback style
|
|
26
|
-
<!-- critica-direta | colaborativo | neutro -->
|
|
27
|
-
preference: neutro
|
|
28
|
-
|
|
29
|
-
## Scope tolerance
|
|
30
|
-
<!-- strict | sugestoes-ok | flexible -->
|
|
31
|
-
preference: sugestoes-ok
|
|
32
|
-
|
|
33
|
-
## Detail level
|
|
34
|
-
<!-- so-resultado | contexto-quando-relevante | sempre-explicar -->
|
|
35
|
-
preference: contexto-quando-relevante
|
|
36
|
-
|
|
37
|
-
## Risk tolerance
|
|
38
|
-
<!-- conservador | equilibrado | arrojado -->
|
|
39
|
-
preference: equilibrado
|
|
40
|
-
|
|
41
|
-
## Notes
|
|
42
|
-
<!-- observações específicas do usuário sobre preferências -->
|
|
1
|
+
---
|
|
2
|
+
created: {ISO-date}
|
|
3
|
+
last_updated: {ISO-date}
|
|
4
|
+
questionnaire_completed: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Developer Profile
|
|
8
|
+
|
|
9
|
+
## Communication style
|
|
10
|
+
<!-- direto | equilibrado | explicativo -->
|
|
11
|
+
preference: equilibrado
|
|
12
|
+
|
|
13
|
+
## Decision style
|
|
14
|
+
<!-- opções-com-tradeoffs | recomendacao-unica | depende-do-contexto -->
|
|
15
|
+
preference: depende-do-contexto
|
|
16
|
+
|
|
17
|
+
## Tech philosophy
|
|
18
|
+
<!-- explícito | convencional | pragmatico -->
|
|
19
|
+
preference: pragmatico
|
|
20
|
+
|
|
21
|
+
## Autonomy preference
|
|
22
|
+
<!-- aprovacao-por-step | aprovacao-em-gates | execucao-autonoma -->
|
|
23
|
+
preference: aprovacao-em-gates
|
|
24
|
+
|
|
25
|
+
## Feedback style
|
|
26
|
+
<!-- critica-direta | colaborativo | neutro -->
|
|
27
|
+
preference: neutro
|
|
28
|
+
|
|
29
|
+
## Scope tolerance
|
|
30
|
+
<!-- strict | sugestoes-ok | flexible -->
|
|
31
|
+
preference: sugestoes-ok
|
|
32
|
+
|
|
33
|
+
## Detail level
|
|
34
|
+
<!-- so-resultado | contexto-quando-relevante | sempre-explicar -->
|
|
35
|
+
preference: contexto-quando-relevante
|
|
36
|
+
|
|
37
|
+
## Risk tolerance
|
|
38
|
+
<!-- conservador | equilibrado | arrojado -->
|
|
39
|
+
preference: equilibrado
|
|
40
|
+
|
|
41
|
+
## Notes
|
|
42
|
+
<!-- observações específicas do usuário sobre preferências -->
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "DRY principles, reuse hierarchy, and composition patterns"
|
|
3
|
-
scope: "governance"
|
|
4
|
-
agents: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Code Reuse — Governance Rules
|
|
8
|
-
|
|
9
|
-
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
-
|
|
11
|
-
## Before creating any new file
|
|
12
|
-
|
|
13
|
-
Always verify in this order:
|
|
14
|
-
|
|
15
|
-
1. Does a shared utility already solve this? (check `utils.js`, `utils/`, `helpers/`, `shared/`)
|
|
16
|
-
2. Does a domain module in `lib/`, `services/`, or `lib/` already own this responsibility?
|
|
17
|
-
3. Does a similar existing file already do something close enough to extend?
|
|
18
|
-
|
|
19
|
-
Create a new file only if none of the above applies.
|
|
20
|
-
|
|
21
|
-
## Reuse hierarchy
|
|
22
|
-
|
|
23
|
-
1. **Existing shared utility** — call it, do not reimplement
|
|
24
|
-
2. **Domain module** — if the logic is domain-specific, extend the right module
|
|
25
|
-
3. **Inline helper** — acceptable if single use and under ~50 lines
|
|
26
|
-
4. **New file** — only when no existing location is appropriate
|
|
27
|
-
|
|
28
|
-
## Composition over duplication
|
|
29
|
-
|
|
30
|
-
- Never copy-paste code blocks between files — extract to a named function instead
|
|
31
|
-
- If two modules import the same sequence of dependencies, consider a factory or initializer
|
|
32
|
-
- If the same validation logic appears in 3+ places, it belongs in a shared validator
|
|
33
|
-
- If two commands share a pattern for reading + transforming + writing, extract the pipeline
|
|
34
|
-
|
|
35
|
-
## DRY with pragmatism
|
|
36
|
-
|
|
37
|
-
DRY applies to **logic**, not to **structure**:
|
|
38
|
-
|
|
39
|
-
- Two functions that look similar but serve different domain concepts should stay separate
|
|
40
|
-
- Merging them to reduce lines often creates the wrong abstraction
|
|
41
|
-
- Duplicating a string or constant is worse than a duplicate variable — always use named constants
|
|
42
|
-
- Small, isolated duplication is sometimes better than a shared dependency that couples unrelated modules
|
|
43
|
-
|
|
44
|
-
## When NOT to reuse
|
|
45
|
-
|
|
46
|
-
- When the shared abstraction introduces coupling between unrelated modules
|
|
47
|
-
- When the reused code would need flags or conditionals to serve a new caller — that signals divergence, not reuse
|
|
48
|
-
- When the only shared thing is syntax, not semantics
|
|
1
|
+
---
|
|
2
|
+
description: "DRY principles, reuse hierarchy, and composition patterns"
|
|
3
|
+
scope: "governance"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Code Reuse — Governance Rules
|
|
8
|
+
|
|
9
|
+
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
+
|
|
11
|
+
## Before creating any new file
|
|
12
|
+
|
|
13
|
+
Always verify in this order:
|
|
14
|
+
|
|
15
|
+
1. Does a shared utility already solve this? (check `utils.js`, `utils/`, `helpers/`, `shared/`)
|
|
16
|
+
2. Does a domain module in `lib/`, `services/`, or `lib/` already own this responsibility?
|
|
17
|
+
3. Does a similar existing file already do something close enough to extend?
|
|
18
|
+
|
|
19
|
+
Create a new file only if none of the above applies.
|
|
20
|
+
|
|
21
|
+
## Reuse hierarchy
|
|
22
|
+
|
|
23
|
+
1. **Existing shared utility** — call it, do not reimplement
|
|
24
|
+
2. **Domain module** — if the logic is domain-specific, extend the right module
|
|
25
|
+
3. **Inline helper** — acceptable if single use and under ~50 lines
|
|
26
|
+
4. **New file** — only when no existing location is appropriate
|
|
27
|
+
|
|
28
|
+
## Composition over duplication
|
|
29
|
+
|
|
30
|
+
- Never copy-paste code blocks between files — extract to a named function instead
|
|
31
|
+
- If two modules import the same sequence of dependencies, consider a factory or initializer
|
|
32
|
+
- If the same validation logic appears in 3+ places, it belongs in a shared validator
|
|
33
|
+
- If two commands share a pattern for reading + transforming + writing, extract the pipeline
|
|
34
|
+
|
|
35
|
+
## DRY with pragmatism
|
|
36
|
+
|
|
37
|
+
DRY applies to **logic**, not to **structure**:
|
|
38
|
+
|
|
39
|
+
- Two functions that look similar but serve different domain concepts should stay separate
|
|
40
|
+
- Merging them to reduce lines often creates the wrong abstraction
|
|
41
|
+
- Duplicating a string or constant is worse than a duplicate variable — always use named constants
|
|
42
|
+
- Small, isolated duplication is sometimes better than a shared dependency that couples unrelated modules
|
|
43
|
+
|
|
44
|
+
## When NOT to reuse
|
|
45
|
+
|
|
46
|
+
- When the shared abstraction introduces coupling between unrelated modules
|
|
47
|
+
- When the reused code would need flags or conditionals to serve a new caller — that signals divergence, not reuse
|
|
48
|
+
- When the only shared thing is syntax, not semantics
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "When and how to extract components, modules, and abstractions"
|
|
3
|
-
scope: "governance"
|
|
4
|
-
agents: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Componentization — Governance Rules
|
|
8
|
-
|
|
9
|
-
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
-
|
|
11
|
-
## When to extract
|
|
12
|
-
|
|
13
|
-
Extract a component, module, or function when ANY of these is true:
|
|
14
|
-
|
|
15
|
-
1. **Duplication** — the same logic appears in 2 or more different places
|
|
16
|
-
2. **Size** — a file is approaching 300 lines of pure logic (excluding comments and blank lines)
|
|
17
|
-
3. **Testability** — the piece of logic can be tested in isolation from the rest
|
|
18
|
-
4. **Description** — the responsibility can be stated in one short, specific sentence
|
|
19
|
-
|
|
20
|
-
## When to keep inline
|
|
21
|
-
|
|
22
|
-
Keep logic inline when ALL of these are true:
|
|
23
|
-
|
|
24
|
-
- Used in exactly one place
|
|
25
|
-
- Under ~50 lines
|
|
26
|
-
- Extracting it would create a file with a single trivial function
|
|
27
|
-
- No second confirmed use case exists
|
|
28
|
-
|
|
29
|
-
## Single responsibility
|
|
30
|
-
|
|
31
|
-
- One file = one primary responsibility
|
|
32
|
-
- Supporting helper functions for that primary responsibility may coexist in the same file
|
|
33
|
-
- Helper functions used in 2+ files → move to a shared utility or dedicated module
|
|
34
|
-
|
|
35
|
-
## Avoid premature abstraction
|
|
36
|
-
|
|
37
|
-
- Do not create abstractions for hypothetical future requirements
|
|
38
|
-
- Three similar-but-not-identical code blocks is not always a reason to abstract — wait for the pattern to stabilize
|
|
39
|
-
- An abstraction that is harder to understand than the original code is a liability, not an asset
|
|
40
|
-
- The right abstraction reveals intent. If the name cannot describe what it does in 3 words or fewer, reconsider.
|
|
41
|
-
|
|
42
|
-
## Signals that an abstraction is wrong
|
|
43
|
-
|
|
44
|
-
- The function needs many flags or mode switches to handle different callers
|
|
45
|
-
- The caller has to know internal details to use it correctly
|
|
46
|
-
- Tests for the abstraction are harder to read than tests for the original code
|
|
47
|
-
- Removing the abstraction and inlining the logic would make the code clearer
|
|
1
|
+
---
|
|
2
|
+
description: "When and how to extract components, modules, and abstractions"
|
|
3
|
+
scope: "governance"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Componentization — Governance Rules
|
|
8
|
+
|
|
9
|
+
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
+
|
|
11
|
+
## When to extract
|
|
12
|
+
|
|
13
|
+
Extract a component, module, or function when ANY of these is true:
|
|
14
|
+
|
|
15
|
+
1. **Duplication** — the same logic appears in 2 or more different places
|
|
16
|
+
2. **Size** — a file is approaching 300 lines of pure logic (excluding comments and blank lines)
|
|
17
|
+
3. **Testability** — the piece of logic can be tested in isolation from the rest
|
|
18
|
+
4. **Description** — the responsibility can be stated in one short, specific sentence
|
|
19
|
+
|
|
20
|
+
## When to keep inline
|
|
21
|
+
|
|
22
|
+
Keep logic inline when ALL of these are true:
|
|
23
|
+
|
|
24
|
+
- Used in exactly one place
|
|
25
|
+
- Under ~50 lines
|
|
26
|
+
- Extracting it would create a file with a single trivial function
|
|
27
|
+
- No second confirmed use case exists
|
|
28
|
+
|
|
29
|
+
## Single responsibility
|
|
30
|
+
|
|
31
|
+
- One file = one primary responsibility
|
|
32
|
+
- Supporting helper functions for that primary responsibility may coexist in the same file
|
|
33
|
+
- Helper functions used in 2+ files → move to a shared utility or dedicated module
|
|
34
|
+
|
|
35
|
+
## Avoid premature abstraction
|
|
36
|
+
|
|
37
|
+
- Do not create abstractions for hypothetical future requirements
|
|
38
|
+
- Three similar-but-not-identical code blocks is not always a reason to abstract — wait for the pattern to stabilize
|
|
39
|
+
- An abstraction that is harder to understand than the original code is a liability, not an asset
|
|
40
|
+
- The right abstraction reveals intent. If the name cannot describe what it does in 3 words or fewer, reconsider.
|
|
41
|
+
|
|
42
|
+
## Signals that an abstraction is wrong
|
|
43
|
+
|
|
44
|
+
- The function needs many flags or mode switches to handle different callers
|
|
45
|
+
- The caller has to know internal details to use it correctly
|
|
46
|
+
- Tests for the abstraction are harder to read than tests for the original code
|
|
47
|
+
- Removing the abstraction and inlining the logic would make the code clearer
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "File size guidelines, alert thresholds, and split strategies"
|
|
3
|
-
scope: "governance"
|
|
4
|
-
agents: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# File Size — Governance Rules
|
|
8
|
-
|
|
9
|
-
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
-
|
|
11
|
-
## Thresholds
|
|
12
|
-
|
|
13
|
-
| Lines | Status | Action |
|
|
14
|
-
|-------|--------|--------|
|
|
15
|
-
| < 300 | Ideal | Continue normally |
|
|
16
|
-
| 300–500 | Acceptable | Monitor growth; do not split preemptively |
|
|
17
|
-
| > 500 | Alert | Propose split before writing more code |
|
|
18
|
-
|
|
19
|
-
Lines are counted as pure logic — comments, blank lines, and closing braces do not count toward the threshold.
|
|
20
|
-
|
|
21
|
-
## Alert protocol
|
|
22
|
-
|
|
23
|
-
When estimating that a resulting file will exceed 500 lines:
|
|
24
|
-
|
|
25
|
-
1. Emit the alert with the estimated line count and file path
|
|
26
|
-
2. List 2–3 concrete extraction alternatives with real file paths
|
|
27
|
-
3. `@dev`: wait for user confirmation before proceeding
|
|
28
|
-
4. `@deyvin` pair mode: present alternatives and continue after 1 turn with no response
|
|
29
|
-
|
|
30
|
-
The alert is never blocking — it is a pause to think, not an impediment.
|
|
31
|
-
|
|
32
|
-
## Common split strategies
|
|
33
|
-
|
|
34
|
-
| Situation | Split approach |
|
|
35
|
-
|-----------|---------------|
|
|
36
|
-
| Large command / controller | Extract business logic to a `service/` or `lib/` module |
|
|
37
|
-
| Validation logic growing | Extract to `validate-{domain}.js` / `{domain}_validator.py` |
|
|
38
|
-
| Formatting / serialization | Extract to `format-{domain}.js` or a dedicated serializer |
|
|
39
|
-
| Mixed read/write concerns | Separate into a reader and a writer module |
|
|
40
|
-
| Route file growing | Group into feature sub-routers |
|
|
41
|
-
| Large test file | Split by domain or by test type (unit / integration / e2e) |
|
|
42
|
-
| Large React component | Extract sub-components and move logic to a custom hook |
|
|
43
|
-
| Large class with many methods | Extract related method groups into collaborator classes |
|
|
44
|
-
|
|
45
|
-
## Exceptions
|
|
46
|
-
|
|
47
|
-
These file types are exempt from the size guideline:
|
|
48
|
-
|
|
49
|
-
- Internationalization / locale files (`messages.json`, `en.yml`, `pt-BR.ts`)
|
|
50
|
-
- Test fixtures and factories
|
|
51
|
-
- Auto-generated files (migrations with timestamps, GraphQL schemas, OpenAPI specs)
|
|
52
|
-
- Configuration files with many entries (`routes.php`, `config/app.ts`, `webpack.config.js`)
|
|
1
|
+
---
|
|
2
|
+
description: "File size guidelines, alert thresholds, and split strategies"
|
|
3
|
+
scope: "governance"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# File Size — Governance Rules
|
|
8
|
+
|
|
9
|
+
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
+
|
|
11
|
+
## Thresholds
|
|
12
|
+
|
|
13
|
+
| Lines | Status | Action |
|
|
14
|
+
|-------|--------|--------|
|
|
15
|
+
| < 300 | Ideal | Continue normally |
|
|
16
|
+
| 300–500 | Acceptable | Monitor growth; do not split preemptively |
|
|
17
|
+
| > 500 | Alert | Propose split before writing more code |
|
|
18
|
+
|
|
19
|
+
Lines are counted as pure logic — comments, blank lines, and closing braces do not count toward the threshold.
|
|
20
|
+
|
|
21
|
+
## Alert protocol
|
|
22
|
+
|
|
23
|
+
When estimating that a resulting file will exceed 500 lines:
|
|
24
|
+
|
|
25
|
+
1. Emit the alert with the estimated line count and file path
|
|
26
|
+
2. List 2–3 concrete extraction alternatives with real file paths
|
|
27
|
+
3. `@dev`: wait for user confirmation before proceeding
|
|
28
|
+
4. `@deyvin` pair mode: present alternatives and continue after 1 turn with no response
|
|
29
|
+
|
|
30
|
+
The alert is never blocking — it is a pause to think, not an impediment.
|
|
31
|
+
|
|
32
|
+
## Common split strategies
|
|
33
|
+
|
|
34
|
+
| Situation | Split approach |
|
|
35
|
+
|-----------|---------------|
|
|
36
|
+
| Large command / controller | Extract business logic to a `service/` or `lib/` module |
|
|
37
|
+
| Validation logic growing | Extract to `validate-{domain}.js` / `{domain}_validator.py` |
|
|
38
|
+
| Formatting / serialization | Extract to `format-{domain}.js` or a dedicated serializer |
|
|
39
|
+
| Mixed read/write concerns | Separate into a reader and a writer module |
|
|
40
|
+
| Route file growing | Group into feature sub-routers |
|
|
41
|
+
| Large test file | Split by domain or by test type (unit / integration / e2e) |
|
|
42
|
+
| Large React component | Extract sub-components and move logic to a custom hook |
|
|
43
|
+
| Large class with many methods | Extract related method groups into collaborator classes |
|
|
44
|
+
|
|
45
|
+
## Exceptions
|
|
46
|
+
|
|
47
|
+
These file types are exempt from the size guideline:
|
|
48
|
+
|
|
49
|
+
- Internationalization / locale files (`messages.json`, `en.yml`, `pt-BR.ts`)
|
|
50
|
+
- Test fixtures and factories
|
|
51
|
+
- Auto-generated files (migrations with timestamps, GraphQL schemas, OpenAPI specs)
|
|
52
|
+
- Configuration files with many entries (`routes.php`, `config/app.ts`, `webpack.config.js`)
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Universal folder organization rules — hierarchy, depth, naming, grouping"
|
|
3
|
-
scope: "governance"
|
|
4
|
-
agents: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Folder Structure — Governance Rules
|
|
8
|
-
|
|
9
|
-
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
-
|
|
11
|
-
## Depth
|
|
12
|
-
|
|
13
|
-
- Maximum 3 levels of nesting before splitting into a separate module.
|
|
14
|
-
- If you need a 4th level, the responsibility likely belongs in its own module or package.
|
|
15
|
-
|
|
16
|
-
## Naming
|
|
17
|
-
|
|
18
|
-
- **kebab-case** for all folder names: `user-auth/`, `squad-dashboard/`, `context-cache/`
|
|
19
|
-
- **Singular** for a single entity or specific responsibility: `service/`, `command/`, `handler/`
|
|
20
|
-
- **Plural** for collections of items of the same type: `services/`, `commands/`, `handlers/`
|
|
21
|
-
- Never mix styles within the same directory level
|
|
22
|
-
|
|
23
|
-
## Grouping strategy
|
|
24
|
-
|
|
25
|
-
Prefer **domain-based grouping** over layer-based when the project grows beyond 5–6 modules:
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
src/
|
|
29
|
-
auth/ ← domain: everything related to authentication
|
|
30
|
-
billing/ ← domain: everything related to billing
|
|
31
|
-
shared/ ← cross-domain: utilities, types, helpers
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Layer-based is valid for small projects or when the framework enforces it:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
src/
|
|
38
|
-
controllers/ ← HTTP layer
|
|
39
|
-
services/ ← business logic
|
|
40
|
-
models/ ← data layer
|
|
41
|
-
utils/ ← shared helpers
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Choose one strategy and stay consistent within the same project.
|
|
45
|
-
|
|
46
|
-
## Anti-patterns
|
|
47
|
-
|
|
48
|
-
- Never use generic folders: `misc/`, `stuff/`, `temp/`, `old/`, `helpers/`
|
|
49
|
-
- Never leave unrelated files loose in `src/` root — every file belongs to a domain
|
|
50
|
-
- Never create a folder with a single file (except `index.js` / `index.ts` as a public module entry point)
|
|
51
|
-
- Never nest a folder that has the same semantic scope as its parent
|
|
1
|
+
---
|
|
2
|
+
description: "Universal folder organization rules — hierarchy, depth, naming, grouping"
|
|
3
|
+
scope: "governance"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Folder Structure — Governance Rules
|
|
8
|
+
|
|
9
|
+
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
+
|
|
11
|
+
## Depth
|
|
12
|
+
|
|
13
|
+
- Maximum 3 levels of nesting before splitting into a separate module.
|
|
14
|
+
- If you need a 4th level, the responsibility likely belongs in its own module or package.
|
|
15
|
+
|
|
16
|
+
## Naming
|
|
17
|
+
|
|
18
|
+
- **kebab-case** for all folder names: `user-auth/`, `squad-dashboard/`, `context-cache/`
|
|
19
|
+
- **Singular** for a single entity or specific responsibility: `service/`, `command/`, `handler/`
|
|
20
|
+
- **Plural** for collections of items of the same type: `services/`, `commands/`, `handlers/`
|
|
21
|
+
- Never mix styles within the same directory level
|
|
22
|
+
|
|
23
|
+
## Grouping strategy
|
|
24
|
+
|
|
25
|
+
Prefer **domain-based grouping** over layer-based when the project grows beyond 5–6 modules:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
src/
|
|
29
|
+
auth/ ← domain: everything related to authentication
|
|
30
|
+
billing/ ← domain: everything related to billing
|
|
31
|
+
shared/ ← cross-domain: utilities, types, helpers
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Layer-based is valid for small projects or when the framework enforces it:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
src/
|
|
38
|
+
controllers/ ← HTTP layer
|
|
39
|
+
services/ ← business logic
|
|
40
|
+
models/ ← data layer
|
|
41
|
+
utils/ ← shared helpers
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Choose one strategy and stay consistent within the same project.
|
|
45
|
+
|
|
46
|
+
## Anti-patterns
|
|
47
|
+
|
|
48
|
+
- Never use generic folders: `misc/`, `stuff/`, `temp/`, `old/`, `helpers/`
|
|
49
|
+
- Never leave unrelated files loose in `src/` root — every file belongs to a domain
|
|
50
|
+
- Never create a folder with a single file (except `index.js` / `index.ts` as a public module entry point)
|
|
51
|
+
- Never nest a folder that has the same semantic scope as its parent
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Naming conventions for files, variables, functions, and classes"
|
|
3
|
-
scope: "governance"
|
|
4
|
-
agents: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Naming — Governance Rules
|
|
8
|
-
|
|
9
|
-
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
-
|
|
11
|
-
## Files
|
|
12
|
-
|
|
13
|
-
- **kebab-case** for all source files: `user-auth.js`, `billing-service.ts`, `context-writer.py`
|
|
14
|
-
- When inside a flat directory, use a domain prefix to group related files: `user-create.js`, `user-update.js`, `user-delete.js`
|
|
15
|
-
- Avoid generic suffixes when the domain name already conveys the type: prefer `auth.js` over `auth-helper.js`
|
|
16
|
-
- Test files mirror the source file name: `user-auth.test.js`, `billing_service_test.py`
|
|
17
|
-
|
|
18
|
-
## Variables and constants
|
|
19
|
-
|
|
20
|
-
| Type | JS / TS | Python / Ruby | Go / Rust |
|
|
21
|
-
|------|---------|---------------|-----------|
|
|
22
|
-
| Local variables | camelCase | snake_case | camelCase / snake_case |
|
|
23
|
-
| Global constants | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
|
|
24
|
-
| Environment variables | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
|
|
25
|
-
|
|
26
|
-
## Functions and methods
|
|
27
|
-
|
|
28
|
-
Pattern: **verb + noun** — describes what the function does and to what.
|
|
29
|
-
|
|
30
|
-
Good: `loadUser()`, `parseManifest()`, `validateEmail()`, `sendInvoice()`, `buildQuery()`
|
|
31
|
-
Avoid: `doUser()`, `process()`, `handle()` — too vague to understand intent
|
|
32
|
-
Avoid: `userLoader()`, `manifestParser()` — noun-first reads as a class or object, not a function
|
|
33
|
-
|
|
34
|
-
## Booleans
|
|
35
|
-
|
|
36
|
-
Always use a prefix that makes the boolean read as a yes/no question:
|
|
37
|
-
|
|
38
|
-
- `is` — state: `isReady`, `isEmpty`, `isAuthenticated`, `isValid`
|
|
39
|
-
- `has` — possession: `hasErrors`, `hasChildren`, `hasPermission`
|
|
40
|
-
- `should` — intent: `shouldRetry`, `shouldRedirect`, `shouldNotify`
|
|
41
|
-
- `can` — capability: `canEdit`, `canDelete`, `canPublish`
|
|
42
|
-
|
|
43
|
-
## Classes and components
|
|
44
|
-
|
|
45
|
-
- **PascalCase**: `UserService`, `BillingController`, `AuthModal`, `InvoiceJob`
|
|
46
|
-
- Singular: `User`, not `Users` — a class represents one entity, not a collection
|
|
47
|
-
- React / Vue / Svelte components: same PascalCase rule, filename in kebab-case: `UserCard.tsx` → `user-card.tsx`
|
|
48
|
-
|
|
49
|
-
## Avoid
|
|
50
|
-
|
|
51
|
-
- Abbreviations unless they are industry-standard: `url`, `id`, `api`, `html`, `dto` are fine; `usrCtx`, `mngr`, `cfg`, `hlpr` are not
|
|
52
|
-
- Single-letter variables except for loop indices (`i`, `j`, `k`) and math/geometry variables
|
|
53
|
-
- Names that describe the type instead of the intent: `dataObject`, `listArray`, `stringValue`
|
|
54
|
-
- Negative booleans: `isNotReady`, `hasNoErrors` — flip to positive: `isReady`, `isValid`
|
|
1
|
+
---
|
|
2
|
+
description: "Naming conventions for files, variables, functions, and classes"
|
|
3
|
+
scope: "governance"
|
|
4
|
+
agents: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Naming — Governance Rules
|
|
8
|
+
|
|
9
|
+
> Loaded automatically by @dev and @deyvin. Override per-project via `.aioson/rules/`.
|
|
10
|
+
|
|
11
|
+
## Files
|
|
12
|
+
|
|
13
|
+
- **kebab-case** for all source files: `user-auth.js`, `billing-service.ts`, `context-writer.py`
|
|
14
|
+
- When inside a flat directory, use a domain prefix to group related files: `user-create.js`, `user-update.js`, `user-delete.js`
|
|
15
|
+
- Avoid generic suffixes when the domain name already conveys the type: prefer `auth.js` over `auth-helper.js`
|
|
16
|
+
- Test files mirror the source file name: `user-auth.test.js`, `billing_service_test.py`
|
|
17
|
+
|
|
18
|
+
## Variables and constants
|
|
19
|
+
|
|
20
|
+
| Type | JS / TS | Python / Ruby | Go / Rust |
|
|
21
|
+
|------|---------|---------------|-----------|
|
|
22
|
+
| Local variables | camelCase | snake_case | camelCase / snake_case |
|
|
23
|
+
| Global constants | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
|
|
24
|
+
| Environment variables | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE |
|
|
25
|
+
|
|
26
|
+
## Functions and methods
|
|
27
|
+
|
|
28
|
+
Pattern: **verb + noun** — describes what the function does and to what.
|
|
29
|
+
|
|
30
|
+
Good: `loadUser()`, `parseManifest()`, `validateEmail()`, `sendInvoice()`, `buildQuery()`
|
|
31
|
+
Avoid: `doUser()`, `process()`, `handle()` — too vague to understand intent
|
|
32
|
+
Avoid: `userLoader()`, `manifestParser()` — noun-first reads as a class or object, not a function
|
|
33
|
+
|
|
34
|
+
## Booleans
|
|
35
|
+
|
|
36
|
+
Always use a prefix that makes the boolean read as a yes/no question:
|
|
37
|
+
|
|
38
|
+
- `is` — state: `isReady`, `isEmpty`, `isAuthenticated`, `isValid`
|
|
39
|
+
- `has` — possession: `hasErrors`, `hasChildren`, `hasPermission`
|
|
40
|
+
- `should` — intent: `shouldRetry`, `shouldRedirect`, `shouldNotify`
|
|
41
|
+
- `can` — capability: `canEdit`, `canDelete`, `canPublish`
|
|
42
|
+
|
|
43
|
+
## Classes and components
|
|
44
|
+
|
|
45
|
+
- **PascalCase**: `UserService`, `BillingController`, `AuthModal`, `InvoiceJob`
|
|
46
|
+
- Singular: `User`, not `Users` — a class represents one entity, not a collection
|
|
47
|
+
- React / Vue / Svelte components: same PascalCase rule, filename in kebab-case: `UserCard.tsx` → `user-card.tsx`
|
|
48
|
+
|
|
49
|
+
## Avoid
|
|
50
|
+
|
|
51
|
+
- Abbreviations unless they are industry-standard: `url`, `id`, `api`, `html`, `dto` are fine; `usrCtx`, `mngr`, `cfg`, `hlpr` are not
|
|
52
|
+
- Single-letter variables except for loop indices (`i`, `j`, `k`) and math/geometry variables
|
|
53
|
+
- Names that describe the type instead of the intent: `dataObject`, `listArray`, `stringValue`
|
|
54
|
+
- Negative booleans: `isNotReady`, `hasNoErrors` — flip to positive: `isReady`, `isValid`
|