@jaimevalasek/aioson 1.7.2 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +595 -560
- package/CODE_OF_CONDUCT.md +12 -12
- package/CONTRIBUTING.md +13 -13
- package/LICENSE +661 -661
- package/README.md +919 -776
- package/bin/aioson.js +4 -4
- package/docs/design-previews/aurora-command-ui-website.html +884 -884
- package/docs/design-previews/aurora-command-ui.html +682 -682
- package/docs/design-previews/bold-editorial-ui-website.html +658 -658
- package/docs/design-previews/bold-editorial-ui.html +717 -717
- package/docs/design-previews/clean-saas-ui-website.html +1202 -1202
- package/docs/design-previews/clean-saas-ui.html +549 -549
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -1009
- package/docs/design-previews/cognitive-core-ui.html +463 -463
- package/docs/design-previews/glassmorphism-ui-website.html +572 -572
- package/docs/design-previews/glassmorphism-ui.html +886 -886
- package/docs/design-previews/index.html +699 -699
- package/docs/design-previews/interface-design-website.html +1187 -1187
- package/docs/design-previews/interface-design.html +513 -513
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -621
- package/docs/design-previews/neo-brutalist-ui.html +797 -797
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -1217
- package/docs/design-previews/premium-command-center-ui.html +552 -552
- package/docs/design-previews/pt.squarespace.com-homepage.html +889 -889
- package/docs/design-previews/warm-craft-ui-website.html +684 -684
- package/docs/design-previews/warm-craft-ui.html +739 -739
- package/docs/en/1-understand/ecosystem-map.md +228 -0
- package/docs/en/1-understand/glossary.md +288 -0
- package/docs/en/1-understand/what-is-aioson.md +94 -0
- package/docs/en/1-understand/why-it-exists.md +106 -0
- package/docs/en/2-start/existing-project.md +246 -0
- package/docs/en/2-start/first-project.md +307 -0
- package/docs/en/2-start/initial-decisions.md +223 -0
- package/docs/en/3-recipes/README.md +28 -0
- package/docs/en/3-recipes/continuity-between-sessions.md +303 -0
- package/docs/en/3-recipes/from-idea-to-prd-via-briefing.md +235 -0
- package/docs/en/3-recipes/full-feature-with-sheldon.md +338 -0
- package/docs/en/4-agents/README.md +56 -0
- package/docs/en/5-reference/README.md +60 -0
- package/docs/en/{cli-reference.md → 5-reference/cli-reference.md} +639 -409
- package/docs/en/5-reference/i18n.md +52 -0
- package/docs/en/{json-schemas.md → 5-reference/json-schemas.md} +41 -41
- package/docs/en/{mcp.md → 5-reference/mcp.md} +56 -56
- package/docs/en/{parallel.md → 5-reference/parallel.md} +82 -82
- package/docs/en/{qa-browser.md → 5-reference/qa-browser.md} +339 -339
- package/docs/en/{release-flow.md → 5-reference/release-flow.md} +22 -22
- package/docs/en/{release-notes-template.md → 5-reference/release-notes-template.md} +41 -41
- package/docs/en/{release.md → 5-reference/release.md} +28 -28
- package/docs/en/{schemas → 5-reference/schemas}/agent-prompt.schema.json +17 -17
- package/docs/en/{schemas → 5-reference/schemas}/agents.schema.json +32 -32
- package/docs/en/{schemas → 5-reference/schemas}/context-validate.schema.json +36 -36
- package/docs/en/{schemas → 5-reference/schemas}/doctor.schema.json +89 -89
- package/docs/en/{schemas → 5-reference/schemas}/error.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/i18n-add.schema.json +15 -15
- package/docs/en/{schemas → 5-reference/schemas}/index.json +126 -116
- package/docs/en/{schemas → 5-reference/schemas}/info.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/init.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/install.schema.json +60 -60
- package/docs/en/{schemas → 5-reference/schemas}/locale-apply.schema.json +30 -30
- package/docs/en/{schemas → 5-reference/schemas}/mcp-doctor.schema.json +95 -95
- package/docs/en/{schemas → 5-reference/schemas}/mcp-init.schema.json +122 -122
- package/docs/en/{schemas → 5-reference/schemas}/package-test.schema.json +24 -24
- package/docs/en/{schemas → 5-reference/schemas}/parallel-assign.schema.json +66 -57
- package/docs/en/{schemas → 5-reference/schemas}/parallel-doctor.schema.json +122 -86
- package/docs/en/5-reference/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/{schemas → 5-reference/schemas}/parallel-init.schema.json +53 -53
- package/docs/en/5-reference/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/5-reference/schemas/parallel-status.schema.json +184 -0
- package/docs/en/{schemas → 5-reference/schemas}/setup-context.schema.json +39 -39
- package/docs/en/{schemas → 5-reference/schemas}/smoke.schema.json +23 -23
- package/docs/en/{schemas → 5-reference/schemas}/update.schema.json +48 -48
- package/docs/en/{schemas → 5-reference/schemas}/workflow-plan.schema.json +30 -30
- package/docs/en/{squad-dashboard.md → 5-reference/squad-dashboard.md} +372 -372
- package/docs/en/{web3.md → 5-reference/web3.md} +54 -54
- package/docs/en/README.md +115 -0
- package/docs/en/active-learning-loop/README.md +117 -0
- package/docs/en/active-learning-loop/active-learning-loop.md +117 -0
- package/docs/en/active-learning-loop/cli-commands.md +320 -0
- package/docs/en/active-learning-loop/diagrams.md +225 -0
- package/docs/en/active-learning-loop/doctor-checks.md +151 -0
- package/docs/en/active-learning-loop/how-to-use.md +313 -0
- package/docs/en/active-learning-loop/troubleshooting.md +283 -0
- package/docs/en/deyvin-subtask-scout/README.md +109 -0
- package/docs/en/deyvin-subtask-scout/cli-commands.md +248 -0
- package/docs/en/deyvin-subtask-scout/diagrams.md +124 -0
- package/docs/en/deyvin-subtask-scout/how-to-use.md +221 -0
- package/docs/en/deyvin-subtask-scout/sub-task-scout.md +115 -0
- package/docs/en/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/integrations/apps-publish-marketplace.md +94 -0
- package/docs/integrations/sdlc-genius-boundary.md +76 -76
- package/docs/integrations/sdlc-genius-eval-matrix.md +75 -75
- package/docs/integrations/sdlc-genius-install-checklist.md +93 -93
- package/docs/integrations/sdlc-genius-review-samples.md +86 -86
- package/docs/openclaw-bridge.md +308 -308
- package/docs/pt/1-entender/glossario.md +288 -0
- package/docs/pt/1-entender/mapa-do-ecossistema.md +228 -0
- package/docs/pt/1-entender/o-que-e-aioson.md +94 -0
- package/docs/pt/1-entender/por-que-existe.md +107 -0
- package/docs/pt/2-comecar/decisoes-iniciais.md +223 -0
- package/docs/pt/2-comecar/primeiro-projeto.md +307 -0
- package/docs/pt/2-comecar/projeto-existente.md +245 -0
- package/docs/pt/3-receitas/README.md +28 -0
- package/docs/pt/3-receitas/app-saas-do-zero.md +324 -0
- package/docs/pt/3-receitas/auditoria-seguranca.md +254 -0
- package/docs/pt/3-receitas/clonar-design-de-site.md +211 -0
- package/docs/pt/3-receitas/continuidade-entre-sessoes.md +303 -0
- package/docs/pt/3-receitas/da-ideia-ao-prd-via-briefing.md +234 -0
- package/docs/pt/3-receitas/feature-completa-com-sheldon.md +338 -0
- package/docs/pt/3-receitas/integracao-em-codebase-grande.md +243 -0
- package/docs/pt/3-receitas/landing-page.md +281 -0
- package/docs/pt/3-receitas/plans-externos-para-product.md +191 -0
- package/docs/pt/3-receitas/publicar-no-aioson-com.md +219 -0
- package/docs/pt/3-receitas/refatoracao-grande.md +251 -0
- package/docs/pt/4-agentes/README.md +65 -0
- package/docs/pt/4-agentes/analyst.md +111 -0
- package/docs/pt/4-agentes/architect.md +113 -0
- package/docs/pt/4-agentes/briefing.md +95 -0
- package/docs/pt/4-agentes/committer.md +108 -0
- package/docs/pt/4-agentes/copywriter.md +279 -0
- package/docs/pt/4-agentes/design-hybrid-forge.md +116 -0
- package/docs/pt/4-agentes/dev.md +136 -0
- package/docs/pt/4-agentes/deyvin.md +99 -0
- package/docs/pt/4-agentes/discover.md +122 -0
- package/docs/pt/4-agentes/discovery-design-doc.md +91 -0
- package/docs/pt/4-agentes/genome.md +115 -0
- package/docs/pt/4-agentes/neo.md +93 -0
- package/docs/pt/4-agentes/orache.md +107 -0
- package/docs/pt/4-agentes/orchestrator.md +118 -0
- package/docs/pt/4-agentes/pentester.md +131 -0
- package/docs/pt/4-agentes/pm.md +97 -0
- package/docs/pt/4-agentes/product.md +114 -0
- package/docs/pt/4-agentes/profiler-enricher.md +93 -0
- package/docs/pt/4-agentes/profiler-forge.md +93 -0
- package/docs/pt/4-agentes/profiler-researcher.md +98 -0
- package/docs/pt/4-agentes/qa.md +124 -0
- package/docs/pt/4-agentes/setup.md +104 -0
- package/docs/pt/4-agentes/sheldon.md +95 -0
- package/docs/pt/4-agentes/site-forge.md +104 -0
- package/docs/pt/4-agentes/squad.md +127 -0
- package/docs/pt/4-agentes/tester.md +105 -0
- package/docs/pt/4-agentes/ux-ui.md +110 -0
- package/docs/pt/4-agentes/validator.md +118 -0
- package/docs/pt/5-referencia/README.md +88 -0
- package/docs/pt/5-referencia/agent-chain-continuity.md +124 -0
- package/docs/pt/{agent-sharding.md → 5-referencia/agent-sharding.md} +132 -132
- package/docs/pt/5-referencia/aioson-com-store.md +119 -0
- package/docs/pt/{automacao-squads.md → 5-referencia/automacao-squads.md} +407 -407
- package/docs/pt/{clientes-ai.md → 5-referencia/clientes-ai.md} +300 -286
- package/docs/pt/{comandos-cli.md → 5-referencia/comandos-cli.md} +1823 -1634
- package/docs/pt/5-referencia/compress-agents.md +304 -0
- package/docs/pt/5-referencia/design-docs-governance.md +59 -0
- package/docs/pt/{devlog-pipeline.md → 5-referencia/devlog-pipeline.md} +270 -270
- package/docs/pt/5-referencia/feature-archive.md +199 -0
- package/docs/pt/5-referencia/feature-dossier.md +121 -0
- package/docs/pt/{fluxo-artefatos.md → 5-referencia/fluxo-artefatos.md} +179 -178
- package/docs/pt/{genome-3.0-spec.md → 5-referencia/genome-4.0-spec.md} +407 -296
- package/docs/pt/5-referencia/genome-distribution.md +232 -0
- package/docs/pt/{hooks-session-guard.md → 5-referencia/hooks-session-guard.md} +454 -454
- package/docs/pt/{inteligencia-adaptativa.md → 5-referencia/inteligencia-adaptativa.md} +324 -324
- package/docs/pt/5-referencia/live-sessions.md +144 -0
- package/docs/pt/5-referencia/memoria-e-contexto.md +340 -0
- package/docs/pt/5-referencia/motor-hardening.md +493 -0
- package/docs/pt/{output-strategy-delivery.md → 5-referencia/output-strategy-delivery.md} +655 -655
- package/docs/pt/5-referencia/runner-system.md +113 -0
- package/docs/pt/{runtime-observability.md → 5-referencia/runtime-observability.md} +76 -76
- package/docs/pt/{sandbox.md → 5-referencia/sandbox.md} +125 -125
- package/docs/pt/{sdd-automation-scripts.md → 5-referencia/sdd-automation-scripts.md} +559 -557
- package/docs/pt/5-referencia/sdd-framework.md +115 -0
- package/docs/pt/5-referencia/sdd-planos-e-estrutura.md +321 -0
- package/docs/pt/5-referencia/secure-by-default.md +117 -0
- package/docs/pt/{skills.md → 5-referencia/skills.md} +275 -267
- package/docs/pt/{spec-learnings-pipeline.md → 5-referencia/spec-learnings-pipeline.md} +265 -265
- package/docs/pt/{squad-dashboard.md → 5-referencia/squad-dashboard.md} +373 -373
- package/docs/pt/{web3.md → 5-referencia/web3.md} +797 -797
- package/docs/pt/README.md +111 -116
- package/docs/pt/_arquivo/README.md +130 -0
- package/docs/pt/{advisor-spec.md → _arquivo/advisor-spec.md} +343 -335
- package/docs/pt/{agentes-customizados.md → _arquivo/agentes-customizados.md} +678 -670
- package/docs/pt/{busca-de-contexto.md → _arquivo/busca-de-contexto.md} +136 -129
- package/docs/pt/{cache-de-contexto.md → _arquivo/cache-de-contexto.md} +163 -156
- package/docs/pt/{cenarios.md → _arquivo/cenarios.md} +1282 -1274
- package/docs/pt/{design-hybrid-forge.md → _arquivo/design-hybrid-forge.md} +365 -356
- package/docs/pt/{deyvin.md → _arquivo/deyvin.md} +123 -115
- package/docs/pt/{guia-engineer.md → _arquivo/guia-engineer.md} +234 -226
- package/docs/pt/{inicio-rapido.md → _arquivo/inicio-rapido.md} +261 -250
- package/docs/pt/{memoria-contexto.md → _arquivo/memoria-contexto.md} +262 -255
- package/docs/pt/{monitor-de-contexto.md → _arquivo/monitor-de-contexto.md} +165 -158
- package/docs/pt/{profiler-system.md → _arquivo/profiler-system.md} +222 -214
- package/docs/pt/{recuperacao-de-sessao.md → _arquivo/recuperacao-de-sessao.md} +134 -125
- package/docs/pt/{site-forge.md → _arquivo/site-forge.md} +318 -309
- package/docs/pt/{squad-genome.md → _arquivo/squad-genome.md} +793 -783
- package/docs/pt/active-learning-loop/README.md +117 -0
- package/docs/pt/active-learning-loop/ativo-learning-loop.md +117 -0
- package/docs/pt/active-learning-loop/comandos-cli.md +320 -0
- package/docs/pt/active-learning-loop/como-usar.md +313 -0
- package/docs/pt/active-learning-loop/diagramas.md +225 -0
- package/docs/pt/active-learning-loop/doctor-checks.md +151 -0
- package/docs/pt/active-learning-loop/troubleshooting.md +283 -0
- package/docs/pt/agentes.md +996 -672
- package/docs/pt/deyvin-subtask-scout/README.md +109 -0
- package/docs/pt/deyvin-subtask-scout/comandos-cli.md +248 -0
- package/docs/pt/deyvin-subtask-scout/como-usar.md +221 -0
- package/docs/pt/deyvin-subtask-scout/diagramas.md +124 -0
- package/docs/pt/deyvin-subtask-scout/sub-task-scout.md +113 -0
- package/docs/pt/deyvin-subtask-scout/troubleshooting.md +184 -0
- package/docs/pt/living-memory/README.md +81 -0
- package/docs/pt/living-memory/autonomy-contract.md +206 -0
- package/docs/pt/living-memory/diagramas.md +365 -0
- package/docs/pt/living-memory/memoria-viva.md +141 -0
- package/docs/pt/living-memory/notificacoes-info.md +142 -0
- package/docs/pt/living-memory/reflexao-in-harness.md +218 -0
- package/docs/pt/living-memory/troubleshooting.md +286 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -23
- package/docs/testing/genome-2.0-matrix.md +36 -36
- package/docs/testing/genome-2.0-rollout.md +184 -184
- package/package.json +51 -50
- package/src/a2a/client.js +165 -165
- package/src/a2a/server.js +223 -223
- package/src/agent-loader.js +280 -280
- package/src/agent-manifests.js +86 -0
- package/src/agents.js +92 -72
- package/src/autonomy-policy.js +163 -0
- package/src/backup-local.js +74 -74
- package/src/backup-provider.js +303 -303
- package/src/brain-query.js +171 -0
- package/src/cli.js +1450 -1099
- package/src/commands/agent-audit.js +397 -397
- package/src/commands/agent-export-skill.js +229 -229
- package/src/commands/agent-loader.js +85 -85
- package/src/commands/agents.js +273 -160
- package/src/commands/artifact-validate.js +218 -189
- package/src/commands/auth.js +298 -0
- package/src/commands/backup-local-cmd.js +25 -25
- package/src/commands/backup.js +533 -533
- package/src/commands/brain-query.js +44 -0
- package/src/commands/brief-gen.js +405 -405
- package/src/commands/brief-validate.js +65 -65
- package/src/commands/briefing.js +344 -0
- package/src/commands/classify.js +256 -256
- package/src/commands/cloud.js +1767 -1767
- package/src/commands/commit-prepare.js +610 -0
- package/src/commands/compress-agents.js +416 -0
- package/src/commands/config.js +90 -90
- package/src/commands/context-cache.js +90 -90
- package/src/commands/context-compact.js +49 -49
- package/src/commands/context-health.js +187 -175
- package/src/commands/context-load.js +219 -0
- package/src/commands/context-monitor.js +163 -163
- package/src/commands/context-pack.js +45 -45
- package/src/commands/context-search.js +66 -66
- package/src/commands/context-trim.js +183 -177
- package/src/commands/context-validate.js +91 -91
- package/src/commands/design-hybrid-options.js +385 -385
- package/src/commands/detect-test-runner.js +55 -55
- package/src/commands/dev-resume.js +32 -0
- package/src/commands/devlog-export-brains.js +27 -27
- package/src/commands/devlog-process.js +294 -292
- package/src/commands/devlog-watch.js +131 -131
- package/src/commands/doctor.js +123 -123
- package/src/commands/dossier-add-research.js +114 -0
- package/src/commands/dossier-audit.js +222 -0
- package/src/commands/dossier.js +423 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +554 -165
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +247 -228
- package/src/commands/genome-doctor.js +489 -41
- package/src/commands/genome-migrate.js +49 -49
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +307 -0
- package/src/commands/health.js +214 -214
- package/src/commands/hooks-emit.js +253 -253
- package/src/commands/hooks-install.js +347 -347
- package/src/commands/i18n-add.js +56 -56
- package/src/commands/implementation-plan.js +367 -340
- package/src/commands/info.js +41 -41
- package/src/commands/init.js +120 -116
- package/src/commands/install.js +162 -107
- package/src/commands/learning-auto-promote.js +197 -195
- package/src/commands/learning-evolve.js +364 -364
- package/src/commands/learning-export.js +103 -103
- package/src/commands/learning-rollback.js +164 -164
- package/src/commands/learning.js +134 -134
- package/src/commands/live.js +2101 -1641
- package/src/commands/locale-apply.js +54 -51
- package/src/commands/locale-diff.js +25 -126
- package/src/commands/mcp-doctor.js +407 -406
- package/src/commands/mcp-init.js +373 -379
- package/src/commands/memory-archive.js +193 -0
- package/src/commands/memory-reflect-commit.js +148 -0
- package/src/commands/memory-reflect-prepare.js +97 -0
- package/src/commands/memory-restore.js +177 -0
- package/src/commands/memory-search.js +135 -0
- package/src/commands/memory.js +299 -0
- package/src/commands/notify.js +68 -0
- package/src/commands/package-e2e.js +273 -273
- package/src/commands/parallel-assign.js +483 -403
- package/src/commands/parallel-doctor.js +850 -437
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +311 -249
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +434 -290
- package/src/commands/pattern-detect.js +33 -33
- package/src/commands/preflight-context.js +30 -30
- package/src/commands/preflight.js +267 -208
- package/src/commands/pulse-update.js +130 -130
- package/src/commands/qa-doctor.js +185 -185
- package/src/commands/qa-init.js +166 -161
- package/src/commands/qa-report.js +58 -58
- package/src/commands/qa-run.js +873 -873
- package/src/commands/qa-scan.js +337 -337
- package/src/commands/recovery.js +43 -43
- package/src/commands/revision.js +235 -0
- package/src/commands/runner-daemon.js +274 -274
- package/src/commands/runner-plan.js +70 -70
- package/src/commands/runner-queue-from-plan.js +166 -166
- package/src/commands/runner-queue.js +189 -189
- package/src/commands/runner-run.js +129 -129
- package/src/commands/runtime.js +2086 -2067
- package/src/commands/sandbox.js +37 -37
- package/src/commands/scaffold-complete.js +188 -0
- package/src/commands/scan-project.js +1371 -1371
- package/src/commands/scout-commit.js +163 -0
- package/src/commands/scout-prep.js +214 -0
- package/src/commands/scout-validate.js +112 -0
- package/src/commands/security-audit.js +275 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +306 -256
- package/src/commands/session-guard.js +218 -218
- package/src/commands/setup-context.js +699 -698
- package/src/commands/setup.js +178 -178
- package/src/commands/sizing.js +165 -165
- package/src/commands/skill.js +670 -670
- package/src/commands/smoke.js +426 -426
- package/src/commands/spec-checkpoint.js +177 -177
- package/src/commands/spec-status.js +79 -79
- package/src/commands/spec-sync.js +190 -190
- package/src/commands/spec-tasks.js +288 -288
- package/src/commands/squad-agent-create.js +830 -788
- package/src/commands/squad-autorun.js +1220 -1220
- package/src/commands/squad-bus.js +217 -217
- package/src/commands/squad-card.js +149 -149
- package/src/commands/squad-daemon.js +343 -343
- package/src/commands/squad-dashboard.js +39 -39
- package/src/commands/squad-dependency-graph.js +164 -164
- package/src/commands/squad-deploy.js +64 -64
- package/src/commands/squad-doctor.js +460 -460
- package/src/commands/squad-export.js +77 -46
- package/src/commands/squad-investigate.js +314 -261
- package/src/commands/squad-learning.js +209 -209
- package/src/commands/squad-mcp.js +270 -270
- package/src/commands/squad-pipeline.js +343 -343
- package/src/commands/squad-plan.js +361 -329
- package/src/commands/squad-processes.js +56 -56
- package/src/commands/squad-recovery.js +42 -42
- package/src/commands/squad-repair-genomes.js +39 -39
- package/src/commands/squad-review.js +106 -106
- package/src/commands/squad-roi.js +291 -291
- package/src/commands/squad-scaffold.js +56 -55
- package/src/commands/squad-score.js +311 -250
- package/src/commands/squad-status.js +481 -460
- package/src/commands/squad-tool-register.js +157 -157
- package/src/commands/squad-validate.js +438 -347
- package/src/commands/squad-webhook.js +160 -160
- package/src/commands/squad-worker.js +191 -191
- package/src/commands/squad-worktrees.js +75 -75
- package/src/commands/state-save.js +122 -122
- package/src/commands/store-genome.js +667 -0
- package/src/commands/store-skill.js +247 -0
- package/src/commands/store-squad.js +431 -0
- package/src/commands/store-system.js +392 -0
- package/src/commands/sync-agents-preflight.js +176 -0
- package/src/commands/test-agents.js +199 -199
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/tool-registry-cmd.js +232 -232
- package/src/commands/update.js +64 -64
- package/src/commands/verify-gate.js +612 -572
- package/src/commands/web-map.js +70 -70
- package/src/commands/web-scrape.js +71 -71
- package/src/commands/workflow-execute.js +730 -241
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +1279 -601
- package/src/commands/workflow-plan.js +108 -108
- package/src/commands/workflow-status.js +440 -250
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +413 -417
- package/src/context-cache.js +159 -159
- package/src/context-memory.js +975 -837
- package/src/context-parse-reason.js +22 -22
- package/src/context-search.js +326 -326
- package/src/context-writer.js +197 -196
- package/src/context.js +247 -217
- package/src/delivery-runner.js +319 -319
- package/src/design-variation-catalog.js +503 -503
- package/src/detector.js +261 -261
- package/src/doctor.js +760 -289
- package/src/dossier/codemap-store.js +267 -0
- package/src/dossier/dossier-bootstrap.js +222 -0
- package/src/dossier/dossier-compact.js +159 -0
- package/src/dossier/lock.js +128 -0
- package/src/dossier/research-index-store.js +233 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +162 -0
- package/src/dossier/scout-section.js +127 -0
- package/src/dossier/store.js +406 -0
- package/src/execution-gateway.js +464 -461
- package/src/friction-scanner.js +202 -0
- package/src/genome-files.js +198 -198
- package/src/genome-format.js +442 -442
- package/src/genome-schema.js +238 -215
- package/src/genomes/bindings.js +281 -281
- package/src/genomes.js +500 -467
- package/src/handoff-contract.js +417 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/index.js +103 -103
- package/src/i18n/messages/en.js +1541 -1139
- package/src/i18n/messages/es.js +1325 -980
- package/src/i18n/messages/fr.js +1333 -987
- package/src/i18n/messages/pt-BR.js +1561 -1166
- package/src/i18n/scaffold.js +64 -64
- package/src/install-animation.js +260 -260
- package/src/install-profile.js +127 -143
- package/src/install-wizard.js +475 -475
- package/src/installer-config-merge.js +207 -0
- package/src/installer.js +449 -294
- package/src/learning-loop-archive.js +595 -0
- package/src/learning-loop-doctor.js +217 -0
- package/src/learning-loop-engine.js +254 -0
- package/src/learning-loop-fts5.js +132 -0
- package/src/learning-loop-migration.js +163 -0
- package/src/lib/dev-resume.js +140 -0
- package/src/lib/dossier-telemetry.js +36 -0
- package/src/lib/genomes/compat.js +206 -206
- package/src/lib/genomes/migrate.js +90 -90
- package/src/lib/git-commit-guard.js +751 -0
- package/src/lib/health-check.js +158 -158
- package/src/lib/hook-protocol.js +76 -76
- package/src/lib/llm-content-sanitizer.js +44 -0
- package/src/lib/security/artifact-reader.js +167 -0
- package/src/lib/security/exit-codes.js +51 -0
- package/src/lib/security/findings-writer.js +176 -0
- package/src/lib/security/runtime-events.js +77 -0
- package/src/lib/security/secrets-regex.js +115 -0
- package/src/lib/squads/genome-repair.js +49 -49
- package/src/lib/store/security-scan.js +175 -0
- package/src/lib/terminal-checkbox.js +135 -0
- package/src/lib/terminal-picker.js +447 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/lib/webhook-server.js +328 -328
- package/src/locales.js +88 -84
- package/src/mcp/apps/squad-dashboard/app.js +163 -163
- package/src/mcp/apps/squad-dashboard/index.html +261 -261
- package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -23
- package/src/mcp/resources/squad-state.js +130 -130
- package/src/mcp-connectors/registry.js +602 -602
- package/src/memory-reflect-engine.js +359 -0
- package/src/notify-renderer.js +32 -0
- package/src/onboarding.js +305 -305
- package/src/parallel-workspace.js +756 -0
- package/src/parser.js +66 -59
- package/src/path-guard.js +47 -0
- package/src/permissions-generator.js +400 -0
- package/src/preflight-engine.js +654 -443
- package/src/prompt-tool.js +20 -20
- package/src/qa-html-report.js +472 -472
- package/src/recovery-context-session.js +154 -154
- package/src/runner/cascade.js +97 -97
- package/src/runner/cli-launcher.js +109 -109
- package/src/runner/plan-importer.js +63 -63
- package/src/runner/queue-store.js +159 -159
- package/src/runtime-store.js +2720 -2676
- package/src/sandbox.js +194 -177
- package/src/self-healing.js +142 -0
- package/src/session-handoff.js +295 -77
- package/src/squad/agent-teams-adapter.js +270 -264
- package/src/squad/brief-validator.js +350 -350
- package/src/squad/bus-bridge.js +140 -140
- package/src/squad/context-compactor.js +265 -265
- package/src/squad/cross-ai-synthesizer.js +250 -250
- package/src/squad/external-session.js +180 -180
- package/src/squad/hooks-generator.js +196 -196
- package/src/squad/inter-squad-events.js +175 -175
- package/src/squad/inter-squad.js +74 -74
- package/src/squad/intra-bus.js +345 -345
- package/src/squad/learning-extractor.js +213 -213
- package/src/squad/pattern-detector.js +365 -365
- package/src/squad/preflight-context.js +296 -296
- package/src/squad/recovery-context.js +372 -372
- package/src/squad/reflection.js +365 -365
- package/src/squad/squad-scaffold.js +341 -177
- package/src/squad/state-manager.js +310 -310
- package/src/squad/task-decomposer.js +652 -652
- package/src/squad/verify-gate.js +303 -303
- package/src/squad/worktree-manager.js +114 -114
- package/src/squad-daemon.js +490 -490
- package/src/squad-dashboard/api.js +223 -223
- package/src/squad-dashboard/attachment-handler.js +93 -93
- package/src/squad-dashboard/context-monitor.js +157 -157
- package/src/squad-dashboard/execution-logs.js +115 -115
- package/src/squad-dashboard/hunk-review.js +209 -209
- package/src/squad-dashboard/metrics.js +133 -133
- package/src/squad-dashboard/process-monitor.js +125 -125
- package/src/squad-dashboard/renderer.js +858 -858
- package/src/squad-dashboard/server.js +232 -232
- package/src/squad-dashboard/styles.js +525 -525
- package/src/squad-dashboard/token-tracker.js +99 -99
- package/src/squads/apply-genome.js +21 -21
- package/src/squads/genome-binding-service.js +154 -154
- package/src/sub-task-engine.js +415 -0
- package/src/sub-task-schemas.js +150 -0
- package/src/sub-task-state.js +152 -0
- package/src/sub-task-telemetry.js +69 -0
- package/src/test-briefing.js +226 -0
- package/src/tool-executor.js +94 -94
- package/src/updater.js +39 -39
- package/src/utils.js +49 -46
- package/src/version.js +50 -50
- package/src/web.js +284 -284
- package/src/worker-runner.js +541 -524
- package/src/workflow-gates.js +185 -0
- package/template/.aioson/advisors/.gitkeep +1 -1
- package/template/.aioson/agents/analyst.md +333 -372
- package/template/.aioson/agents/architect.md +325 -338
- package/template/.aioson/agents/briefing.md +264 -0
- package/template/.aioson/agents/committer.md +161 -0
- package/template/.aioson/agents/copywriter.md +937 -463
- package/template/.aioson/agents/design-hybrid-forge.md +141 -141
- package/template/.aioson/agents/dev.md +295 -779
- package/template/.aioson/agents/deyvin.md +198 -290
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +56 -264
- package/template/.aioson/agents/genome.md +1904 -314
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
- package/template/.aioson/agents/manifests/dev.manifest.json +54 -0
- package/template/.aioson/agents/manifests/deyvin.manifest.json +41 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
- package/template/.aioson/agents/manifests/product.manifest.json +23 -0
- package/template/.aioson/agents/manifests/qa.manifest.json +41 -0
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
- package/template/.aioson/agents/neo.md +341 -233
- package/template/.aioson/agents/orache.md +430 -434
- package/template/.aioson/agents/orchestrator.md +274 -364
- package/template/.aioson/agents/pair.md +5 -5
- package/template/.aioson/agents/pentester.md +289 -0
- package/template/.aioson/agents/pm.md +141 -194
- package/template/.aioson/agents/product.md +351 -518
- package/template/.aioson/agents/profiler-enricher.md +331 -280
- package/template/.aioson/agents/profiler-forge.md +212 -202
- package/template/.aioson/agents/profiler-researcher.md +282 -259
- package/template/.aioson/agents/qa.md +432 -688
- package/template/.aioson/agents/setup.md +423 -649
- package/template/.aioson/agents/sheldon.md +259 -829
- package/template/.aioson/agents/site-forge.md +281 -1753
- package/template/.aioson/agents/squad.md +160 -2027
- package/template/.aioson/agents/tester.md +536 -463
- package/template/.aioson/agents/ux-ui.md +195 -870
- package/template/.aioson/agents/validator.md +101 -0
- package/template/.aioson/brains/README.md +132 -128
- package/template/.aioson/brains/_archived/.gitkeep +0 -0
- package/template/.aioson/brains/_index.json +34 -16
- package/template/.aioson/brains/dev/patterns.brain.json +79 -0
- package/template/.aioson/brains/scripts/query.js +107 -103
- package/template/.aioson/brains/sheldon/architecture-decisions.brain.json +79 -0
- package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -205
- package/template/.aioson/config/autonomy-protocol.json +125 -0
- package/template/.aioson/config/learning-loop.json +10 -0
- package/template/.aioson/config/scout-engine.json +1 -0
- package/template/.aioson/config.md +410 -382
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/_archived/.gitkeep +0 -0
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- package/template/.aioson/context/project-pulse.md +34 -34
- package/template/.aioson/context/seeds/seed-example.md +27 -27
- package/template/.aioson/context/spec.md.template +54 -54
- package/template/.aioson/context/user-profile.md +42 -42
- package/template/.aioson/design-docs/code-reuse.md +48 -0
- package/template/.aioson/design-docs/componentization.md +47 -0
- package/template/.aioson/design-docs/file-size.md +52 -0
- package/template/.aioson/design-docs/folder-structure.md +51 -0
- package/template/.aioson/design-docs/naming.md +54 -0
- package/template/.aioson/docs/LAYERS.md +89 -79
- package/template/.aioson/docs/README.md +76 -76
- package/template/.aioson/docs/autonomy-protocol.md +80 -0
- package/template/.aioson/docs/briefing/briefing-craft.md +237 -0
- package/template/.aioson/docs/dev/execution-discipline.md +106 -0
- package/template/.aioson/docs/dev/stack-conventions.md +83 -0
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
- package/template/.aioson/docs/example-external-api-context.md +72 -72
- package/template/.aioson/docs/pentester/app-playbooks.md +206 -0
- package/template/.aioson/docs/pentester/llm-supplychain.md +165 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -0
- package/template/.aioson/docs/product/prd-contract.md +107 -0
- package/template/.aioson/docs/product/quality-lens.md +57 -0
- package/template/.aioson/docs/product/research-loop.md +65 -0
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
- package/template/.aioson/docs/sheldon/harness-contract.md +118 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
- package/template/.aioson/docs/sheldon/research-loop.md +56 -0
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
- package/template/.aioson/docs/site-forge-build.md +195 -0
- package/template/.aioson/docs/site-forge-extraction.md +135 -0
- package/template/.aioson/docs/site-forge-qa.md +155 -0
- package/template/.aioson/docs/site-forge-recon.md +434 -0
- package/template/.aioson/docs/site-forge-transform.md +249 -0
- package/template/.aioson/docs/squad/content-output.md +91 -0
- package/template/.aioson/docs/squad/creation-flow.md +149 -0
- package/template/.aioson/docs/squad/domain-breadth.md +322 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -0
- package/template/.aioson/docs/squad/genome-bindings.md +47 -0
- package/template/.aioson/docs/squad/package-contract.md +260 -0
- package/template/.aioson/docs/squad/quality-lens.md +60 -0
- package/template/.aioson/docs/squad/research-loop.md +59 -0
- package/template/.aioson/docs/squad/session-operations.md +117 -0
- package/template/.aioson/docs/squad/workflow-quality.md +165 -0
- package/template/.aioson/docs/tester/coverage-quality.md +351 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
- package/template/.aioson/docs/ux-ui/component-map.md +35 -0
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
- package/template/.aioson/genomes/INDEX.md +195 -0
- package/template/.aioson/genomes/copywriting/SKILL.md +137 -0
- package/template/.aioson/genomes/copywriting/manifest.json +140 -0
- package/template/.aioson/genomes/copywriting/references/application-notes.md +145 -0
- package/template/.aioson/genomes/copywriting/references/decision-weights.md +45 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/5-act-narrative.md +184 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/classical-formulas.md +164 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/offer-stack.md +195 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/one-belief.md +135 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/pms-research.md +211 -0
- package/template/.aioson/genomes/copywriting/references/frameworks/two-paths-close.md +190 -0
- package/template/.aioson/genomes/copywriting/references/heuristics.md +114 -0
- package/template/.aioson/genomes/copywriting/references/meta-axioms.md +68 -0
- package/template/.aioson/genomes/copywriting/references/methodology.md +115 -0
- package/template/.aioson/genomes/copywriting-brunson/SKILL.md +133 -0
- package/template/.aioson/genomes/copywriting-brunson/manifest.json +152 -0
- package/template/.aioson/genomes/copywriting-brunson/references/application-notes.md +113 -0
- package/template/.aioson/genomes/copywriting-brunson/references/decision-weights.md +33 -0
- package/template/.aioson/genomes/copywriting-brunson/references/evidence-and-attribution.md +81 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/6-part-structure.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/origin-story.md +121 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/perfect-webinar-script.md +139 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/persuasive-storytelling-5-structures.md +164 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/value-stack.md +136 -0
- package/template/.aioson/genomes/copywriting-brunson/references/frameworks/who-what-why-how.md +110 -0
- package/template/.aioson/genomes/copywriting-brunson/references/meta-axioms.md +36 -0
- package/template/.aioson/genomes/copywriting-brunson/references/methodology.md +112 -0
- package/template/.aioson/git-guard.json +12 -0
- package/template/.aioson/mcp/servers.md +23 -24
- package/template/.aioson/profiler-reports/.gitkeep +1 -1
- package/template/.aioson/rules/README.md +69 -69
- package/template/.aioson/rules/_archived/.gitkeep +0 -0
- package/template/.aioson/rules/agent-language-policy.md +93 -0
- package/template/.aioson/rules/aioson-context-boundary.md +63 -0
- package/template/.aioson/rules/canonical-path-contract.md +47 -0
- package/template/.aioson/rules/data-format-convention.md +74 -136
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/example-monetary-values.md +30 -30
- package/template/.aioson/rules/output-brevity.md +44 -0
- package/template/.aioson/rules/prd-section-ownership.md +49 -0
- package/template/.aioson/rules/security-baseline.md +139 -0
- package/template/.aioson/rules/spec-level-ownership.md +61 -0
- package/template/.aioson/rules/squad/README.md +50 -50
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -30
- package/template/.aioson/schemas/genome-meta.schema.json +150 -150
- package/template/.aioson/schemas/genome.schema.json +115 -115
- package/template/.aioson/schemas/readiness.schema.json +27 -27
- package/template/.aioson/schemas/squad-blueprint.schema.json +228 -204
- package/template/.aioson/schemas/squad-manifest.schema.json +874 -830
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -368
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -165
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
- package/template/.aioson/skills/design-system/SKILL.md +92 -92
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -274
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -184
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -250
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -197
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -231
- package/template/.aioson/skills/dynamic/README.md +30 -30
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -16
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -17
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -13
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -41
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -16
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -16
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -254
- package/template/.aioson/skills/marketing/references/cta-matrix.md +361 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -192
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -248
- package/template/.aioson/skills/marketing/references/headline-matrix.md +358 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -198
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -203
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -149
- package/template/.aioson/skills/marketing/references/patterns.md +218 -218
- package/template/.aioson/skills/marketing/references/platform-constraints.md +337 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -193
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -385
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -83
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -92
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -102
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -136
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -188
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -131
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -198
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -275
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -234
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -147
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -142
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -46
- package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -109
- package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -23
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -44
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -37
- package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -47
- package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -27
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -49
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -101
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -30
- package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -25
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -75
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -147
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -221
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -88
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -306
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -149
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -208
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -125
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
- package/template/.aioson/skills/process/simplify/SKILL.md +173 -173
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -79
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -253
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -82
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -270
- package/template/.aioson/skills/squad/SKILL.md +58 -58
- package/template/.aioson/skills/squad/formats/catalog.json +15 -15
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -47
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -47
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -43
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -41
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -42
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -42
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -39
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -39
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -47
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -39
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -108
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -98
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -106
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -81
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -122
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -123
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -169
- package/template/.aioson/skills/static/context-budget-guide.md +46 -46
- package/template/.aioson/skills/static/debugging-protocol.md +42 -42
- package/template/.aioson/skills/static/django-patterns.md +342 -342
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -344
- package/template/.aioson/skills/static/filament-patterns.md +267 -267
- package/template/.aioson/skills/static/flux-ui-components.md +262 -262
- package/template/.aioson/skills/static/git-conventions.md +227 -227
- package/template/.aioson/skills/static/git-worktrees.md +36 -36
- package/template/.aioson/skills/static/harness-sensors.md +74 -74
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
- package/template/.aioson/skills/static/jetstream-setup.md +200 -200
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -192
- package/template/.aioson/skills/static/landing-page-forge.md +730 -730
- package/template/.aioson/skills/static/laravel-conventions.md +491 -491
- package/template/.aioson/skills/static/multi-agent-patterns.md +43 -43
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -321
- package/template/.aioson/skills/static/node-express-patterns.md +317 -317
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -282
- package/template/.aioson/skills/static/rails-conventions.md +307 -307
- package/template/.aioson/skills/static/react-motion-patterns.md +599 -599
- package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -43
- package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -609
- package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -193
- package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -711
- package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -209
- package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -190
- package/template/.aioson/skills/static/static-html-patterns.md +80 -80
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -286
- package/template/.aioson/skills/static/threejs-patterns.md +929 -929
- package/template/.aioson/skills/static/ui-ux-modern.md +76 -76
- package/template/.aioson/skills/static/web-research-cache.md +115 -112
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -337
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -310
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -284
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -324
- package/template/.aioson/squads/memory.md +5 -5
- package/template/.aioson/tasks/implementation-plan.md +327 -327
- package/template/.aioson/tasks/squad-analyze.md +83 -83
- package/template/.aioson/tasks/squad-create.md +148 -121
- package/template/.aioson/tasks/squad-design.md +206 -158
- package/template/.aioson/tasks/squad-execution-plan.md +279 -279
- package/template/.aioson/tasks/squad-export.md +20 -20
- package/template/.aioson/tasks/squad-extend.md +68 -68
- package/template/.aioson/tasks/squad-investigate.md +57 -44
- package/template/.aioson/tasks/squad-learning-review.md +44 -44
- package/template/.aioson/tasks/squad-output-config.md +177 -177
- package/template/.aioson/tasks/squad-pipeline.md +122 -122
- package/template/.aioson/tasks/squad-profile.md +48 -48
- package/template/.aioson/tasks/squad-refresh.md +236 -0
- package/template/.aioson/tasks/squad-repair.md +85 -85
- package/template/.aioson/tasks/squad-review.md +61 -61
- package/template/.aioson/tasks/squad-task-decompose.md +66 -66
- package/template/.aioson/tasks/squad-validate.md +58 -58
- package/template/.aioson/templates/reflect-prompts/current-state.md +36 -0
- package/template/.aioson/templates/reflect-prompts/how-it-works.md +23 -0
- package/template/.aioson/templates/reflect-prompts/what-it-does.md +21 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -21
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -96
- package/template/.aioson/templates/squads/media-channel/template.json +24 -24
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -22
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -21
- package/template/.claude/commands/aioson/agent/analyst.md +5 -5
- package/template/.claude/commands/aioson/agent/architect.md +5 -5
- package/template/.claude/commands/aioson/agent/briefing.md +5 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -0
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
- package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/dev.md +5 -5
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -5
- package/template/.claude/commands/aioson/agent/discover.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -5
- package/template/.claude/commands/aioson/agent/genome.md +5 -5
- package/template/.claude/commands/aioson/agent/neo.md +5 -5
- package/template/.claude/commands/aioson/agent/orache.md +5 -5
- package/template/.claude/commands/aioson/agent/orchestrator.md +5 -5
- package/template/.claude/commands/aioson/agent/pair.md +5 -0
- package/template/.claude/commands/aioson/agent/pentester.md +5 -0
- package/template/.claude/commands/aioson/agent/pm.md +5 -5
- package/template/.claude/commands/aioson/agent/product.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -5
- package/template/.claude/commands/aioson/agent/qa.md +5 -5
- package/template/.claude/commands/aioson/agent/setup.md +5 -5
- package/template/.claude/commands/aioson/agent/sheldon.md +5 -5
- package/template/.claude/commands/aioson/agent/site-forge.md +5 -5
- package/template/.claude/commands/aioson/agent/squad.md +5 -5
- package/template/.claude/commands/aioson/agent/tester.md +5 -5
- package/template/.claude/commands/aioson/agent/ux-ui.md +5 -5
- package/template/.claude/commands/aioson/agent/validator.md +5 -0
- package/template/.gemini/GEMINI.md +13 -13
- package/template/.gemini/commands/aios-analyst.toml +7 -4
- package/template/.gemini/commands/aios-architect.toml +8 -7
- package/template/.gemini/commands/aios-committer.toml +7 -0
- package/template/.gemini/commands/aios-copywriter.toml +7 -0
- package/template/.gemini/commands/aios-cypher.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +9 -8
- package/template/.gemini/commands/aios-deyvin.toml +7 -6
- package/template/.gemini/commands/aios-discover.toml +6 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +7 -4
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +6 -4
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +9 -8
- package/template/.gemini/commands/aios-pair.toml +7 -6
- package/template/.gemini/commands/aios-pm.toml +9 -8
- package/template/.gemini/commands/aios-product.toml +6 -4
- package/template/.gemini/commands/aios-qa.toml +7 -6
- package/template/.gemini/commands/aios-setup.toml +6 -3
- package/template/.gemini/commands/aios-sheldon.toml +7 -0
- package/template/.gemini/commands/aios-site-forge.toml +7 -0
- package/template/.gemini/commands/aios-squad.toml +7 -0
- package/template/.gemini/commands/aios-tester.toml +7 -6
- package/template/.gemini/commands/aios-ux-ui.toml +9 -8
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +184 -172
- package/template/CLAUDE.md +98 -93
- package/template/OPENCODE.md +35 -34
- package/template/aioson-models.json +40 -40
- package/docs/en/i18n.md +0 -52
- package/docs/en/schemas/parallel-status.schema.json +0 -94
- package/template/.aioson/genomes/copywriting.md +0 -204
- package/template/.aioson/locales/en/agents/analyst.md +0 -244
- package/template/.aioson/locales/en/agents/architect.md +0 -245
- package/template/.aioson/locales/en/agents/dev.md +0 -397
- package/template/.aioson/locales/en/agents/deyvin.md +0 -137
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
- package/template/.aioson/locales/en/agents/genome.md +0 -212
- package/template/.aioson/locales/en/agents/neo.md +0 -8
- package/template/.aioson/locales/en/agents/orache.md +0 -6
- package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
- package/template/.aioson/locales/en/agents/pair.md +0 -5
- package/template/.aioson/locales/en/agents/pm.md +0 -84
- package/template/.aioson/locales/en/agents/product.md +0 -378
- package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/en/agents/qa.md +0 -270
- package/template/.aioson/locales/en/agents/setup.md +0 -421
- package/template/.aioson/locales/en/agents/sheldon.md +0 -455
- package/template/.aioson/locales/en/agents/squad.md +0 -449
- package/template/.aioson/locales/en/agents/tester.md +0 -6
- package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
- package/template/.aioson/locales/es/agents/analyst.md +0 -225
- package/template/.aioson/locales/es/agents/architect.md +0 -245
- package/template/.aioson/locales/es/agents/dev.md +0 -370
- package/template/.aioson/locales/es/agents/deyvin.md +0 -99
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/es/agents/genome.md +0 -104
- package/template/.aioson/locales/es/agents/neo.md +0 -50
- package/template/.aioson/locales/es/agents/orache.md +0 -105
- package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/es/agents/pair.md +0 -7
- package/template/.aioson/locales/es/agents/pm.md +0 -90
- package/template/.aioson/locales/es/agents/product.md +0 -372
- package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/es/agents/qa.md +0 -198
- package/template/.aioson/locales/es/agents/setup.md +0 -405
- package/template/.aioson/locales/es/agents/sheldon.md +0 -309
- package/template/.aioson/locales/es/agents/squad.md +0 -532
- package/template/.aioson/locales/es/agents/tester.md +0 -9
- package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/fr/agents/analyst.md +0 -225
- package/template/.aioson/locales/fr/agents/architect.md +0 -245
- package/template/.aioson/locales/fr/agents/dev.md +0 -370
- package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/fr/agents/genome.md +0 -104
- package/template/.aioson/locales/fr/agents/neo.md +0 -50
- package/template/.aioson/locales/fr/agents/orache.md +0 -106
- package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/fr/agents/pair.md +0 -7
- package/template/.aioson/locales/fr/agents/pm.md +0 -90
- package/template/.aioson/locales/fr/agents/product.md +0 -372
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/fr/agents/qa.md +0 -198
- package/template/.aioson/locales/fr/agents/setup.md +0 -405
- package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
- package/template/.aioson/locales/fr/agents/squad.md +0 -532
- package/template/.aioson/locales/fr/agents/tester.md +0 -9
- package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
- package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
- package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
- package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
- package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
- package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
- package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
- package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
- package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
- package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
- package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
|
@@ -1,524 +1,524 @@
|
|
|
1
|
-
# Design Tokens — Cognitive Core UI
|
|
2
|
-
|
|
3
|
-
All components and patterns depend on these tokens. Load this file first before any other reference.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Typography strategy
|
|
8
|
-
|
|
9
|
-
Default to **system fonts** first. Add Google Fonts only when the agent decides the stack, product context, and delivery constraints justify them.
|
|
10
|
-
|
|
11
|
-
**System font stack (default — works everywhere, no CDN needed):**
|
|
12
|
-
```css
|
|
13
|
-
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
14
|
-
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
15
|
-
--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
**Google Fonts (optional — use when building the Mentes Sintéticas aesthetic explicitly):**
|
|
19
|
-
```css
|
|
20
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');
|
|
21
|
-
|
|
22
|
-
--font-display: 'Inter', system-ui, sans-serif;
|
|
23
|
-
--font-body: 'Inter', system-ui, sans-serif;
|
|
24
|
-
--font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Complete CSS Variables
|
|
30
|
-
|
|
31
|
-
Include this full block in every project.
|
|
32
|
-
|
|
33
|
-
```css
|
|
34
|
-
/* ═══════════════════════════════════════════
|
|
35
|
-
SHARED TOKENS — in :root (see Token Scope Guardrails)
|
|
36
|
-
═══════════════════════════════════════════ */
|
|
37
|
-
:root {
|
|
38
|
-
/* Typography (set defaults here; override with Google Fonts if needed) */
|
|
39
|
-
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
40
|
-
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
41
|
-
--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
|
|
42
|
-
|
|
43
|
-
/* Font Sizes */
|
|
44
|
-
--text-xs: 0.72rem; /* 11.5px — micro labels, mono uppercase */
|
|
45
|
-
--text-sm: 0.82rem; /* 13px */
|
|
46
|
-
--text-base: 0.95rem; /* 15px — default body */
|
|
47
|
-
--text-lg: 1rem; /* 16px */
|
|
48
|
-
--text-xl: 1.25rem; /* 20px */
|
|
49
|
-
--text-2xl: 1.6rem; /* 25.6px */
|
|
50
|
-
--text-3xl: 2.2rem; /* 35px */
|
|
51
|
-
--text-4xl: 3rem; /* 48px — stat numbers */
|
|
52
|
-
--text-5xl: 4rem; /* 64px — hero headings */
|
|
53
|
-
|
|
54
|
-
/* Font Weights */
|
|
55
|
-
--weight-light: 300;
|
|
56
|
-
--weight-normal: 400;
|
|
57
|
-
--weight-medium: 500;
|
|
58
|
-
--weight-semibold: 600;
|
|
59
|
-
--weight-bold: 700;
|
|
60
|
-
--weight-black: 800;
|
|
61
|
-
|
|
62
|
-
/* Letter Spacing */
|
|
63
|
-
--tracking-tight: -0.025em;
|
|
64
|
-
--tracking-normal: 0;
|
|
65
|
-
--tracking-wide: 0.04em;
|
|
66
|
-
--tracking-wider: 0.08em;
|
|
67
|
-
--tracking-widest: 0.12em;
|
|
68
|
-
|
|
69
|
-
/* Line Height */
|
|
70
|
-
--leading-none: 1;
|
|
71
|
-
--leading-tight: 1.08;
|
|
72
|
-
--leading-snug: 1.24;
|
|
73
|
-
--leading-normal: 1.5;
|
|
74
|
-
--leading-relaxed: 1.68;
|
|
75
|
-
|
|
76
|
-
/* Spacing */
|
|
77
|
-
--space-0: 0;
|
|
78
|
-
--space-1: 0.25rem;
|
|
79
|
-
--space-2: 0.5rem;
|
|
80
|
-
--space-3: 0.75rem;
|
|
81
|
-
--space-4: 1rem;
|
|
82
|
-
--space-5: 1.25rem;
|
|
83
|
-
--space-6: 1.5rem;
|
|
84
|
-
--space-8: 2rem;
|
|
85
|
-
--space-10: 2.5rem;
|
|
86
|
-
--space-12: 3rem;
|
|
87
|
-
--space-16: 4rem;
|
|
88
|
-
--space-20: 5rem;
|
|
89
|
-
--space-24: 6rem;
|
|
90
|
-
|
|
91
|
-
/* Border Radius */
|
|
92
|
-
--radius-sm: 0.375rem;
|
|
93
|
-
--radius-md: 0.625rem;
|
|
94
|
-
--radius-lg: 0.875rem;
|
|
95
|
-
--radius-xl: 1.125rem;
|
|
96
|
-
--radius-2xl: 1.5rem;
|
|
97
|
-
--radius-full: 9999px;
|
|
98
|
-
|
|
99
|
-
/* Interactive element heights */
|
|
100
|
-
--control-xs: 1.75rem;
|
|
101
|
-
--control-sm: 2rem;
|
|
102
|
-
--control-md: 2.5rem;
|
|
103
|
-
--control-lg: 3rem;
|
|
104
|
-
|
|
105
|
-
/* Transitions */
|
|
106
|
-
--transition-fast: 140ms ease;
|
|
107
|
-
--transition-base: 200ms ease;
|
|
108
|
-
--transition-slow: 300ms ease;
|
|
109
|
-
--transition-theme: background 240ms ease, color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
|
|
110
|
-
|
|
111
|
-
/* Shared interaction tokens */
|
|
112
|
-
--focus-ring-width: 2px;
|
|
113
|
-
--focus-ring-offset: 2px;
|
|
114
|
-
|
|
115
|
-
/* Z-index */
|
|
116
|
-
--z-base: 0;
|
|
117
|
-
--z-elevated: 10;
|
|
118
|
-
--z-dropdown: 20;
|
|
119
|
-
--z-sticky: 30;
|
|
120
|
-
--z-modal: 50;
|
|
121
|
-
--z-toast: 60;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/* ═══════════════════════════════════════════
|
|
125
|
-
DARK THEME
|
|
126
|
-
═══════════════════════════════════════════ */
|
|
127
|
-
[data-theme="dark"] {
|
|
128
|
-
/* Backgrounds — layered navy depth */
|
|
129
|
-
--bg-void: #060910;
|
|
130
|
-
--bg-base: #0b0f15;
|
|
131
|
-
--bg-surface: #111827;
|
|
132
|
-
--bg-elevated: #172133;
|
|
133
|
-
--bg-overlay: #223148;
|
|
134
|
-
|
|
135
|
-
/* Borders */
|
|
136
|
-
--border-subtle: rgba(255, 255, 255, 0.06);
|
|
137
|
-
--border-medium: rgba(255, 255, 255, 0.10);
|
|
138
|
-
--border-strong: rgba(255, 255, 255, 0.16);
|
|
139
|
-
--border-accent: rgba(34, 211, 238, 0.26);
|
|
140
|
-
--border-accent-strong: rgba(34, 211, 238, 0.50);
|
|
141
|
-
|
|
142
|
-
/* Text */
|
|
143
|
-
--text-heading: #f7fafc;
|
|
144
|
-
--text-primary: #dbe4ee;
|
|
145
|
-
--text-secondary: #95a3b8;
|
|
146
|
-
--text-muted: #6b778c;
|
|
147
|
-
--text-accent: #34d8ff;
|
|
148
|
-
--text-inverse: #081018;
|
|
149
|
-
|
|
150
|
-
/* Accent — teal/cyan */
|
|
151
|
-
--accent: #22d3ee;
|
|
152
|
-
--accent-strong: #09bfe0;
|
|
153
|
-
--accent-dim: rgba(34, 211, 238, 0.16);
|
|
154
|
-
--accent-glow: rgba(34, 211, 238, 0.12);
|
|
155
|
-
--accent-subtle: rgba(34, 211, 238, 0.08);
|
|
156
|
-
--accent-hover: #06b6d4;
|
|
157
|
-
--accent-contrast: #07131a;
|
|
158
|
-
|
|
159
|
-
/* Semantic */
|
|
160
|
-
--semantic-green: #16c784;
|
|
161
|
-
--semantic-green-dim: rgba(22, 199, 132, 0.18);
|
|
162
|
-
--semantic-amber: #f4a91d;
|
|
163
|
-
--semantic-amber-dim: rgba(244, 169, 29, 0.18);
|
|
164
|
-
--semantic-red: #ff5a67;
|
|
165
|
-
--semantic-red-dim: rgba(255, 90, 103, 0.18);
|
|
166
|
-
--semantic-blue: #59a7ff;
|
|
167
|
-
--semantic-blue-dim: rgba(89, 167, 255, 0.18);
|
|
168
|
-
--semantic-purple: #a78bfa;
|
|
169
|
-
--semantic-purple-dim: rgba(167, 139, 250, 0.18);
|
|
170
|
-
|
|
171
|
-
/* Shadows */
|
|
172
|
-
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.22);
|
|
173
|
-
--shadow-md: 0 8px 24px rgba(0, 0, 0, 0.32);
|
|
174
|
-
--shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.44);
|
|
175
|
-
--shadow-glow: 0 0 0 1px rgba(34, 211, 238, 0.05), 0 10px 28px rgba(3, 12, 22, 0.42);
|
|
176
|
-
--shadow-glow-strong: 0 0 30px rgba(34, 211, 238, 0.20), 0 0 10px rgba(34, 211, 238, 0.10);
|
|
177
|
-
|
|
178
|
-
/* Scrollbar */
|
|
179
|
-
--scrollbar-track: #0b0f15;
|
|
180
|
-
--scrollbar-thumb: #172133;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/* ═══════════════════════════════════════════
|
|
184
|
-
LIGHT THEME
|
|
185
|
-
═══════════════════════════════════════════ */
|
|
186
|
-
[data-theme="light"] {
|
|
187
|
-
/* Backgrounds — layered white/gray */
|
|
188
|
-
--bg-void: #edf3f9;
|
|
189
|
-
--bg-base: #f5f8fc;
|
|
190
|
-
--bg-surface: #ffffff;
|
|
191
|
-
--bg-elevated: #eaf0f6;
|
|
192
|
-
--bg-overlay: #dde8f1;
|
|
193
|
-
|
|
194
|
-
/* Borders */
|
|
195
|
-
--border-subtle: rgba(12, 23, 40, 0.07);
|
|
196
|
-
--border-medium: rgba(12, 23, 40, 0.12);
|
|
197
|
-
--border-strong: rgba(12, 23, 40, 0.18);
|
|
198
|
-
--border-accent: rgba(14, 165, 233, 0.22);
|
|
199
|
-
--border-accent-strong: rgba(14, 165, 233, 0.42);
|
|
200
|
-
|
|
201
|
-
/* Text */
|
|
202
|
-
--text-heading: #0f172a;
|
|
203
|
-
--text-primary: #334155;
|
|
204
|
-
--text-secondary: #61748a;
|
|
205
|
-
--text-muted: #8b9aae;
|
|
206
|
-
--text-accent: #0f766e;
|
|
207
|
-
--text-inverse: #f8fbff;
|
|
208
|
-
|
|
209
|
-
/* Accent — deeper teal for AA-friendly buttons and links */
|
|
210
|
-
--accent: #0f766e;
|
|
211
|
-
--accent-strong: #115e59;
|
|
212
|
-
--accent-dim: rgba(15, 118, 110, 0.10);
|
|
213
|
-
--accent-glow: rgba(15, 118, 110, 0.08);
|
|
214
|
-
--accent-subtle: rgba(15, 118, 110, 0.05);
|
|
215
|
-
--accent-hover: #115e59;
|
|
216
|
-
--accent-contrast: #f8fbff;
|
|
217
|
-
|
|
218
|
-
/* Semantic */
|
|
219
|
-
--semantic-green: #059669;
|
|
220
|
-
--semantic-green-dim: rgba(5, 150, 105, 0.10);
|
|
221
|
-
--semantic-amber: #d97706;
|
|
222
|
-
--semantic-amber-dim: rgba(217, 119, 6, 0.10);
|
|
223
|
-
--semantic-red: #dc2626;
|
|
224
|
-
--semantic-red-dim: rgba(220, 38, 38, 0.10);
|
|
225
|
-
--semantic-blue: #2563eb;
|
|
226
|
-
--semantic-blue-dim: rgba(37, 99, 235, 0.10);
|
|
227
|
-
--semantic-purple: #7c3aed;
|
|
228
|
-
--semantic-purple-dim: rgba(124, 58, 237, 0.10);
|
|
229
|
-
|
|
230
|
-
/* Shadows */
|
|
231
|
-
--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
|
|
232
|
-
--shadow-md: 0 12px 30px rgba(15, 23, 42, 0.08);
|
|
233
|
-
--shadow-lg: 0 20px 48px rgba(15, 23, 42, 0.12);
|
|
234
|
-
--shadow-glow: 0 0 0 1px rgba(14, 165, 233, 0.04), 0 14px 28px rgba(15, 23, 42, 0.06);
|
|
235
|
-
--shadow-glow-strong: 0 4px 16px rgba(14, 165, 233, 0.12);
|
|
236
|
-
|
|
237
|
-
/* Scrollbar */
|
|
238
|
-
--scrollbar-track: #f5f8fc;
|
|
239
|
-
--scrollbar-thumb: #cbd5e1;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/* ═══════════════════════════════════════════
|
|
243
|
-
BASE STYLES
|
|
244
|
-
═══════════════════════════════════════════ */
|
|
245
|
-
body {
|
|
246
|
-
font-family: var(--font-body);
|
|
247
|
-
margin: 0;
|
|
248
|
-
-webkit-font-smoothing: antialiased;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
[data-theme] {
|
|
252
|
-
color: var(--text-primary);
|
|
253
|
-
background: var(--bg-base);
|
|
254
|
-
transition: var(--transition-theme);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
*, *::before, *::after { box-sizing: border-box; }
|
|
258
|
-
|
|
259
|
-
/* Custom scrollbar */
|
|
260
|
-
::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
261
|
-
::-webkit-scrollbar-track { background: var(--scrollbar-track); }
|
|
262
|
-
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--radius-full); }
|
|
263
|
-
::-webkit-scrollbar-thumb:hover { background: var(--border-medium); }
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Token Scope Guardrails
|
|
269
|
-
|
|
270
|
-
**This is the most critical implementation rule.** Font and typography bugs almost always come from scope violations.
|
|
271
|
-
|
|
272
|
-
**Rule 1:** Put typography, spacing, radius, and transition tokens in `:root` — not in `[data-theme]`.
|
|
273
|
-
|
|
274
|
-
**Rule 2:** Put theme-specific colors and surface values on the theme owner (`[data-theme]`).
|
|
275
|
-
|
|
276
|
-
**Rule 3:** If `body` consumes `var(--font-body)`, that variable must exist in `:root` or in a scope `body` inherits.
|
|
277
|
-
|
|
278
|
-
**Rule 4:** If the theme lives on a shell container instead of `body`, either keep typography in `:root`, or apply `font-family` directly on that shell.
|
|
279
|
-
|
|
280
|
-
**Safe — typography in :root:**
|
|
281
|
-
```css
|
|
282
|
-
:root { --font-body: system-ui, sans-serif; }
|
|
283
|
-
body { font-family: var(--font-body); }
|
|
284
|
-
.shell[data-theme="dark"] { --bg-base: #0b0f15; }
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
**Safe — theme on shell, font applied there:**
|
|
288
|
-
```css
|
|
289
|
-
:root { --font-body: system-ui, sans-serif; }
|
|
290
|
-
.shell[data-theme="dark"] { --bg-base: #0b0f15; font-family: var(--font-body); }
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## Interaction Guardrails
|
|
296
|
-
|
|
297
|
-
These rules exist to stop the most common quality failures: illegible hover states, washed-out light theme buttons, and decorative overload.
|
|
298
|
-
|
|
299
|
-
1. Primary actions on accent backgrounds must use `var(--accent-contrast)`, not `var(--bg-base)`.
|
|
300
|
-
2. Hover states may change brightness, but must preserve or improve text contrast.
|
|
301
|
-
3. Focus styles must be visible on both themes. Minimum: `outline: var(--focus-ring-width) solid var(--accent)` with `outline-offset: var(--focus-ring-offset)`.
|
|
302
|
-
4. If a control background becomes lighter on hover, its foreground must be re-evaluated. Do not assume the base text color still works.
|
|
303
|
-
5. Favor one accent family and two neutral text tiers over adding extra decorative colors.
|
|
304
|
-
|
|
305
|
-
**Unsafe (font breaks silently):**
|
|
306
|
-
```css
|
|
307
|
-
/* WRONG */
|
|
308
|
-
.shell[data-theme="dark"] { --font-body: 'Inter', sans-serif; } /* defined on child */
|
|
309
|
-
body { font-family: var(--font-body); } /* body can't inherit from .shell */
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## Typography Patterns
|
|
315
|
-
|
|
316
|
-
### Mono Label — the system's most distinctive element
|
|
317
|
-
|
|
318
|
-
```css
|
|
319
|
-
font-family: var(--font-mono);
|
|
320
|
-
font-size: var(--text-xs);
|
|
321
|
-
font-weight: var(--weight-semibold);
|
|
322
|
-
letter-spacing: var(--tracking-widest);
|
|
323
|
-
text-transform: uppercase;
|
|
324
|
-
color: var(--text-secondary);
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
Use for: section headers, stat labels, nav labels, badge text, timestamps, IDs.
|
|
328
|
-
**Do not overuse** — if everything is uppercase mono, nothing has emphasis.
|
|
329
|
-
|
|
330
|
-
### Display Heading
|
|
331
|
-
|
|
332
|
-
```css
|
|
333
|
-
font-family: var(--font-display);
|
|
334
|
-
font-weight: var(--weight-bold);
|
|
335
|
-
letter-spacing: var(--tracking-tight);
|
|
336
|
-
line-height: var(--leading-tight);
|
|
337
|
-
color: var(--text-heading);
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
Sizes: `--text-5xl` (hero) · `--text-3xl` (page title) · `--text-2xl` (section) · `--text-xl` (card title).
|
|
341
|
-
|
|
342
|
-
### Stat Number
|
|
343
|
-
|
|
344
|
-
```css
|
|
345
|
-
font-family: var(--font-display);
|
|
346
|
-
font-size: var(--text-4xl);
|
|
347
|
-
font-weight: var(--weight-bold);
|
|
348
|
-
line-height: var(--leading-none);
|
|
349
|
-
color: var(--text-heading);
|
|
350
|
-
font-variant-numeric: tabular-nums;
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
Pair with suffix: `font-size: var(--text-lg); color: var(--text-muted)`.
|
|
354
|
-
|
|
355
|
-
### Body Text
|
|
356
|
-
|
|
357
|
-
```css
|
|
358
|
-
font-family: var(--font-body);
|
|
359
|
-
font-size: var(--text-base);
|
|
360
|
-
font-weight: var(--weight-normal);
|
|
361
|
-
line-height: var(--leading-relaxed);
|
|
362
|
-
color: var(--text-primary);
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### Primary Action
|
|
366
|
-
|
|
367
|
-
```css
|
|
368
|
-
background: var(--accent);
|
|
369
|
-
color: var(--accent-contrast);
|
|
370
|
-
border: none;
|
|
371
|
-
font-family: var(--font-body);
|
|
372
|
-
font-size: var(--text-sm);
|
|
373
|
-
font-weight: var(--weight-semibold);
|
|
374
|
-
letter-spacing: var(--tracking-wide);
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
Use mono only for short command-like labels. Default buttons should stay in the body family for better readability.
|
|
378
|
-
|
|
379
|
-
### Numbers in tables and lists
|
|
380
|
-
|
|
381
|
-
```css
|
|
382
|
-
font-variant-numeric: tabular-nums;
|
|
383
|
-
font-feature-settings: "tnum" 1;
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## Alignment Rules
|
|
389
|
-
|
|
390
|
-
1. Keep text on a shared rhythm — headings, helpers, and numbers should align to the same left edge inside a card.
|
|
391
|
-
2. Avoid micro-copy smaller than `--text-xs` unless it is true metadata.
|
|
392
|
-
3. In dashboards: one card = one dominant metric or one dominant action. Do not stack equal-priority text blocks.
|
|
393
|
-
4. Above the fold: prefer 1 primary content block + 1 support block + 1 contextual rail — not a wall of equal cards.
|
|
394
|
-
5. Mono labels are separators, not decoration. If everything is uppercase mono, nothing is important.
|
|
395
|
-
6. In brownfield: fix cascade and token-scope errors before changing colors, layout, or density.
|
|
396
|
-
7. Interactive controls must align on shared heights (`--control-sm`, `--control-md`, `--control-lg`) and shared text baselines.
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
## Mode Guidance
|
|
401
|
-
|
|
402
|
-
### Dashboard / Admin
|
|
403
|
-
- Dark theme is often the best default.
|
|
404
|
-
- Dense, compact spacing — tighter headings, shorter line-height, less breathing room than marketing.
|
|
405
|
-
- Use mono labels selectively for status, timestamps, identifiers, section rails.
|
|
406
|
-
- Favor grouped blocks over large card matrices above the fold.
|
|
407
|
-
|
|
408
|
-
### Landing Page / Website
|
|
409
|
-
- Much more vertical breathing room (use `--space-16` to `--space-24` between sections).
|
|
410
|
-
- Prefer display + body pairings over mono-heavy layouts.
|
|
411
|
-
- Accent glow sparingly — trust typography and section rhythm.
|
|
412
|
-
- One message per section. No dashboard chrome (sidebars, status feeds, dense badges).
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
|
-
## Admin / Operational Compact Density
|
|
417
|
-
|
|
418
|
-
Use these values whenever building settings pages, admin panels, config screens, entity lists, or any dense operational UI. These replace the more generous defaults in those contexts.
|
|
419
|
-
|
|
420
|
-
### Card container scale
|
|
421
|
-
|
|
422
|
-
| Level | Use | Padding | Border Radius |
|
|
423
|
-
|---|---|---|---|
|
|
424
|
-
| L1 — page card | top-level section card | `var(--space-4)` (16px) | `22px` |
|
|
425
|
-
| L2 — nested card | card inside a card | `var(--space-3)` (12px) | `18px` |
|
|
426
|
-
| L3 — inset block | info block, disclosure body | `10px` | `14px` |
|
|
427
|
-
|
|
428
|
-
Between L1 cards: `gap: var(--space-3)` — not `--space-4` or `--space-6`.
|
|
429
|
-
|
|
430
|
-
### Card heading inside a panel
|
|
431
|
-
|
|
432
|
-
```
|
|
433
|
-
Eyebrow : text-[0.68rem] uppercase tracking-[0.28em] color: var(--text-muted)
|
|
434
|
-
Title : text-base (15px) font-semibold ← never text-xl or text-2xl inside a card
|
|
435
|
-
Meta : font-mono text-[0.62rem] color: var(--text-muted) truncate ← path, ID, single-line
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
**Do not write verbose description paragraphs inside admin cards.** Replace with: mono path text, status badges, or a single collapsed `<details>` block.
|
|
439
|
-
|
|
440
|
-
### Form controls — admin context
|
|
441
|
-
|
|
442
|
-
```
|
|
443
|
-
Input : px-3 py-2 text-xs border-radius: var(--radius-md) (height ~32px)
|
|
444
|
-
Select : px-3 py-2 text-xs border-radius: var(--radius-md)
|
|
445
|
-
Label : text-[0.65rem] mb: 2px (mb-0.5)
|
|
446
|
-
Button : px-3 py-2 text-xs border-radius: var(--radius-md)
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
These override the default `px-4 py-3 text-sm rounded-2xl` — that scale is for consumer/marketing UI, not admin density.
|
|
450
|
-
|
|
451
|
-
### List / row items
|
|
452
|
-
|
|
453
|
-
```
|
|
454
|
-
Row padding : py-2 (8px top/bottom) — not py-3 or py-4
|
|
455
|
-
Row gap : gap-2.5 (10px)
|
|
456
|
-
Provider dot : h-2 w-2 — not h-2.5 w-2.5
|
|
457
|
-
Name column : w-24 text-xs font-medium — not w-28 text-sm
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
### Badges / chips — compact
|
|
461
|
-
|
|
462
|
-
```
|
|
463
|
-
Status badge : px-2 py-0.5 text-[0.6rem] rounded-full
|
|
464
|
-
Tag badge : px-2 py-0.5 text-[0.58rem] rounded-full
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
Never use `px-3 py-1 text-xs` for inline status chips — that scale is for navigation and page-level badges.
|
|
468
|
-
|
|
469
|
-
### Entity grid (projects, providers, squads)
|
|
470
|
-
|
|
471
|
-
Never full-width stack same-type entities. Use:
|
|
472
|
-
|
|
473
|
-
```css
|
|
474
|
-
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
475
|
-
/* or explicit: sm:grid-cols-2 lg:grid-cols-3 */
|
|
476
|
-
gap: var(--space-3);
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
### Modal pattern for add / edit forms
|
|
480
|
-
|
|
481
|
-
Entity add/edit forms belong in a modal, not inline expansion (accordion/RevealPanel):
|
|
482
|
-
|
|
483
|
-
```
|
|
484
|
-
Modal max-width : 448px (28rem)
|
|
485
|
-
Modal padding : var(--space-5)
|
|
486
|
-
Overlay : bg-black/50 backdrop-blur-sm
|
|
487
|
-
Border radius : var(--radius-xl) — 22px
|
|
488
|
-
Max height : 90vh overflow-y: auto
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
### Disclosure / collapse pattern
|
|
492
|
-
|
|
493
|
-
Secondary tools (sync assistant, cloud connect, advanced config) go behind `<details>`:
|
|
494
|
-
|
|
495
|
-
```
|
|
496
|
-
Summary row : flex items-center justify-between px-3 py-2.5
|
|
497
|
-
label (text-xs) + status badge (left) + action button (right)
|
|
498
|
-
Body : border-t px-3 pb-3 pt-2
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
Never keep secondary tools always visible — they crowd the primary content.
|
|
502
|
-
|
|
503
|
-
### Anti-patterns in admin/operational UI
|
|
504
|
-
|
|
505
|
-
- `p-6 rounded-[28px]` on inner section cards — too large, use L1/L2/L3 scale above
|
|
506
|
-
- `text-xl` or `text-2xl` headings inside settings/admin cards
|
|
507
|
-
- Verbose description paragraphs (`text-sm leading-7`) in every card — remove them
|
|
508
|
-
- Full-width stacked cards for entity lists (projects, providers) — use the grid
|
|
509
|
-
- Inline accordion/RevealPanel for add/edit forms — use a modal
|
|
510
|
-
- `px-4 py-3 text-sm` for inputs and buttons in dense admin context
|
|
511
|
-
|
|
512
|
-
---
|
|
513
|
-
|
|
514
|
-
## Non-Negotiable Rules
|
|
515
|
-
|
|
516
|
-
1. Use the token system — never freestyle random hex values.
|
|
517
|
-
2. Keep at most **three surface levels** visible in the same viewport.
|
|
518
|
-
3. Teal/cyan is the **only accent** — never change it.
|
|
519
|
-
4. Do not default to Google Fonts when system stacks deliver the right tone.
|
|
520
|
-
5. Do not use mono labels as the main reading experience.
|
|
521
|
-
6. Keep **one obvious focal block** per viewport.
|
|
522
|
-
7. Fix token scope and cascade bugs before redesigning colors or layout.
|
|
523
|
-
8. In admin/operational UI, apply the **Compact Density** scale — never carry consumer/marketing spacing into dense panels.
|
|
524
|
-
9. Validate contrast and hover/focus parity before considering a screen finished.
|
|
1
|
+
# Design Tokens — Cognitive Core UI
|
|
2
|
+
|
|
3
|
+
All components and patterns depend on these tokens. Load this file first before any other reference.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Typography strategy
|
|
8
|
+
|
|
9
|
+
Default to **system fonts** first. Add Google Fonts only when the agent decides the stack, product context, and delivery constraints justify them.
|
|
10
|
+
|
|
11
|
+
**System font stack (default — works everywhere, no CDN needed):**
|
|
12
|
+
```css
|
|
13
|
+
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
14
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
15
|
+
--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Google Fonts (optional — use when building the Mentes Sintéticas aesthetic explicitly):**
|
|
19
|
+
```css
|
|
20
|
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');
|
|
21
|
+
|
|
22
|
+
--font-display: 'Inter', system-ui, sans-serif;
|
|
23
|
+
--font-body: 'Inter', system-ui, sans-serif;
|
|
24
|
+
--font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Complete CSS Variables
|
|
30
|
+
|
|
31
|
+
Include this full block in every project.
|
|
32
|
+
|
|
33
|
+
```css
|
|
34
|
+
/* ═══════════════════════════════════════════
|
|
35
|
+
SHARED TOKENS — in :root (see Token Scope Guardrails)
|
|
36
|
+
═══════════════════════════════════════════ */
|
|
37
|
+
:root {
|
|
38
|
+
/* Typography (set defaults here; override with Google Fonts if needed) */
|
|
39
|
+
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
40
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;
|
|
41
|
+
--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
|
|
42
|
+
|
|
43
|
+
/* Font Sizes */
|
|
44
|
+
--text-xs: 0.72rem; /* 11.5px — micro labels, mono uppercase */
|
|
45
|
+
--text-sm: 0.82rem; /* 13px */
|
|
46
|
+
--text-base: 0.95rem; /* 15px — default body */
|
|
47
|
+
--text-lg: 1rem; /* 16px */
|
|
48
|
+
--text-xl: 1.25rem; /* 20px */
|
|
49
|
+
--text-2xl: 1.6rem; /* 25.6px */
|
|
50
|
+
--text-3xl: 2.2rem; /* 35px */
|
|
51
|
+
--text-4xl: 3rem; /* 48px — stat numbers */
|
|
52
|
+
--text-5xl: 4rem; /* 64px — hero headings */
|
|
53
|
+
|
|
54
|
+
/* Font Weights */
|
|
55
|
+
--weight-light: 300;
|
|
56
|
+
--weight-normal: 400;
|
|
57
|
+
--weight-medium: 500;
|
|
58
|
+
--weight-semibold: 600;
|
|
59
|
+
--weight-bold: 700;
|
|
60
|
+
--weight-black: 800;
|
|
61
|
+
|
|
62
|
+
/* Letter Spacing */
|
|
63
|
+
--tracking-tight: -0.025em;
|
|
64
|
+
--tracking-normal: 0;
|
|
65
|
+
--tracking-wide: 0.04em;
|
|
66
|
+
--tracking-wider: 0.08em;
|
|
67
|
+
--tracking-widest: 0.12em;
|
|
68
|
+
|
|
69
|
+
/* Line Height */
|
|
70
|
+
--leading-none: 1;
|
|
71
|
+
--leading-tight: 1.08;
|
|
72
|
+
--leading-snug: 1.24;
|
|
73
|
+
--leading-normal: 1.5;
|
|
74
|
+
--leading-relaxed: 1.68;
|
|
75
|
+
|
|
76
|
+
/* Spacing */
|
|
77
|
+
--space-0: 0;
|
|
78
|
+
--space-1: 0.25rem;
|
|
79
|
+
--space-2: 0.5rem;
|
|
80
|
+
--space-3: 0.75rem;
|
|
81
|
+
--space-4: 1rem;
|
|
82
|
+
--space-5: 1.25rem;
|
|
83
|
+
--space-6: 1.5rem;
|
|
84
|
+
--space-8: 2rem;
|
|
85
|
+
--space-10: 2.5rem;
|
|
86
|
+
--space-12: 3rem;
|
|
87
|
+
--space-16: 4rem;
|
|
88
|
+
--space-20: 5rem;
|
|
89
|
+
--space-24: 6rem;
|
|
90
|
+
|
|
91
|
+
/* Border Radius */
|
|
92
|
+
--radius-sm: 0.375rem;
|
|
93
|
+
--radius-md: 0.625rem;
|
|
94
|
+
--radius-lg: 0.875rem;
|
|
95
|
+
--radius-xl: 1.125rem;
|
|
96
|
+
--radius-2xl: 1.5rem;
|
|
97
|
+
--radius-full: 9999px;
|
|
98
|
+
|
|
99
|
+
/* Interactive element heights */
|
|
100
|
+
--control-xs: 1.75rem;
|
|
101
|
+
--control-sm: 2rem;
|
|
102
|
+
--control-md: 2.5rem;
|
|
103
|
+
--control-lg: 3rem;
|
|
104
|
+
|
|
105
|
+
/* Transitions */
|
|
106
|
+
--transition-fast: 140ms ease;
|
|
107
|
+
--transition-base: 200ms ease;
|
|
108
|
+
--transition-slow: 300ms ease;
|
|
109
|
+
--transition-theme: background 240ms ease, color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
|
|
110
|
+
|
|
111
|
+
/* Shared interaction tokens */
|
|
112
|
+
--focus-ring-width: 2px;
|
|
113
|
+
--focus-ring-offset: 2px;
|
|
114
|
+
|
|
115
|
+
/* Z-index */
|
|
116
|
+
--z-base: 0;
|
|
117
|
+
--z-elevated: 10;
|
|
118
|
+
--z-dropdown: 20;
|
|
119
|
+
--z-sticky: 30;
|
|
120
|
+
--z-modal: 50;
|
|
121
|
+
--z-toast: 60;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* ═══════════════════════════════════════════
|
|
125
|
+
DARK THEME
|
|
126
|
+
═══════════════════════════════════════════ */
|
|
127
|
+
[data-theme="dark"] {
|
|
128
|
+
/* Backgrounds — layered navy depth */
|
|
129
|
+
--bg-void: #060910;
|
|
130
|
+
--bg-base: #0b0f15;
|
|
131
|
+
--bg-surface: #111827;
|
|
132
|
+
--bg-elevated: #172133;
|
|
133
|
+
--bg-overlay: #223148;
|
|
134
|
+
|
|
135
|
+
/* Borders */
|
|
136
|
+
--border-subtle: rgba(255, 255, 255, 0.06);
|
|
137
|
+
--border-medium: rgba(255, 255, 255, 0.10);
|
|
138
|
+
--border-strong: rgba(255, 255, 255, 0.16);
|
|
139
|
+
--border-accent: rgba(34, 211, 238, 0.26);
|
|
140
|
+
--border-accent-strong: rgba(34, 211, 238, 0.50);
|
|
141
|
+
|
|
142
|
+
/* Text */
|
|
143
|
+
--text-heading: #f7fafc;
|
|
144
|
+
--text-primary: #dbe4ee;
|
|
145
|
+
--text-secondary: #95a3b8;
|
|
146
|
+
--text-muted: #6b778c;
|
|
147
|
+
--text-accent: #34d8ff;
|
|
148
|
+
--text-inverse: #081018;
|
|
149
|
+
|
|
150
|
+
/* Accent — teal/cyan */
|
|
151
|
+
--accent: #22d3ee;
|
|
152
|
+
--accent-strong: #09bfe0;
|
|
153
|
+
--accent-dim: rgba(34, 211, 238, 0.16);
|
|
154
|
+
--accent-glow: rgba(34, 211, 238, 0.12);
|
|
155
|
+
--accent-subtle: rgba(34, 211, 238, 0.08);
|
|
156
|
+
--accent-hover: #06b6d4;
|
|
157
|
+
--accent-contrast: #07131a;
|
|
158
|
+
|
|
159
|
+
/* Semantic */
|
|
160
|
+
--semantic-green: #16c784;
|
|
161
|
+
--semantic-green-dim: rgba(22, 199, 132, 0.18);
|
|
162
|
+
--semantic-amber: #f4a91d;
|
|
163
|
+
--semantic-amber-dim: rgba(244, 169, 29, 0.18);
|
|
164
|
+
--semantic-red: #ff5a67;
|
|
165
|
+
--semantic-red-dim: rgba(255, 90, 103, 0.18);
|
|
166
|
+
--semantic-blue: #59a7ff;
|
|
167
|
+
--semantic-blue-dim: rgba(89, 167, 255, 0.18);
|
|
168
|
+
--semantic-purple: #a78bfa;
|
|
169
|
+
--semantic-purple-dim: rgba(167, 139, 250, 0.18);
|
|
170
|
+
|
|
171
|
+
/* Shadows */
|
|
172
|
+
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.22);
|
|
173
|
+
--shadow-md: 0 8px 24px rgba(0, 0, 0, 0.32);
|
|
174
|
+
--shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.44);
|
|
175
|
+
--shadow-glow: 0 0 0 1px rgba(34, 211, 238, 0.05), 0 10px 28px rgba(3, 12, 22, 0.42);
|
|
176
|
+
--shadow-glow-strong: 0 0 30px rgba(34, 211, 238, 0.20), 0 0 10px rgba(34, 211, 238, 0.10);
|
|
177
|
+
|
|
178
|
+
/* Scrollbar */
|
|
179
|
+
--scrollbar-track: #0b0f15;
|
|
180
|
+
--scrollbar-thumb: #172133;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* ═══════════════════════════════════════════
|
|
184
|
+
LIGHT THEME
|
|
185
|
+
═══════════════════════════════════════════ */
|
|
186
|
+
[data-theme="light"] {
|
|
187
|
+
/* Backgrounds — layered white/gray */
|
|
188
|
+
--bg-void: #edf3f9;
|
|
189
|
+
--bg-base: #f5f8fc;
|
|
190
|
+
--bg-surface: #ffffff;
|
|
191
|
+
--bg-elevated: #eaf0f6;
|
|
192
|
+
--bg-overlay: #dde8f1;
|
|
193
|
+
|
|
194
|
+
/* Borders */
|
|
195
|
+
--border-subtle: rgba(12, 23, 40, 0.07);
|
|
196
|
+
--border-medium: rgba(12, 23, 40, 0.12);
|
|
197
|
+
--border-strong: rgba(12, 23, 40, 0.18);
|
|
198
|
+
--border-accent: rgba(14, 165, 233, 0.22);
|
|
199
|
+
--border-accent-strong: rgba(14, 165, 233, 0.42);
|
|
200
|
+
|
|
201
|
+
/* Text */
|
|
202
|
+
--text-heading: #0f172a;
|
|
203
|
+
--text-primary: #334155;
|
|
204
|
+
--text-secondary: #61748a;
|
|
205
|
+
--text-muted: #8b9aae;
|
|
206
|
+
--text-accent: #0f766e;
|
|
207
|
+
--text-inverse: #f8fbff;
|
|
208
|
+
|
|
209
|
+
/* Accent — deeper teal for AA-friendly buttons and links */
|
|
210
|
+
--accent: #0f766e;
|
|
211
|
+
--accent-strong: #115e59;
|
|
212
|
+
--accent-dim: rgba(15, 118, 110, 0.10);
|
|
213
|
+
--accent-glow: rgba(15, 118, 110, 0.08);
|
|
214
|
+
--accent-subtle: rgba(15, 118, 110, 0.05);
|
|
215
|
+
--accent-hover: #115e59;
|
|
216
|
+
--accent-contrast: #f8fbff;
|
|
217
|
+
|
|
218
|
+
/* Semantic */
|
|
219
|
+
--semantic-green: #059669;
|
|
220
|
+
--semantic-green-dim: rgba(5, 150, 105, 0.10);
|
|
221
|
+
--semantic-amber: #d97706;
|
|
222
|
+
--semantic-amber-dim: rgba(217, 119, 6, 0.10);
|
|
223
|
+
--semantic-red: #dc2626;
|
|
224
|
+
--semantic-red-dim: rgba(220, 38, 38, 0.10);
|
|
225
|
+
--semantic-blue: #2563eb;
|
|
226
|
+
--semantic-blue-dim: rgba(37, 99, 235, 0.10);
|
|
227
|
+
--semantic-purple: #7c3aed;
|
|
228
|
+
--semantic-purple-dim: rgba(124, 58, 237, 0.10);
|
|
229
|
+
|
|
230
|
+
/* Shadows */
|
|
231
|
+
--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
|
|
232
|
+
--shadow-md: 0 12px 30px rgba(15, 23, 42, 0.08);
|
|
233
|
+
--shadow-lg: 0 20px 48px rgba(15, 23, 42, 0.12);
|
|
234
|
+
--shadow-glow: 0 0 0 1px rgba(14, 165, 233, 0.04), 0 14px 28px rgba(15, 23, 42, 0.06);
|
|
235
|
+
--shadow-glow-strong: 0 4px 16px rgba(14, 165, 233, 0.12);
|
|
236
|
+
|
|
237
|
+
/* Scrollbar */
|
|
238
|
+
--scrollbar-track: #f5f8fc;
|
|
239
|
+
--scrollbar-thumb: #cbd5e1;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* ═══════════════════════════════════════════
|
|
243
|
+
BASE STYLES
|
|
244
|
+
═══════════════════════════════════════════ */
|
|
245
|
+
body {
|
|
246
|
+
font-family: var(--font-body);
|
|
247
|
+
margin: 0;
|
|
248
|
+
-webkit-font-smoothing: antialiased;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
[data-theme] {
|
|
252
|
+
color: var(--text-primary);
|
|
253
|
+
background: var(--bg-base);
|
|
254
|
+
transition: var(--transition-theme);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
258
|
+
|
|
259
|
+
/* Custom scrollbar */
|
|
260
|
+
::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
261
|
+
::-webkit-scrollbar-track { background: var(--scrollbar-track); }
|
|
262
|
+
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--radius-full); }
|
|
263
|
+
::-webkit-scrollbar-thumb:hover { background: var(--border-medium); }
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Token Scope Guardrails
|
|
269
|
+
|
|
270
|
+
**This is the most critical implementation rule.** Font and typography bugs almost always come from scope violations.
|
|
271
|
+
|
|
272
|
+
**Rule 1:** Put typography, spacing, radius, and transition tokens in `:root` — not in `[data-theme]`.
|
|
273
|
+
|
|
274
|
+
**Rule 2:** Put theme-specific colors and surface values on the theme owner (`[data-theme]`).
|
|
275
|
+
|
|
276
|
+
**Rule 3:** If `body` consumes `var(--font-body)`, that variable must exist in `:root` or in a scope `body` inherits.
|
|
277
|
+
|
|
278
|
+
**Rule 4:** If the theme lives on a shell container instead of `body`, either keep typography in `:root`, or apply `font-family` directly on that shell.
|
|
279
|
+
|
|
280
|
+
**Safe — typography in :root:**
|
|
281
|
+
```css
|
|
282
|
+
:root { --font-body: system-ui, sans-serif; }
|
|
283
|
+
body { font-family: var(--font-body); }
|
|
284
|
+
.shell[data-theme="dark"] { --bg-base: #0b0f15; }
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Safe — theme on shell, font applied there:**
|
|
288
|
+
```css
|
|
289
|
+
:root { --font-body: system-ui, sans-serif; }
|
|
290
|
+
.shell[data-theme="dark"] { --bg-base: #0b0f15; font-family: var(--font-body); }
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Interaction Guardrails
|
|
296
|
+
|
|
297
|
+
These rules exist to stop the most common quality failures: illegible hover states, washed-out light theme buttons, and decorative overload.
|
|
298
|
+
|
|
299
|
+
1. Primary actions on accent backgrounds must use `var(--accent-contrast)`, not `var(--bg-base)`.
|
|
300
|
+
2. Hover states may change brightness, but must preserve or improve text contrast.
|
|
301
|
+
3. Focus styles must be visible on both themes. Minimum: `outline: var(--focus-ring-width) solid var(--accent)` with `outline-offset: var(--focus-ring-offset)`.
|
|
302
|
+
4. If a control background becomes lighter on hover, its foreground must be re-evaluated. Do not assume the base text color still works.
|
|
303
|
+
5. Favor one accent family and two neutral text tiers over adding extra decorative colors.
|
|
304
|
+
|
|
305
|
+
**Unsafe (font breaks silently):**
|
|
306
|
+
```css
|
|
307
|
+
/* WRONG */
|
|
308
|
+
.shell[data-theme="dark"] { --font-body: 'Inter', sans-serif; } /* defined on child */
|
|
309
|
+
body { font-family: var(--font-body); } /* body can't inherit from .shell */
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Typography Patterns
|
|
315
|
+
|
|
316
|
+
### Mono Label — the system's most distinctive element
|
|
317
|
+
|
|
318
|
+
```css
|
|
319
|
+
font-family: var(--font-mono);
|
|
320
|
+
font-size: var(--text-xs);
|
|
321
|
+
font-weight: var(--weight-semibold);
|
|
322
|
+
letter-spacing: var(--tracking-widest);
|
|
323
|
+
text-transform: uppercase;
|
|
324
|
+
color: var(--text-secondary);
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Use for: section headers, stat labels, nav labels, badge text, timestamps, IDs.
|
|
328
|
+
**Do not overuse** — if everything is uppercase mono, nothing has emphasis.
|
|
329
|
+
|
|
330
|
+
### Display Heading
|
|
331
|
+
|
|
332
|
+
```css
|
|
333
|
+
font-family: var(--font-display);
|
|
334
|
+
font-weight: var(--weight-bold);
|
|
335
|
+
letter-spacing: var(--tracking-tight);
|
|
336
|
+
line-height: var(--leading-tight);
|
|
337
|
+
color: var(--text-heading);
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Sizes: `--text-5xl` (hero) · `--text-3xl` (page title) · `--text-2xl` (section) · `--text-xl` (card title).
|
|
341
|
+
|
|
342
|
+
### Stat Number
|
|
343
|
+
|
|
344
|
+
```css
|
|
345
|
+
font-family: var(--font-display);
|
|
346
|
+
font-size: var(--text-4xl);
|
|
347
|
+
font-weight: var(--weight-bold);
|
|
348
|
+
line-height: var(--leading-none);
|
|
349
|
+
color: var(--text-heading);
|
|
350
|
+
font-variant-numeric: tabular-nums;
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Pair with suffix: `font-size: var(--text-lg); color: var(--text-muted)`.
|
|
354
|
+
|
|
355
|
+
### Body Text
|
|
356
|
+
|
|
357
|
+
```css
|
|
358
|
+
font-family: var(--font-body);
|
|
359
|
+
font-size: var(--text-base);
|
|
360
|
+
font-weight: var(--weight-normal);
|
|
361
|
+
line-height: var(--leading-relaxed);
|
|
362
|
+
color: var(--text-primary);
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Primary Action
|
|
366
|
+
|
|
367
|
+
```css
|
|
368
|
+
background: var(--accent);
|
|
369
|
+
color: var(--accent-contrast);
|
|
370
|
+
border: none;
|
|
371
|
+
font-family: var(--font-body);
|
|
372
|
+
font-size: var(--text-sm);
|
|
373
|
+
font-weight: var(--weight-semibold);
|
|
374
|
+
letter-spacing: var(--tracking-wide);
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
Use mono only for short command-like labels. Default buttons should stay in the body family for better readability.
|
|
378
|
+
|
|
379
|
+
### Numbers in tables and lists
|
|
380
|
+
|
|
381
|
+
```css
|
|
382
|
+
font-variant-numeric: tabular-nums;
|
|
383
|
+
font-feature-settings: "tnum" 1;
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Alignment Rules
|
|
389
|
+
|
|
390
|
+
1. Keep text on a shared rhythm — headings, helpers, and numbers should align to the same left edge inside a card.
|
|
391
|
+
2. Avoid micro-copy smaller than `--text-xs` unless it is true metadata.
|
|
392
|
+
3. In dashboards: one card = one dominant metric or one dominant action. Do not stack equal-priority text blocks.
|
|
393
|
+
4. Above the fold: prefer 1 primary content block + 1 support block + 1 contextual rail — not a wall of equal cards.
|
|
394
|
+
5. Mono labels are separators, not decoration. If everything is uppercase mono, nothing is important.
|
|
395
|
+
6. In brownfield: fix cascade and token-scope errors before changing colors, layout, or density.
|
|
396
|
+
7. Interactive controls must align on shared heights (`--control-sm`, `--control-md`, `--control-lg`) and shared text baselines.
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## Mode Guidance
|
|
401
|
+
|
|
402
|
+
### Dashboard / Admin
|
|
403
|
+
- Dark theme is often the best default.
|
|
404
|
+
- Dense, compact spacing — tighter headings, shorter line-height, less breathing room than marketing.
|
|
405
|
+
- Use mono labels selectively for status, timestamps, identifiers, section rails.
|
|
406
|
+
- Favor grouped blocks over large card matrices above the fold.
|
|
407
|
+
|
|
408
|
+
### Landing Page / Website
|
|
409
|
+
- Much more vertical breathing room (use `--space-16` to `--space-24` between sections).
|
|
410
|
+
- Prefer display + body pairings over mono-heavy layouts.
|
|
411
|
+
- Accent glow sparingly — trust typography and section rhythm.
|
|
412
|
+
- One message per section. No dashboard chrome (sidebars, status feeds, dense badges).
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Admin / Operational Compact Density
|
|
417
|
+
|
|
418
|
+
Use these values whenever building settings pages, admin panels, config screens, entity lists, or any dense operational UI. These replace the more generous defaults in those contexts.
|
|
419
|
+
|
|
420
|
+
### Card container scale
|
|
421
|
+
|
|
422
|
+
| Level | Use | Padding | Border Radius |
|
|
423
|
+
|---|---|---|---|
|
|
424
|
+
| L1 — page card | top-level section card | `var(--space-4)` (16px) | `22px` |
|
|
425
|
+
| L2 — nested card | card inside a card | `var(--space-3)` (12px) | `18px` |
|
|
426
|
+
| L3 — inset block | info block, disclosure body | `10px` | `14px` |
|
|
427
|
+
|
|
428
|
+
Between L1 cards: `gap: var(--space-3)` — not `--space-4` or `--space-6`.
|
|
429
|
+
|
|
430
|
+
### Card heading inside a panel
|
|
431
|
+
|
|
432
|
+
```
|
|
433
|
+
Eyebrow : text-[0.68rem] uppercase tracking-[0.28em] color: var(--text-muted)
|
|
434
|
+
Title : text-base (15px) font-semibold ← never text-xl or text-2xl inside a card
|
|
435
|
+
Meta : font-mono text-[0.62rem] color: var(--text-muted) truncate ← path, ID, single-line
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
**Do not write verbose description paragraphs inside admin cards.** Replace with: mono path text, status badges, or a single collapsed `<details>` block.
|
|
439
|
+
|
|
440
|
+
### Form controls — admin context
|
|
441
|
+
|
|
442
|
+
```
|
|
443
|
+
Input : px-3 py-2 text-xs border-radius: var(--radius-md) (height ~32px)
|
|
444
|
+
Select : px-3 py-2 text-xs border-radius: var(--radius-md)
|
|
445
|
+
Label : text-[0.65rem] mb: 2px (mb-0.5)
|
|
446
|
+
Button : px-3 py-2 text-xs border-radius: var(--radius-md)
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
These override the default `px-4 py-3 text-sm rounded-2xl` — that scale is for consumer/marketing UI, not admin density.
|
|
450
|
+
|
|
451
|
+
### List / row items
|
|
452
|
+
|
|
453
|
+
```
|
|
454
|
+
Row padding : py-2 (8px top/bottom) — not py-3 or py-4
|
|
455
|
+
Row gap : gap-2.5 (10px)
|
|
456
|
+
Provider dot : h-2 w-2 — not h-2.5 w-2.5
|
|
457
|
+
Name column : w-24 text-xs font-medium — not w-28 text-sm
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Badges / chips — compact
|
|
461
|
+
|
|
462
|
+
```
|
|
463
|
+
Status badge : px-2 py-0.5 text-[0.6rem] rounded-full
|
|
464
|
+
Tag badge : px-2 py-0.5 text-[0.58rem] rounded-full
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
Never use `px-3 py-1 text-xs` for inline status chips — that scale is for navigation and page-level badges.
|
|
468
|
+
|
|
469
|
+
### Entity grid (projects, providers, squads)
|
|
470
|
+
|
|
471
|
+
Never full-width stack same-type entities. Use:
|
|
472
|
+
|
|
473
|
+
```css
|
|
474
|
+
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
475
|
+
/* or explicit: sm:grid-cols-2 lg:grid-cols-3 */
|
|
476
|
+
gap: var(--space-3);
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
### Modal pattern for add / edit forms
|
|
480
|
+
|
|
481
|
+
Entity add/edit forms belong in a modal, not inline expansion (accordion/RevealPanel):
|
|
482
|
+
|
|
483
|
+
```
|
|
484
|
+
Modal max-width : 448px (28rem)
|
|
485
|
+
Modal padding : var(--space-5)
|
|
486
|
+
Overlay : bg-black/50 backdrop-blur-sm
|
|
487
|
+
Border radius : var(--radius-xl) — 22px
|
|
488
|
+
Max height : 90vh overflow-y: auto
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### Disclosure / collapse pattern
|
|
492
|
+
|
|
493
|
+
Secondary tools (sync assistant, cloud connect, advanced config) go behind `<details>`:
|
|
494
|
+
|
|
495
|
+
```
|
|
496
|
+
Summary row : flex items-center justify-between px-3 py-2.5
|
|
497
|
+
label (text-xs) + status badge (left) + action button (right)
|
|
498
|
+
Body : border-t px-3 pb-3 pt-2
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
Never keep secondary tools always visible — they crowd the primary content.
|
|
502
|
+
|
|
503
|
+
### Anti-patterns in admin/operational UI
|
|
504
|
+
|
|
505
|
+
- `p-6 rounded-[28px]` on inner section cards — too large, use L1/L2/L3 scale above
|
|
506
|
+
- `text-xl` or `text-2xl` headings inside settings/admin cards
|
|
507
|
+
- Verbose description paragraphs (`text-sm leading-7`) in every card — remove them
|
|
508
|
+
- Full-width stacked cards for entity lists (projects, providers) — use the grid
|
|
509
|
+
- Inline accordion/RevealPanel for add/edit forms — use a modal
|
|
510
|
+
- `px-4 py-3 text-sm` for inputs and buttons in dense admin context
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
## Non-Negotiable Rules
|
|
515
|
+
|
|
516
|
+
1. Use the token system — never freestyle random hex values.
|
|
517
|
+
2. Keep at most **three surface levels** visible in the same viewport.
|
|
518
|
+
3. Teal/cyan is the **only accent** — never change it.
|
|
519
|
+
4. Do not default to Google Fonts when system stacks deliver the right tone.
|
|
520
|
+
5. Do not use mono labels as the main reading experience.
|
|
521
|
+
6. Keep **one obvious focal block** per viewport.
|
|
522
|
+
7. Fix token scope and cascade bugs before redesigning colors or layout.
|
|
523
|
+
8. In admin/operational UI, apply the **Compact Density** scale — never carry consumer/marketing spacing into dense panels.
|
|
524
|
+
9. Validate contrast and hover/focus parity before considering a screen finished.
|