@jaimevalasek/aioson 1.3.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/LICENSE +661 -21
- package/README.md +22 -3
- package/docs/en/squad-dashboard.md +372 -0
- package/docs/openclaw-bridge.md +308 -0
- package/docs/pt/README.md +62 -2
- package/docs/pt/advisor-spec.md +5 -5
- package/docs/pt/agentes-customizados.md +670 -0
- package/docs/pt/agentes.md +235 -23
- package/docs/pt/automacao-squads.md +407 -0
- package/docs/pt/cenarios.md +49 -5
- package/docs/pt/clientes-ai.md +62 -0
- package/docs/pt/comandos-cli.md +226 -17
- package/docs/pt/deyvin.md +115 -0
- package/docs/pt/genome-3.0-spec.md +11 -11
- package/docs/pt/inicio-rapido.md +63 -2
- package/docs/pt/memoria-contexto.md +255 -0
- package/docs/pt/output-strategy-delivery.md +655 -0
- package/docs/pt/profiler-system.md +17 -17
- package/docs/pt/runtime-observability.md +5 -1
- package/docs/pt/skills.md +175 -0
- package/docs/pt/squad-dashboard.md +373 -0
- package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
- package/docs/testing/genome-2.0-matrix.md +5 -5
- package/docs/testing/genome-2.0-rollout.md +10 -10
- package/package.json +4 -4
- package/src/agents.js +21 -5
- package/src/backup-local.js +74 -0
- package/src/backup-provider.js +303 -0
- package/src/cli.js +276 -2
- package/src/commands/agents.js +22 -4
- package/src/commands/backup-local-cmd.js +25 -0
- package/src/commands/backup.js +533 -0
- package/src/commands/cloud.js +17 -17
- package/src/commands/context-pack.js +45 -0
- package/src/commands/implementation-plan.js +340 -0
- package/src/commands/learning.js +134 -0
- package/src/commands/live.js +1583 -0
- package/src/commands/runtime.js +1075 -2
- package/src/commands/scan-project.js +288 -24
- package/src/commands/setup-context.js +30 -2
- package/src/commands/skill.js +558 -0
- package/src/commands/squad-agent-create.js +788 -0
- package/src/commands/squad-daemon.js +209 -0
- package/src/commands/squad-dashboard.js +39 -0
- package/src/commands/squad-deploy.js +64 -0
- package/src/commands/squad-doctor.js +103 -1
- package/src/commands/squad-investigate.js +261 -0
- package/src/commands/squad-learning.js +209 -0
- package/src/commands/squad-mcp.js +270 -0
- package/src/commands/squad-pipeline.js +247 -1
- package/src/commands/squad-plan.js +329 -0
- package/src/commands/squad-processes.js +56 -0
- package/src/commands/squad-recovery.js +42 -0
- package/src/commands/squad-roi.js +291 -0
- package/src/commands/squad-score.js +250 -0
- package/src/commands/squad-status.js +38 -2
- package/src/commands/squad-validate.js +118 -1
- package/src/commands/squad-webhook.js +160 -0
- package/src/commands/squad-worker.js +191 -0
- package/src/commands/squad-worktrees.js +75 -0
- package/src/commands/test-agents.js +6 -1
- package/src/commands/web-map.js +70 -0
- package/src/commands/web-scrape.js +71 -0
- package/src/commands/workflow-next.js +8 -1
- package/src/commands/workflow-status.js +250 -0
- package/src/constants.js +88 -16
- package/src/context-memory.js +837 -0
- package/src/context-writer.js +47 -1
- package/src/delivery-runner.js +319 -0
- package/src/genome-files.js +1 -1
- package/src/genome-format.js +1 -1
- package/src/i18n/messages/en.js +333 -8
- package/src/i18n/messages/es.js +240 -6
- package/src/i18n/messages/fr.js +239 -5
- package/src/i18n/messages/pt-BR.js +330 -12
- package/src/installer.js +30 -2
- package/src/lib/genomes/compat.js +1 -1
- package/src/lib/webhook-server.js +328 -0
- package/src/mcp-connectors/registry.js +602 -0
- package/src/runtime-store.js +1037 -42
- package/src/session-handoff.js +77 -0
- package/src/squad/external-session.js +180 -0
- package/src/squad/inter-squad.js +74 -0
- package/src/squad/recovery-context.js +201 -0
- package/src/squad/worktree-manager.js +114 -0
- package/src/squad-daemon.js +490 -0
- package/src/squad-dashboard/api.js +223 -0
- package/src/squad-dashboard/attachment-handler.js +93 -0
- package/src/squad-dashboard/context-monitor.js +157 -0
- package/src/squad-dashboard/execution-logs.js +115 -0
- package/src/squad-dashboard/hunk-review.js +209 -0
- package/src/squad-dashboard/metrics.js +133 -0
- package/src/squad-dashboard/process-monitor.js +125 -0
- package/src/squad-dashboard/renderer.js +858 -0
- package/src/squad-dashboard/server.js +232 -0
- package/src/squad-dashboard/styles.js +525 -0
- package/src/squad-dashboard/token-tracker.js +99 -0
- package/src/web.js +284 -0
- package/src/worker-runner.js +339 -0
- package/template/.aioson/agents/analyst.md +40 -9
- package/template/.aioson/agents/architect.md +24 -5
- package/template/.aioson/agents/dev.md +254 -25
- package/template/.aioson/agents/deyvin.md +174 -0
- package/template/.aioson/agents/discovery-design-doc.md +25 -1
- package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
- package/template/.aioson/agents/neo.md +152 -0
- package/template/.aioson/agents/orache.md +388 -0
- package/template/.aioson/agents/orchestrator.md +63 -2
- package/template/.aioson/agents/pair.md +5 -0
- package/template/.aioson/agents/pm.md +17 -5
- package/template/.aioson/agents/product.md +113 -29
- package/template/.aioson/agents/profiler-enricher.md +1 -1
- package/template/.aioson/agents/profiler-forge.md +9 -9
- package/template/.aioson/agents/profiler-researcher.md +1 -1
- package/template/.aioson/agents/qa.md +18 -5
- package/template/.aioson/agents/setup.md +138 -18
- package/template/.aioson/agents/sheldon.md +603 -0
- package/template/.aioson/agents/squad.md +866 -28
- package/template/.aioson/agents/tester.md +254 -0
- package/template/.aioson/agents/ux-ui.md +289 -34
- package/template/.aioson/config.md +181 -0
- package/template/.aioson/context/spec.md.template +17 -0
- package/template/.aioson/genomes/.gitkeep +0 -0
- package/template/.aioson/installed-skills/.gitkeep +0 -0
- package/template/.aioson/locales/en/agents/analyst.md +34 -4
- package/template/.aioson/locales/en/agents/architect.md +18 -0
- package/template/.aioson/locales/en/agents/dev.md +155 -11
- package/template/.aioson/locales/en/agents/deyvin.md +137 -0
- package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
- package/template/.aioson/locales/en/agents/neo.md +8 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +62 -2
- package/template/.aioson/locales/en/agents/pair.md +5 -0
- package/template/.aioson/locales/en/agents/pm.md +7 -0
- package/template/.aioson/locales/en/agents/product.md +35 -17
- package/template/.aioson/locales/en/agents/qa.md +56 -0
- package/template/.aioson/locales/en/agents/setup.md +53 -6
- package/template/.aioson/locales/en/agents/sheldon.md +340 -0
- package/template/.aioson/locales/en/agents/squad.md +203 -15
- package/template/.aioson/locales/en/agents/ux-ui.md +383 -35
- package/template/.aioson/locales/es/agents/analyst.md +24 -4
- package/template/.aioson/locales/es/agents/architect.md +18 -0
- package/template/.aioson/locales/es/agents/dev.md +136 -9
- package/template/.aioson/locales/es/agents/deyvin.md +97 -0
- package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
- package/template/.aioson/locales/es/agents/neo.md +48 -0
- package/template/.aioson/locales/es/agents/orache.md +103 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +62 -2
- package/template/.aioson/locales/es/agents/pair.md +5 -0
- package/template/.aioson/locales/es/agents/pm.md +7 -0
- package/template/.aioson/locales/es/agents/product.md +13 -3
- package/template/.aioson/locales/es/agents/qa.md +33 -0
- package/template/.aioson/locales/es/agents/setup.md +30 -6
- package/template/.aioson/locales/es/agents/sheldon.md +192 -0
- package/template/.aioson/locales/es/agents/squad.md +284 -15
- package/template/.aioson/locales/es/agents/ux-ui.md +34 -25
- package/template/.aioson/locales/fr/agents/analyst.md +24 -4
- package/template/.aioson/locales/fr/agents/architect.md +18 -0
- package/template/.aioson/locales/fr/agents/dev.md +136 -9
- package/template/.aioson/locales/fr/agents/deyvin.md +97 -0
- package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
- package/template/.aioson/locales/fr/agents/neo.md +48 -0
- package/template/.aioson/locales/fr/agents/orache.md +104 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +62 -2
- package/template/.aioson/locales/fr/agents/pair.md +5 -0
- package/template/.aioson/locales/fr/agents/pm.md +7 -0
- package/template/.aioson/locales/fr/agents/product.md +13 -3
- package/template/.aioson/locales/fr/agents/qa.md +33 -0
- package/template/.aioson/locales/fr/agents/setup.md +30 -6
- package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
- package/template/.aioson/locales/fr/agents/squad.md +279 -10
- package/template/.aioson/locales/fr/agents/ux-ui.md +34 -25
- package/template/.aioson/locales/pt-BR/agents/analyst.md +45 -4
- package/template/.aioson/locales/pt-BR/agents/architect.md +29 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +167 -15
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +137 -0
- package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
- package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
- package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +62 -2
- package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +43 -20
- package/template/.aioson/locales/pt-BR/agents/qa.md +67 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +53 -6
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
- package/template/.aioson/locales/pt-BR/agents/squad.md +591 -47
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +369 -22
- package/template/.aioson/my-agents/.gitkeep +0 -0
- package/template/.aioson/rules/.gitkeep +0 -0
- package/template/.aioson/rules/squad/.gitkeep +0 -0
- package/template/.aioson/rules/squad/README.md +50 -0
- package/template/.aioson/schemas/genome-meta.schema.json +1 -1
- package/template/.aioson/schemas/genome.schema.json +1 -1
- package/template/.aioson/schemas/squad-blueprint.schema.json +32 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +434 -1
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +277 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -0
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
- package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
- package/template/.aioson/skills/design-system/SKILL.md +92 -0
- package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
- package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
- package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
- package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
- package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
- package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
- package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
- package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
- package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
- package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
- package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
- package/template/.aioson/skills/squad/SKILL.md +58 -0
- package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
- package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
- package/template/.aioson/skills/squad/formats/catalog.json +15 -0
- package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
- package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
- package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
- package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
- package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
- package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
- package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
- package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
- package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
- package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
- package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
- package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
- package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
- package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
- package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
- package/template/.aioson/skills/squad/references/.gitkeep +0 -0
- package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
- package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
- package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
- package/template/.aioson/skills/static/debugging-protocol.md +42 -0
- package/template/.aioson/skills/static/git-worktrees.md +36 -0
- package/template/.aioson/tasks/implementation-plan.md +307 -0
- package/template/.aioson/tasks/squad-create.md +1 -1
- package/template/.aioson/tasks/squad-design.md +28 -0
- package/template/.aioson/tasks/squad-execution-plan.md +279 -0
- package/template/.aioson/tasks/squad-export.md +1 -1
- package/template/.aioson/tasks/squad-investigate.md +44 -0
- package/template/.aioson/tasks/squad-learning-review.md +44 -0
- package/template/.aioson/tasks/squad-output-config.md +177 -0
- package/template/.aioson/tasks/squad-profile.md +48 -0
- package/template/.aioson/tasks/squad-review.md +61 -0
- package/template/.aioson/tasks/squad-task-decompose.md +66 -0
- package/template/.aioson/tasks/squad-validate.md +1 -1
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
- package/template/.claude/commands/aioson/agent/genome.md +5 -0
- package/template/.claude/commands/aioson/agent/neo.md +5 -0
- package/template/.claude/commands/aioson/agent/product.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
- package/template/.claude/commands/aioson/agent/squad.md +5 -0
- package/template/.claude/commands/aioson/agent/tester.md +5 -0
- package/template/.gemini/GEMINI.md +3 -0
- package/template/.gemini/commands/aios-deyvin.toml +6 -0
- package/template/.gemini/commands/aios-neo.toml +4 -0
- package/template/.gemini/commands/aios-pair.toml +6 -0
- package/template/.gemini/commands/aios-tester.toml +6 -0
- package/template/AGENTS.md +37 -6
- package/template/CLAUDE.md +34 -4
- package/template/OPENCODE.md +8 -2
- package/template/squad-searches/.gitkeep +0 -0
- package/template/.aioson/skills/static/interface-design.md +0 -372
- package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
- /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
- /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
- /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
- /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
- /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
- /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
- /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
- /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
- /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# Website Layouts — Warm Craft UI
|
|
2
|
+
|
|
3
|
+
Composition guides for landing pages, product pages, and institutional websites. Uses tokens from `design-tokens.md` and components from `components.md`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## General Website Rules
|
|
8
|
+
|
|
9
|
+
1. **Hero is the first impression.** It must feel crafted, not templated. Never a centered headline + two buttons + stock image.
|
|
10
|
+
2. **Editorial pacing.** Alternate between high-impact sections and breathing room. Never repeat the same card grid four times.
|
|
11
|
+
3. **Serif drives the narrative.** Headlines, pull quotes, and hero text use `var(--font-display)`. This is what makes it feel warm, not the colors.
|
|
12
|
+
4. **Warm backgrounds, not white.** Use `var(--bg-void)` for section alternation, never pure white sections.
|
|
13
|
+
5. **One accent, used sparingly.** Terracotta for CTAs and key highlights only. Never accent borders, accent backgrounds on sections, or accent everything.
|
|
14
|
+
6. **Illustrations over icons.** Where possible, use warm, hand-drawn-style illustrations. Cold geometric SVG icons are for apps, not marketing pages.
|
|
15
|
+
7. **Real copy only.** No Lorem ipsum. Write real headlines, descriptions, and CTAs that sound like a human wrote them.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Hero Patterns
|
|
20
|
+
|
|
21
|
+
### Pattern A: Split Hero
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
+---------------------------+---------------------------+
|
|
25
|
+
| | |
|
|
26
|
+
| OVERLINE | PRODUCT SHOT or |
|
|
27
|
+
| (text-sm, accent, | ILLUSTRATION |
|
|
28
|
+
| tracking-wide) | (warm tones, soft |
|
|
29
|
+
| | shadow, slight tilt) |
|
|
30
|
+
| HEADLINE | |
|
|
31
|
+
| (font-display, text-5xl, | |
|
|
32
|
+
| weight-bold, heading) | |
|
|
33
|
+
| | |
|
|
34
|
+
| SUBTITLE | |
|
|
35
|
+
| (text-lg, secondary, | |
|
|
36
|
+
| max-width 480px) | |
|
|
37
|
+
| | |
|
|
38
|
+
| [CTA Primary] [CTA Sec] | |
|
|
39
|
+
| | |
|
|
40
|
+
+---------------------------+---------------------------+
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Use when: product has a strong visual to show. Most common warm hero.
|
|
44
|
+
|
|
45
|
+
### Pattern B: Editorial Hero
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
+-----------------------------------------------------------+
|
|
49
|
+
| centered, max-width: 720px |
|
|
50
|
+
| |
|
|
51
|
+
| OVERLINE (accent badge or small label) |
|
|
52
|
+
| |
|
|
53
|
+
| HEADLINE |
|
|
54
|
+
| (font-display, text-5xl, weight-bold, text-align: center)|
|
|
55
|
+
| letter-spacing: var(--tracking-tight) |
|
|
56
|
+
| |
|
|
57
|
+
| SUBTITLE |
|
|
58
|
+
| (text-xl, secondary, text-align: center, max-width 560px)|
|
|
59
|
+
| |
|
|
60
|
+
| [CTA Primary] |
|
|
61
|
+
| |
|
|
62
|
+
| SOCIAL PROOF LINE |
|
|
63
|
+
| (avatar cluster + "Trusted by 2,000+ teams") |
|
|
64
|
+
| |
|
|
65
|
+
+-----------------------------------------------------------+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Use when: message is the product. No visual needed above the fold.
|
|
69
|
+
|
|
70
|
+
### Pattern C: Immersive Hero
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
+-----------------------------------------------------------+
|
|
74
|
+
| full-width background: warm gradient or warm photography |
|
|
75
|
+
| (subtle warm overlay if image is cold) |
|
|
76
|
+
| |
|
|
77
|
+
| centered content, max-width: 640px |
|
|
78
|
+
| |
|
|
79
|
+
| HEADLINE (white or light text if on dark background) |
|
|
80
|
+
| SUBTITLE |
|
|
81
|
+
| [CTA on warm background] |
|
|
82
|
+
| |
|
|
83
|
+
+-----------------------------------------------------------+
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Use when: brand-heavy, emotional product, premium feel.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Section Patterns
|
|
91
|
+
|
|
92
|
+
### Feature Grid
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
SECTION HEADER
|
|
96
|
+
overline: var(--text-sm), var(--accent), var(--tracking-wider), uppercase
|
|
97
|
+
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
98
|
+
subtitle: var(--text-lg), var(--text-secondary), max-width 600px
|
|
99
|
+
text-align: center or left
|
|
100
|
+
margin-bottom: var(--space-12)
|
|
101
|
+
|
|
102
|
+
GRID
|
|
103
|
+
display: grid
|
|
104
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
|
|
105
|
+
gap: var(--space-6)
|
|
106
|
+
uses: Feature Card component
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Rules:
|
|
110
|
+
- Max 6 features in a grid. If more, group into categories.
|
|
111
|
+
- Each feature card should have a warm icon area (not just an icon floating in space).
|
|
112
|
+
|
|
113
|
+
### Alternating Feature Sections
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
SECTION 1 (image left, text right)
|
|
117
|
+
+---------------------------+---------------------------+
|
|
118
|
+
| [Product screenshot | OVERLINE |
|
|
119
|
+
| or illustration, | TITLE (serif, 2xl) |
|
|
120
|
+
| rounded-2xl, | DESCRIPTION |
|
|
121
|
+
| warm shadow] | BULLET POINTS |
|
|
122
|
+
| | [CTA link →] |
|
|
123
|
+
+---------------------------+---------------------------+
|
|
124
|
+
|
|
125
|
+
SECTION 2 (text left, image right)
|
|
126
|
+
+---------------------------+---------------------------+
|
|
127
|
+
| OVERLINE | [Product screenshot |
|
|
128
|
+
| TITLE | different angle] |
|
|
129
|
+
| DESCRIPTION | |
|
|
130
|
+
+---------------------------+---------------------------+
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Rules:
|
|
134
|
+
- Always alternate sides.
|
|
135
|
+
- Images should be real product screenshots with warm treatment (rounded corners, soft shadow, slight warm tint).
|
|
136
|
+
- Vertical padding between sections: `var(--space-20)` or `var(--space-24)`.
|
|
137
|
+
|
|
138
|
+
### Testimonials
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Option A — Pull Quote:
|
|
142
|
+
font: var(--font-display), var(--text-2xl), italic
|
|
143
|
+
color: var(--text-heading)
|
|
144
|
+
max-width: 640px
|
|
145
|
+
text-align: center
|
|
146
|
+
warm accent bar on left or oversized opening quote mark
|
|
147
|
+
|
|
148
|
+
attribution:
|
|
149
|
+
avatar (48px) + name + title + company
|
|
150
|
+
font: var(--font-body), var(--text-sm)
|
|
151
|
+
margin-top: var(--space-6)
|
|
152
|
+
|
|
153
|
+
Option B — Card Grid:
|
|
154
|
+
3 columns of testimonial cards
|
|
155
|
+
Each: quote + avatar + name + role
|
|
156
|
+
background: var(--bg-surface)
|
|
157
|
+
border: 1px solid var(--border-subtle)
|
|
158
|
+
border-radius: var(--radius-2xl)
|
|
159
|
+
padding: var(--space-6)
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Rules:
|
|
163
|
+
- Pull quote is preferred for warm aesthetic. Card grid is acceptable for volume.
|
|
164
|
+
- Never more than one testimonial section per page.
|
|
165
|
+
|
|
166
|
+
### Social Proof Strip
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
horizontal row of logos or metrics
|
|
170
|
+
"Trusted by teams at [Logo] [Logo] [Logo] [Logo]"
|
|
171
|
+
logos: grayscale, opacity 0.5, warm-tinted
|
|
172
|
+
hover: opacity 1
|
|
173
|
+
|
|
174
|
+
or metrics:
|
|
175
|
+
"10K+ users | 4.9/5 rating | 50+ countries"
|
|
176
|
+
font: var(--font-body), var(--text-lg), var(--weight-semibold)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Pricing Section
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
SECTION HEADER (centered)
|
|
183
|
+
title: "Simple, transparent pricing"
|
|
184
|
+
subtitle: "No hidden fees. Cancel anytime."
|
|
185
|
+
|
|
186
|
+
PRICING CARDS (2-3 columns, centered)
|
|
187
|
+
each card:
|
|
188
|
+
background: var(--bg-surface)
|
|
189
|
+
border: 1px solid var(--border-subtle)
|
|
190
|
+
border-radius: var(--radius-2xl)
|
|
191
|
+
padding: var(--space-8)
|
|
192
|
+
|
|
193
|
+
plan name: var(--text-lg), var(--weight-semibold)
|
|
194
|
+
price: var(--font-display), var(--text-4xl), var(--weight-bold)
|
|
195
|
+
per period: var(--text-sm), var(--text-secondary)
|
|
196
|
+
feature list: checkmarks with var(--semantic-green)
|
|
197
|
+
CTA: Primary or Secondary Button (full width)
|
|
198
|
+
|
|
199
|
+
recommended card:
|
|
200
|
+
border: 2px solid var(--accent)
|
|
201
|
+
shadow: var(--shadow-lg)
|
|
202
|
+
"Most Popular" badge above card
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### CTA Section (before footer)
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
background: var(--bg-void)
|
|
209
|
+
border-radius: var(--radius-3xl)
|
|
210
|
+
padding: var(--space-16) var(--space-8)
|
|
211
|
+
text-align: center
|
|
212
|
+
margin: var(--space-16) auto
|
|
213
|
+
max-width: var(--content-lg)
|
|
214
|
+
|
|
215
|
+
title: var(--font-display), var(--text-3xl), var(--weight-bold)
|
|
216
|
+
subtitle: var(--text-lg), var(--text-secondary)
|
|
217
|
+
[CTA Primary — Large variant] + [CTA Secondary]
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Footer
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
background: var(--bg-void)
|
|
226
|
+
border-top: 1px solid var(--border-subtle)
|
|
227
|
+
padding: var(--space-16) var(--space-8) var(--space-8)
|
|
228
|
+
|
|
229
|
+
LAYOUT (4 columns on desktop, stacked on mobile)
|
|
230
|
+
Column 1: Logo + tagline + social icons
|
|
231
|
+
Columns 2-4: Link groups (Product, Company, Resources)
|
|
232
|
+
|
|
233
|
+
link group title:
|
|
234
|
+
font: var(--font-body), var(--text-sm), var(--weight-semibold)
|
|
235
|
+
color: var(--text-heading)
|
|
236
|
+
margin-bottom: var(--space-4)
|
|
237
|
+
|
|
238
|
+
links:
|
|
239
|
+
font: var(--text-sm), var(--text-secondary)
|
|
240
|
+
hover: var(--text-heading)
|
|
241
|
+
line-height: 2
|
|
242
|
+
|
|
243
|
+
BOTTOM BAR
|
|
244
|
+
border-top: 1px solid var(--border-subtle)
|
|
245
|
+
margin-top: var(--space-8)
|
|
246
|
+
padding-top: var(--space-6)
|
|
247
|
+
display: flex; justify-content: space-between
|
|
248
|
+
copyright: var(--text-xs), var(--text-muted)
|
|
249
|
+
legal links: var(--text-xs), var(--text-secondary)
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Navigation (Websites)
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
STICKY HEADER
|
|
258
|
+
height: 72px
|
|
259
|
+
background: rgba(253, 252, 250, 0.85) /* bg-base with blur */
|
|
260
|
+
backdrop-filter: blur(12px)
|
|
261
|
+
border-bottom: 1px solid var(--border-subtle)
|
|
262
|
+
position: sticky; top: 0
|
|
263
|
+
z-index: var(--z-sticky)
|
|
264
|
+
|
|
265
|
+
logo (left): max-height 32px
|
|
266
|
+
nav links (center): var(--text-sm), var(--weight-medium), var(--text-secondary)
|
|
267
|
+
hover: var(--text-heading)
|
|
268
|
+
active: var(--text-heading) + subtle underline
|
|
269
|
+
CTA (right): Primary Button (compact variant)
|
|
270
|
+
|
|
271
|
+
MOBILE (< 768px)
|
|
272
|
+
hamburger icon → slide-in drawer from right
|
|
273
|
+
full-height, var(--bg-surface)
|
|
274
|
+
nav items stacked vertically
|
|
275
|
+
CTA at bottom of drawer
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Anti-Patterns (Never Do This)
|
|
281
|
+
|
|
282
|
+
1. **Generic hero:** Centered headline, two buttons, abstract gradient background. This is every AI-generated landing page.
|
|
283
|
+
2. **Icon grid features:** 6 features as icon + title + one-line description in a 3x2 grid. Lazy and undifferentiated.
|
|
284
|
+
3. **Blue accent on warm page:** Blue CTAs or links break the warm system. Use terracotta or sage.
|
|
285
|
+
4. **Stock photography without warm treatment:** Raw stock photos feel cold. Apply rounded corners, soft shadow, warm tint overlay if needed.
|
|
286
|
+
5. **Testimonials as afterthought:** Generic quote in a gray box at the bottom. Either make it editorial (serif, large) or skip it.
|
|
287
|
+
6. **Dense footer:** Footer should breathe like the rest of the page. Generous padding, warm background.
|
|
288
|
+
7. **Multiple CTAs competing:** One primary CTA per viewport. Secondary CTAs use Ghost or Secondary button style.
|
|
289
|
+
8. **Repeating the same layout:** If sections 2, 3, and 4 all use the same card grid, the page feels generated. Vary the composition.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design
|
|
3
|
+
description: Cognitive Core Design System — a modular visual identity system for building dark/light themed dashboards, frontpages, admin panels, institutional sites, landing pages, and any web interface. Use this skill whenever asked to build, style, or design ANY web UI — dashboards, SaaS panels, landing pages, institutional websites, portfolio pages, command centers, admin tools, or frontpages. Triggers on phrases like "use the design skill", "cognitive core style", "apply the design system", "dark dashboard", "build a landing page", "create a frontpage", "mentes sinteticas layout", "build an admin panel", "create a website with our visual identity", or any request for a styled web interface. This skill routes to sub-modules — always read this file first, then load only the modules you need.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cognitive Core Design System
|
|
7
|
+
|
|
8
|
+
A modular visual identity system. Agents read THIS file first, then load only the sub-modules needed for the task.
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
skills/design/
|
|
14
|
+
├── SKILL.md ← YOU ARE HERE (router)
|
|
15
|
+
├── foundations/
|
|
16
|
+
│ └── SKILL.md ← Colors, typography, spacing, themes, CSS variables
|
|
17
|
+
├── components/
|
|
18
|
+
│ └── SKILL.md ← Cards, tables, sidebars, forms, modals, stats, badges
|
|
19
|
+
├── patterns/
|
|
20
|
+
│ └── SKILL.md ← Page-level layouts: dashboard, settings, auth, list-detail, frontpage
|
|
21
|
+
├── motion/
|
|
22
|
+
│ └── SKILL.md ← Animations: entrances, hovers, loading, transitions
|
|
23
|
+
└── dashboards/
|
|
24
|
+
└── SKILL.md ← Dashboard presets: control center, analytics, ops cockpit
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## How Agents Use This System
|
|
28
|
+
|
|
29
|
+
### Step 1: Read this file (you're doing it)
|
|
30
|
+
|
|
31
|
+
### Step 2: Classify the task
|
|
32
|
+
|
|
33
|
+
Determine what type of UI is being built:
|
|
34
|
+
|
|
35
|
+
| Task Type | Load These Modules |
|
|
36
|
+
|---|---|
|
|
37
|
+
| **Dashboard / Admin panel** | foundations → components → patterns → dashboards |
|
|
38
|
+
| **Landing page / Frontpage** | foundations → components → patterns → motion |
|
|
39
|
+
| **Institutional / Corporate site** | foundations → components → patterns → motion |
|
|
40
|
+
| **Settings / Config page** | foundations → components → patterns |
|
|
41
|
+
| **Auth page (login/register)** | foundations → components → patterns |
|
|
42
|
+
| **Single component** | foundations → components |
|
|
43
|
+
| **Quick styling fix** | foundations |
|
|
44
|
+
| **Animation work** | foundations → motion |
|
|
45
|
+
|
|
46
|
+
### Step 3: Read the required modules IN ORDER
|
|
47
|
+
|
|
48
|
+
Always start with `foundations/SKILL.md` — it has the CSS variables everything else depends on. Then read the others as needed.
|
|
49
|
+
|
|
50
|
+
### Step 4: Build
|
|
51
|
+
|
|
52
|
+
Compose the interface using tokens from foundations, building blocks from components, layouts from patterns, and animations from motion. For dashboards, the dashboards module has ready-to-use presets.
|
|
53
|
+
|
|
54
|
+
## Visual Identity Summary
|
|
55
|
+
|
|
56
|
+
The Cognitive Core aesthetic has three pillars:
|
|
57
|
+
|
|
58
|
+
1. **Command Center Authority** — Dense data, monospaced labels, large stat readouts, structured grids
|
|
59
|
+
2. **Premium Refinement** — Layered surfaces (3+ depth levels), subtle borders, teal/cyan accent as the "pulse"
|
|
60
|
+
3. **Structured Hierarchy** — Tabs, sidebars, card grids, section headers with icons, labeled zones
|
|
61
|
+
|
|
62
|
+
This applies to ALL output types — dashboards get the full treatment, but frontpages and institutional pages use the same typography, color system, and component vocabulary in a more open layout.
|
|
63
|
+
|
|
64
|
+
## Theme System
|
|
65
|
+
|
|
66
|
+
Every output supports dark/light toggle via `data-theme` attribute:
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<div data-theme="dark"> <!-- or "light" -->
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Toggle the attribute value to switch themes. The mechanism (state, JS toggle, server-side) depends on your stack.
|
|
73
|
+
|
|
74
|
+
Default to **dark** for dashboards/admin. Default to **light** for frontpages/institutional. Always include a theme toggle.
|
|
75
|
+
|
|
76
|
+
## Technology Boundary
|
|
77
|
+
|
|
78
|
+
This skill controls **visual identity only** — colors, typography, spacing, layout structure, component anatomy, and motion behavior. It does NOT dictate:
|
|
79
|
+
|
|
80
|
+
- Output format (HTML, JSX, Vue, Blade, Svelte, etc.)
|
|
81
|
+
- Framework or library choice
|
|
82
|
+
- Build tooling or bundling
|
|
83
|
+
- File structure or splitting strategy
|
|
84
|
+
|
|
85
|
+
The agent building the interface decides all technology concerns. This skill provides the **what it should look like**, the agent decides the **how to build it**.
|
|
86
|
+
|
|
87
|
+
Code examples in sub-modules use inline style objects for clarity. Treat them as **design specifications**, not copy-paste code. Adapt the property names and syntax to whatever technology the agent is targeting.
|
|
88
|
+
|
|
89
|
+
## Required Assets (all technologies)
|
|
90
|
+
|
|
91
|
+
- **Fonts**: Google Fonts — JetBrains Mono + Inter (import via CSS `@import` or `<link>` tag)
|
|
92
|
+
- **Icons**: Any icon library. Emoji placeholders in examples are just for illustration.
|
|
Binary file
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-components
|
|
3
|
+
description: Reusable UI components for the Cognitive Core design system — cards, tables, sidebars, forms, modals, stats blocks, badges, progress bars, buttons, inputs, and navigation elements. Load foundations/SKILL.md first. Use when building any part of a web interface that needs structured UI elements.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Components — UI Building Blocks
|
|
7
|
+
|
|
8
|
+
Requires: `foundations/SKILL.md` loaded first (CSS variables must be present).
|
|
9
|
+
|
|
10
|
+
All components use CSS variables and adapt to dark/light theme automatically.
|
|
11
|
+
|
|
12
|
+
**Note on examples:** Code snippets below use inline style objects as a **notation for design specs** — they describe visual properties, not mandate a technology. The agent decides whether to output CSS classes, Tailwind utilities, inline styles, styled-components, or anything else. Read the property-value pairs as a design specification. The shorthand `TT` in examples represents the theme transition: `transition: background 250ms ease, color 250ms ease, border-color 250ms ease, box-shadow 250ms ease`.
|
|
13
|
+
|
|
14
|
+
## 1. Stat Card
|
|
15
|
+
|
|
16
|
+
Large numeric readout with mono label. Used in stat rows at top of pages.
|
|
17
|
+
|
|
18
|
+
```jsx
|
|
19
|
+
<div style={{
|
|
20
|
+
background: 'var(--bg-surface)', border: '1px solid var(--border-subtle)',
|
|
21
|
+
borderRadius: 'var(--radius-lg)', padding: 'var(--space-4) var(--space-5)',
|
|
22
|
+
minWidth: 140, flex: 1, ...TT,
|
|
23
|
+
}}>
|
|
24
|
+
<div style={{ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', color: 'var(--text-muted)',
|
|
25
|
+
letterSpacing: 'var(--tracking-widest)', textTransform: 'uppercase', fontWeight: 600, marginBottom: 'var(--space-1)' }}>
|
|
26
|
+
LABEL
|
|
27
|
+
</div>
|
|
28
|
+
<div style={{ display: 'flex', alignItems: 'baseline', gap: 4 }}>
|
|
29
|
+
<span style={{ fontFamily: 'var(--font-body)', fontSize: 'var(--text-4xl)', fontWeight: 700,
|
|
30
|
+
color: 'var(--text-heading)', lineHeight: 1 }}>42</span>
|
|
31
|
+
<span style={{ fontSize: 'var(--text-lg)', color: 'var(--text-muted)' }}>/100</span>
|
|
32
|
+
</div>
|
|
33
|
+
<div style={{ fontSize: 'var(--text-sm)', color: 'var(--text-muted)', marginTop: 'var(--space-1)' }}>
|
|
34
|
+
subtitle text
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Accent variant: replace `color: 'var(--text-heading)'` with `color: 'var(--semantic-green)'` (or red/amber).
|
|
40
|
+
|
|
41
|
+
## 2. Card (base)
|
|
42
|
+
|
|
43
|
+
The fundamental container. Everything lives in cards.
|
|
44
|
+
|
|
45
|
+
```jsx
|
|
46
|
+
const cardStyle = {
|
|
47
|
+
background: 'var(--bg-surface)',
|
|
48
|
+
border: '1px solid var(--border-subtle)',
|
|
49
|
+
borderRadius: 'var(--radius-lg)',
|
|
50
|
+
padding: 'var(--space-5)',
|
|
51
|
+
transition: 'var(--transition-theme), transform 150ms ease',
|
|
52
|
+
};
|
|
53
|
+
// Hover: borderColor → var(--border-medium), boxShadow → var(--shadow-glow), transform → translateY(-1px)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 3. Info Card (icon + title + description + quote)
|
|
57
|
+
|
|
58
|
+
Used in grids for features, capabilities, items.
|
|
59
|
+
|
|
60
|
+
Structure:
|
|
61
|
+
```
|
|
62
|
+
┌─────────────────────────────────┐
|
|
63
|
+
│ 📈 [icon] Badge text │ ← header row
|
|
64
|
+
│ Card Title │ ← accent color
|
|
65
|
+
│ Description text here that │ ← secondary color
|
|
66
|
+
│ explains the item. │
|
|
67
|
+
│ ┃ "Optional quote text" │ ← muted, left border
|
|
68
|
+
└─────────────────────────────────┘
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
- Header: flex, space-between. Icon left, badge right (mono, `--text-xs`, muted).
|
|
72
|
+
- Title: `--text-lg`, `--weight-semibold`, `color: var(--text-accent)`
|
|
73
|
+
- Desc: `--text-base`, `--text-secondary`, `line-height: 1.5`
|
|
74
|
+
- Quote: italic, `--text-muted`, `border-left: 2px solid var(--accent-dim)`, `padding-left: var(--space-3)`
|
|
75
|
+
|
|
76
|
+
## 4. Profile Header
|
|
77
|
+
|
|
78
|
+
Entity header with avatar, name, role, badges, and stat cards.
|
|
79
|
+
|
|
80
|
+
Structure:
|
|
81
|
+
```
|
|
82
|
+
┌──────────────────────────────────────────────────────────┐
|
|
83
|
+
│ [Avatar 96px] BIG NAME [Badge] [Badge] │
|
|
84
|
+
│ ID: XXX Role (italic, accent) │
|
|
85
|
+
│ ✦ TAGLINE (mono, xs, muted) │
|
|
86
|
+
│ │
|
|
87
|
+
│ ┌─StatCard─┐ ┌─StatCard─┐ ┌─StatCard─┐ │
|
|
88
|
+
└──────────────────────────────────────────────────────────┘
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- Avatar: `96px`, `border-radius: var(--radius-lg)`, `border: 2px solid var(--border-subtle)`
|
|
92
|
+
- ID: mono, `--text-xs`, absolute positioned below avatar
|
|
93
|
+
- Name: `--text-3xl`, `--weight-black`, `--tracking-tight`, `--text-heading`
|
|
94
|
+
- Role: `color: var(--text-accent)`, `font-style: italic`, `--text-lg`
|
|
95
|
+
- Badges: use Badge component (see below)
|
|
96
|
+
|
|
97
|
+
## 5. Badge / Chip
|
|
98
|
+
|
|
99
|
+
Three variants:
|
|
100
|
+
|
|
101
|
+
**Accent badge** (primary, active states):
|
|
102
|
+
```jsx
|
|
103
|
+
{ background: 'var(--accent-dim)', color: 'var(--accent)', border: '1px solid var(--border-accent)',
|
|
104
|
+
fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', fontWeight: 600,
|
|
105
|
+
letterSpacing: 'var(--tracking-wider)', textTransform: 'uppercase',
|
|
106
|
+
padding: '2px 10px', borderRadius: 'var(--radius-sm)' }
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Outline badge** (neutral tags):
|
|
110
|
+
```jsx
|
|
111
|
+
{ background: 'transparent', color: 'var(--text-secondary)', border: '1px solid var(--border-medium)',
|
|
112
|
+
/* same font styles as accent */ }
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Semantic badge** (status — swap vars):
|
|
116
|
+
- Success: `background: var(--semantic-green-dim)`, `color: var(--semantic-green)`
|
|
117
|
+
- Danger: `var(--semantic-red-dim)`, `var(--semantic-red)`
|
|
118
|
+
- Warning: `var(--semantic-amber-dim)`, `var(--semantic-amber)`
|
|
119
|
+
- Info: `var(--semantic-blue-dim)`, `var(--semantic-blue)`
|
|
120
|
+
|
|
121
|
+
All include a status dot: `width: 5px, height: 5px, borderRadius: 50%, background: [color]`
|
|
122
|
+
|
|
123
|
+
## 6. Tab Navigation
|
|
124
|
+
|
|
125
|
+
```jsx
|
|
126
|
+
<div style={{ display: 'flex', gap: 2, borderBottom: '1px solid var(--border-subtle)', padding: '0 var(--space-6)', overflowX: 'auto' }}>
|
|
127
|
+
<button style={{
|
|
128
|
+
fontFamily: 'var(--font-body)', fontSize: 'var(--text-base)',
|
|
129
|
+
color: isActive ? 'var(--text-accent)' : 'var(--text-secondary)',
|
|
130
|
+
background: 'none', border: 'none', padding: 'var(--space-3) var(--space-4)',
|
|
131
|
+
borderBottom: `2px solid ${isActive ? 'var(--accent)' : 'transparent'}`,
|
|
132
|
+
cursor: 'pointer', display: 'flex', alignItems: 'center', gap: 'var(--space-2)',
|
|
133
|
+
}}>
|
|
134
|
+
<span style={{ fontSize: 'var(--text-sm)' }}>icon</span> Label
|
|
135
|
+
</button>
|
|
136
|
+
</div>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## 7. Sidebar Tree
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
┌──────────────────┐
|
|
143
|
+
│ SECTION LABEL │ ← mono, xs, muted, uppercase, tracking-widest
|
|
144
|
+
│ ⊞ Item Active │ ← bg-surface, border-subtle, text-heading
|
|
145
|
+
│ 📊 Item │ ← text-secondary, transparent bg
|
|
146
|
+
│ 💬 Item │
|
|
147
|
+
│ │
|
|
148
|
+
│ SECTION LABEL │
|
|
149
|
+
│ ○ Category │ ← text-muted or text-accent when active
|
|
150
|
+
│ ● Category (on) │
|
|
151
|
+
└──────────────────┘
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Width: `200-220px`. Items: `padding: var(--space-2) var(--space-3)`, `border-radius: var(--radius-md)`.
|
|
155
|
+
|
|
156
|
+
## 8. Progress Bar
|
|
157
|
+
|
|
158
|
+
```jsx
|
|
159
|
+
<div style={{ height: 5, background: 'var(--bg-elevated)', borderRadius: 'var(--radius-full)', overflow: 'hidden' }}>
|
|
160
|
+
<div style={{ height: '100%', borderRadius: 'var(--radius-full)', background: color, width: `${pct}%`, transition: 'width 300ms ease' }} />
|
|
161
|
+
</div>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Colors: `var(--accent)` (default), `var(--semantic-green)`, `var(--semantic-red)`, `var(--semantic-amber)`, `var(--semantic-purple)`.
|
|
165
|
+
|
|
166
|
+
## 9. Section Header
|
|
167
|
+
|
|
168
|
+
```jsx
|
|
169
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-3)', padding: 'var(--space-6) 0 var(--space-4)' }}>
|
|
170
|
+
<span style={{ color: 'var(--accent)', fontSize: 'var(--text-lg)' }}>⚡</span>
|
|
171
|
+
<h2 style={{ fontFamily: 'var(--font-display)', fontSize: 'var(--text-xl)', fontWeight: 700, color: 'var(--text-heading)', margin: 0 }}>Title</h2>
|
|
172
|
+
</div>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## 10. Mode Panel (accent feature box)
|
|
176
|
+
|
|
177
|
+
Centered panel with radial glow — used for "operating mode", "status", or a featured CTA.
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
┌─────────── border-accent ──────────┐
|
|
181
|
+
│ ◆ BADGE PILL │
|
|
182
|
+
│ [Icon 56px] │ ← accent border, glow shadow
|
|
183
|
+
│ MONO LABEL │
|
|
184
|
+
│ Large Title │
|
|
185
|
+
│ "Subtitle italic" │
|
|
186
|
+
│ radial-gradient glow behind │
|
|
187
|
+
└────────────────────────────────────┘
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## 11. Top Navigation Bar
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
┌──────────────────────────────────────────────────────┐
|
|
194
|
+
│ [Logo] AppName Link Link Link [☀] [Badge] │
|
|
195
|
+
│ SUBTITLE │
|
|
196
|
+
└──────────────────────────────────────────────────────┘
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- Background: `var(--bg-void)`, sticky, `z-index: var(--z-sticky)`
|
|
200
|
+
- Logo: `36px`, `background: var(--accent-dim)`, `border: 1px solid var(--accent)`, `border-radius: var(--radius-md)`
|
|
201
|
+
- Brand name: mono, `--weight-bold`, `--text-heading`
|
|
202
|
+
- Subtitle: mono, `--text-xs`, `--text-muted`, uppercase
|
|
203
|
+
- Theme toggle: `36px` button, `var(--bg-surface)`, `var(--border-subtle)`
|
|
204
|
+
|
|
205
|
+
## 12. Modal / Detail Overlay
|
|
206
|
+
|
|
207
|
+
- Backdrop: `rgba(0,0,0,0.6)`, centered flex, `z-index: var(--z-modal)`
|
|
208
|
+
- Content: `var(--bg-base)`, `border: 1px solid var(--border-subtle)`, `border-radius: var(--radius-xl)`, `max-width: 700px`
|
|
209
|
+
- Header: padding, border-bottom, flex with close button
|
|
210
|
+
- Body: reuses stat cards, progress bars, badges, section headers
|
|
211
|
+
|
|
212
|
+
## 13. Data Table
|
|
213
|
+
|
|
214
|
+
For list views and tabular data:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
┌────────────────────────────────────────────────────┐
|
|
218
|
+
│ NAME ▲ CATEGORY STOCK STATUS PRICE │ ← mono header, --text-xs, --text-muted
|
|
219
|
+
├────────────────────────────────────────────────────┤
|
|
220
|
+
│ Product Name Laptops 23 [●OK] R$12k │ ← --text-primary, hover row highlight
|
|
221
|
+
│ Product Name Phones 5 [●Crit] R$8k │
|
|
222
|
+
└────────────────────────────────────────────────────┘
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
- Header row: `background: var(--bg-elevated)`, mono labels
|
|
226
|
+
- Body rows: `border-bottom: 1px solid var(--border-subtle)`, hover: `background: var(--accent-subtle)`
|
|
227
|
+
- Always include sortable headers if data is tabular
|
|
228
|
+
|
|
229
|
+
## 14. Form Elements
|
|
230
|
+
|
|
231
|
+
**Input:**
|
|
232
|
+
```jsx
|
|
233
|
+
{ background: 'var(--bg-surface)', border: '1px solid var(--border-medium)',
|
|
234
|
+
borderRadius: 'var(--radius-md)', padding: 'var(--space-2) var(--space-3)',
|
|
235
|
+
color: 'var(--text-primary)', fontSize: 'var(--text-base)',
|
|
236
|
+
fontFamily: 'var(--font-body)', outline: 'none' }
|
|
237
|
+
// Focus: borderColor → var(--border-accent-strong), boxShadow → 0 0 0 3px var(--accent-glow)
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Label:** mono label style (xs, muted, uppercase, tracking-widest). Place above input with `margin-bottom: var(--space-1)`.
|
|
241
|
+
|
|
242
|
+
**Button primary:**
|
|
243
|
+
```jsx
|
|
244
|
+
{ background: 'var(--accent)', color: 'var(--text-inverse)', border: 'none',
|
|
245
|
+
borderRadius: 'var(--radius-md)', padding: 'var(--space-2) var(--space-5)',
|
|
246
|
+
fontFamily: 'var(--font-mono)', fontSize: 'var(--text-sm)', fontWeight: 600,
|
|
247
|
+
letterSpacing: 'var(--tracking-wider)', textTransform: 'uppercase', cursor: 'pointer' }
|
|
248
|
+
// Hover: background → var(--accent-hover)
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Button secondary:**
|
|
252
|
+
```jsx
|
|
253
|
+
{ background: 'transparent', color: 'var(--text-secondary)',
|
|
254
|
+
border: '1px solid var(--border-medium)', /* rest same as primary */ }
|
|
255
|
+
// Hover: borderColor → var(--border-accent), color → var(--text-accent)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## 15. DNA Panel (Sliders + Tags)
|
|
259
|
+
|
|
260
|
+
Combined panel with labeled metrics and tag group. The "personality" card of any entity.
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
┌─────────────────────────────────────────┐
|
|
264
|
+
│ ✦ PANEL TITLE │
|
|
265
|
+
│ │
|
|
266
|
+
│ LABEL ███████████████░░░░░ 72% │ ← mono labels, progress bar, value
|
|
267
|
+
│ LABEL █████████░░░░░░░░░░ 58% │
|
|
268
|
+
│ LABEL ████████████░░░░░░░ 85% │
|
|
269
|
+
│ │
|
|
270
|
+
│ [Badge] [Badge] [Badge] [Badge] │ ← flex wrap, gap var(--space-2)
|
|
271
|
+
└─────────────────────────────────────────┘
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Each row: `display: flex, align-items: center, gap: var(--space-3)`. Label min-width 80px. Progress bar flex:1. Value mono, `--text-sm`.
|