@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.
Files changed (330) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/LICENSE +661 -21
  3. package/README.md +22 -3
  4. package/docs/en/squad-dashboard.md +372 -0
  5. package/docs/openclaw-bridge.md +308 -0
  6. package/docs/pt/README.md +62 -2
  7. package/docs/pt/advisor-spec.md +5 -5
  8. package/docs/pt/agentes-customizados.md +670 -0
  9. package/docs/pt/agentes.md +235 -23
  10. package/docs/pt/automacao-squads.md +407 -0
  11. package/docs/pt/cenarios.md +49 -5
  12. package/docs/pt/clientes-ai.md +62 -0
  13. package/docs/pt/comandos-cli.md +226 -17
  14. package/docs/pt/deyvin.md +115 -0
  15. package/docs/pt/genome-3.0-spec.md +11 -11
  16. package/docs/pt/inicio-rapido.md +63 -2
  17. package/docs/pt/memoria-contexto.md +255 -0
  18. package/docs/pt/output-strategy-delivery.md +655 -0
  19. package/docs/pt/profiler-system.md +17 -17
  20. package/docs/pt/runtime-observability.md +5 -1
  21. package/docs/pt/skills.md +175 -0
  22. package/docs/pt/squad-dashboard.md +373 -0
  23. package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
  24. package/docs/testing/genome-2.0-matrix.md +5 -5
  25. package/docs/testing/genome-2.0-rollout.md +10 -10
  26. package/package.json +4 -4
  27. package/src/agents.js +21 -5
  28. package/src/backup-local.js +74 -0
  29. package/src/backup-provider.js +303 -0
  30. package/src/cli.js +276 -2
  31. package/src/commands/agents.js +22 -4
  32. package/src/commands/backup-local-cmd.js +25 -0
  33. package/src/commands/backup.js +533 -0
  34. package/src/commands/cloud.js +17 -17
  35. package/src/commands/context-pack.js +45 -0
  36. package/src/commands/implementation-plan.js +340 -0
  37. package/src/commands/learning.js +134 -0
  38. package/src/commands/live.js +1583 -0
  39. package/src/commands/runtime.js +1075 -2
  40. package/src/commands/scan-project.js +288 -24
  41. package/src/commands/setup-context.js +30 -2
  42. package/src/commands/skill.js +558 -0
  43. package/src/commands/squad-agent-create.js +788 -0
  44. package/src/commands/squad-daemon.js +209 -0
  45. package/src/commands/squad-dashboard.js +39 -0
  46. package/src/commands/squad-deploy.js +64 -0
  47. package/src/commands/squad-doctor.js +103 -1
  48. package/src/commands/squad-investigate.js +261 -0
  49. package/src/commands/squad-learning.js +209 -0
  50. package/src/commands/squad-mcp.js +270 -0
  51. package/src/commands/squad-pipeline.js +247 -1
  52. package/src/commands/squad-plan.js +329 -0
  53. package/src/commands/squad-processes.js +56 -0
  54. package/src/commands/squad-recovery.js +42 -0
  55. package/src/commands/squad-roi.js +291 -0
  56. package/src/commands/squad-score.js +250 -0
  57. package/src/commands/squad-status.js +38 -2
  58. package/src/commands/squad-validate.js +118 -1
  59. package/src/commands/squad-webhook.js +160 -0
  60. package/src/commands/squad-worker.js +191 -0
  61. package/src/commands/squad-worktrees.js +75 -0
  62. package/src/commands/test-agents.js +6 -1
  63. package/src/commands/web-map.js +70 -0
  64. package/src/commands/web-scrape.js +71 -0
  65. package/src/commands/workflow-next.js +8 -1
  66. package/src/commands/workflow-status.js +250 -0
  67. package/src/constants.js +88 -16
  68. package/src/context-memory.js +837 -0
  69. package/src/context-writer.js +47 -1
  70. package/src/delivery-runner.js +319 -0
  71. package/src/genome-files.js +1 -1
  72. package/src/genome-format.js +1 -1
  73. package/src/i18n/messages/en.js +333 -8
  74. package/src/i18n/messages/es.js +240 -6
  75. package/src/i18n/messages/fr.js +239 -5
  76. package/src/i18n/messages/pt-BR.js +330 -12
  77. package/src/installer.js +30 -2
  78. package/src/lib/genomes/compat.js +1 -1
  79. package/src/lib/webhook-server.js +328 -0
  80. package/src/mcp-connectors/registry.js +602 -0
  81. package/src/runtime-store.js +1037 -42
  82. package/src/session-handoff.js +77 -0
  83. package/src/squad/external-session.js +180 -0
  84. package/src/squad/inter-squad.js +74 -0
  85. package/src/squad/recovery-context.js +201 -0
  86. package/src/squad/worktree-manager.js +114 -0
  87. package/src/squad-daemon.js +490 -0
  88. package/src/squad-dashboard/api.js +223 -0
  89. package/src/squad-dashboard/attachment-handler.js +93 -0
  90. package/src/squad-dashboard/context-monitor.js +157 -0
  91. package/src/squad-dashboard/execution-logs.js +115 -0
  92. package/src/squad-dashboard/hunk-review.js +209 -0
  93. package/src/squad-dashboard/metrics.js +133 -0
  94. package/src/squad-dashboard/process-monitor.js +125 -0
  95. package/src/squad-dashboard/renderer.js +858 -0
  96. package/src/squad-dashboard/server.js +232 -0
  97. package/src/squad-dashboard/styles.js +525 -0
  98. package/src/squad-dashboard/token-tracker.js +99 -0
  99. package/src/web.js +284 -0
  100. package/src/worker-runner.js +339 -0
  101. package/template/.aioson/agents/analyst.md +40 -9
  102. package/template/.aioson/agents/architect.md +24 -5
  103. package/template/.aioson/agents/dev.md +254 -25
  104. package/template/.aioson/agents/deyvin.md +174 -0
  105. package/template/.aioson/agents/discovery-design-doc.md +25 -1
  106. package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
  107. package/template/.aioson/agents/neo.md +152 -0
  108. package/template/.aioson/agents/orache.md +388 -0
  109. package/template/.aioson/agents/orchestrator.md +63 -2
  110. package/template/.aioson/agents/pair.md +5 -0
  111. package/template/.aioson/agents/pm.md +17 -5
  112. package/template/.aioson/agents/product.md +113 -29
  113. package/template/.aioson/agents/profiler-enricher.md +1 -1
  114. package/template/.aioson/agents/profiler-forge.md +9 -9
  115. package/template/.aioson/agents/profiler-researcher.md +1 -1
  116. package/template/.aioson/agents/qa.md +18 -5
  117. package/template/.aioson/agents/setup.md +138 -18
  118. package/template/.aioson/agents/sheldon.md +603 -0
  119. package/template/.aioson/agents/squad.md +866 -28
  120. package/template/.aioson/agents/tester.md +254 -0
  121. package/template/.aioson/agents/ux-ui.md +289 -34
  122. package/template/.aioson/config.md +181 -0
  123. package/template/.aioson/context/spec.md.template +17 -0
  124. package/template/.aioson/genomes/.gitkeep +0 -0
  125. package/template/.aioson/installed-skills/.gitkeep +0 -0
  126. package/template/.aioson/locales/en/agents/analyst.md +34 -4
  127. package/template/.aioson/locales/en/agents/architect.md +18 -0
  128. package/template/.aioson/locales/en/agents/dev.md +155 -11
  129. package/template/.aioson/locales/en/agents/deyvin.md +137 -0
  130. package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
  131. package/template/.aioson/locales/en/agents/neo.md +8 -0
  132. package/template/.aioson/locales/en/agents/orchestrator.md +62 -2
  133. package/template/.aioson/locales/en/agents/pair.md +5 -0
  134. package/template/.aioson/locales/en/agents/pm.md +7 -0
  135. package/template/.aioson/locales/en/agents/product.md +35 -17
  136. package/template/.aioson/locales/en/agents/qa.md +56 -0
  137. package/template/.aioson/locales/en/agents/setup.md +53 -6
  138. package/template/.aioson/locales/en/agents/sheldon.md +340 -0
  139. package/template/.aioson/locales/en/agents/squad.md +203 -15
  140. package/template/.aioson/locales/en/agents/ux-ui.md +383 -35
  141. package/template/.aioson/locales/es/agents/analyst.md +24 -4
  142. package/template/.aioson/locales/es/agents/architect.md +18 -0
  143. package/template/.aioson/locales/es/agents/dev.md +136 -9
  144. package/template/.aioson/locales/es/agents/deyvin.md +97 -0
  145. package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
  146. package/template/.aioson/locales/es/agents/neo.md +48 -0
  147. package/template/.aioson/locales/es/agents/orache.md +103 -0
  148. package/template/.aioson/locales/es/agents/orchestrator.md +62 -2
  149. package/template/.aioson/locales/es/agents/pair.md +5 -0
  150. package/template/.aioson/locales/es/agents/pm.md +7 -0
  151. package/template/.aioson/locales/es/agents/product.md +13 -3
  152. package/template/.aioson/locales/es/agents/qa.md +33 -0
  153. package/template/.aioson/locales/es/agents/setup.md +30 -6
  154. package/template/.aioson/locales/es/agents/sheldon.md +192 -0
  155. package/template/.aioson/locales/es/agents/squad.md +284 -15
  156. package/template/.aioson/locales/es/agents/ux-ui.md +34 -25
  157. package/template/.aioson/locales/fr/agents/analyst.md +24 -4
  158. package/template/.aioson/locales/fr/agents/architect.md +18 -0
  159. package/template/.aioson/locales/fr/agents/dev.md +136 -9
  160. package/template/.aioson/locales/fr/agents/deyvin.md +97 -0
  161. package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
  162. package/template/.aioson/locales/fr/agents/neo.md +48 -0
  163. package/template/.aioson/locales/fr/agents/orache.md +104 -0
  164. package/template/.aioson/locales/fr/agents/orchestrator.md +62 -2
  165. package/template/.aioson/locales/fr/agents/pair.md +5 -0
  166. package/template/.aioson/locales/fr/agents/pm.md +7 -0
  167. package/template/.aioson/locales/fr/agents/product.md +13 -3
  168. package/template/.aioson/locales/fr/agents/qa.md +33 -0
  169. package/template/.aioson/locales/fr/agents/setup.md +30 -6
  170. package/template/.aioson/locales/fr/agents/sheldon.md +192 -0
  171. package/template/.aioson/locales/fr/agents/squad.md +279 -10
  172. package/template/.aioson/locales/fr/agents/ux-ui.md +34 -25
  173. package/template/.aioson/locales/pt-BR/agents/analyst.md +45 -4
  174. package/template/.aioson/locales/pt-BR/agents/architect.md +29 -0
  175. package/template/.aioson/locales/pt-BR/agents/dev.md +167 -15
  176. package/template/.aioson/locales/pt-BR/agents/deyvin.md +137 -0
  177. package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
  178. package/template/.aioson/locales/pt-BR/agents/neo.md +147 -0
  179. package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
  180. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +62 -2
  181. package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
  182. package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
  183. package/template/.aioson/locales/pt-BR/agents/product.md +43 -20
  184. package/template/.aioson/locales/pt-BR/agents/qa.md +67 -0
  185. package/template/.aioson/locales/pt-BR/agents/setup.md +53 -6
  186. package/template/.aioson/locales/pt-BR/agents/sheldon.md +192 -0
  187. package/template/.aioson/locales/pt-BR/agents/squad.md +591 -47
  188. package/template/.aioson/locales/pt-BR/agents/ux-ui.md +369 -22
  189. package/template/.aioson/my-agents/.gitkeep +0 -0
  190. package/template/.aioson/rules/.gitkeep +0 -0
  191. package/template/.aioson/rules/squad/.gitkeep +0 -0
  192. package/template/.aioson/rules/squad/README.md +50 -0
  193. package/template/.aioson/schemas/genome-meta.schema.json +1 -1
  194. package/template/.aioson/schemas/genome.schema.json +1 -1
  195. package/template/.aioson/schemas/squad-blueprint.schema.json +32 -0
  196. package/template/.aioson/schemas/squad-manifest.schema.json +434 -1
  197. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +205 -0
  198. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -0
  199. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -0
  200. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -0
  201. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -0
  202. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -0
  203. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -0
  204. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -0
  205. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +210 -0
  206. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -0
  207. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -0
  208. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -0
  209. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -0
  210. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -0
  211. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -0
  212. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -0
  213. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +203 -0
  214. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -0
  215. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
  216. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +272 -0
  217. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +524 -0
  218. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +277 -0
  219. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
  220. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +437 -0
  221. package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
  222. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
  223. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
  224. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
  225. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
  226. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
  227. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
  228. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
  229. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
  230. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
  231. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
  232. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +209 -0
  233. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -0
  234. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -0
  235. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -0
  236. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -0
  237. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -0
  238. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -0
  239. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -0
  240. package/template/.aioson/skills/design-system/SKILL.md +92 -0
  241. package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
  242. package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
  243. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  244. package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
  245. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  246. package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
  247. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  248. package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
  249. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  250. package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
  251. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
  252. package/template/.aioson/skills/premium-visual-design/SKILL.md +83 -0
  253. package/template/.aioson/skills/premium-visual-design/components/agent-badge.md +92 -0
  254. package/template/.aioson/skills/premium-visual-design/components/dependency-node.md +102 -0
  255. package/template/.aioson/skills/premium-visual-design/components/mention-autocomplete.md +136 -0
  256. package/template/.aioson/skills/premium-visual-design/components/notification-center.md +136 -0
  257. package/template/.aioson/skills/premium-visual-design/components/review-action-bar.md +188 -0
  258. package/template/.aioson/skills/premium-visual-design/components/team-switcher.md +131 -0
  259. package/template/.aioson/skills/premium-visual-design/patterns/agent-message-thread.md +198 -0
  260. package/template/.aioson/skills/premium-visual-design/patterns/notification-panel.md +275 -0
  261. package/template/.aioson/skills/premium-visual-design/patterns/review-workflow-ui.md +234 -0
  262. package/template/.aioson/skills/premium-visual-design/patterns/task-dependency-graph.md +147 -0
  263. package/template/.aioson/skills/premium-visual-design/tokens/status-extended.md +142 -0
  264. package/template/.aioson/skills/squad/SKILL.md +58 -0
  265. package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
  266. package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
  267. package/template/.aioson/skills/squad/formats/catalog.json +15 -0
  268. package/template/.aioson/skills/squad/formats/content/blog-post.md +47 -0
  269. package/template/.aioson/skills/squad/formats/content/newsletter.md +47 -0
  270. package/template/.aioson/skills/squad/formats/creative/podcast-script.md +43 -0
  271. package/template/.aioson/skills/squad/formats/creative/video-script.md +41 -0
  272. package/template/.aioson/skills/squad/formats/social/instagram-feed.md +42 -0
  273. package/template/.aioson/skills/squad/formats/social/linkedin-post.md +42 -0
  274. package/template/.aioson/skills/squad/formats/social/tiktok.md +39 -0
  275. package/template/.aioson/skills/squad/formats/social/twitter-thread.md +39 -0
  276. package/template/.aioson/skills/squad/formats/social/youtube-long.md +47 -0
  277. package/template/.aioson/skills/squad/formats/social/youtube-shorts.md +39 -0
  278. package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
  279. package/template/.aioson/skills/squad/patterns/multi-platform-pattern.md +108 -0
  280. package/template/.aioson/skills/squad/patterns/persona-based-pattern.md +98 -0
  281. package/template/.aioson/skills/squad/patterns/pipeline-pattern.md +106 -0
  282. package/template/.aioson/skills/squad/patterns/review-loop-pattern.md +81 -0
  283. package/template/.aioson/skills/squad/references/.gitkeep +0 -0
  284. package/template/.aioson/skills/squad/references/checklist-templates.md +122 -0
  285. package/template/.aioson/skills/squad/references/executor-archetypes.md +123 -0
  286. package/template/.aioson/skills/squad/references/workflow-templates.md +169 -0
  287. package/template/.aioson/skills/static/debugging-protocol.md +42 -0
  288. package/template/.aioson/skills/static/git-worktrees.md +36 -0
  289. package/template/.aioson/tasks/implementation-plan.md +307 -0
  290. package/template/.aioson/tasks/squad-create.md +1 -1
  291. package/template/.aioson/tasks/squad-design.md +28 -0
  292. package/template/.aioson/tasks/squad-execution-plan.md +279 -0
  293. package/template/.aioson/tasks/squad-export.md +1 -1
  294. package/template/.aioson/tasks/squad-investigate.md +44 -0
  295. package/template/.aioson/tasks/squad-learning-review.md +44 -0
  296. package/template/.aioson/tasks/squad-output-config.md +177 -0
  297. package/template/.aioson/tasks/squad-profile.md +48 -0
  298. package/template/.aioson/tasks/squad-review.md +61 -0
  299. package/template/.aioson/tasks/squad-task-decompose.md +66 -0
  300. package/template/.aioson/tasks/squad-validate.md +1 -1
  301. package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
  302. package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
  303. package/template/.claude/commands/aioson/agent/genome.md +5 -0
  304. package/template/.claude/commands/aioson/agent/neo.md +5 -0
  305. package/template/.claude/commands/aioson/agent/product.md +5 -0
  306. package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
  307. package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
  308. package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
  309. package/template/.claude/commands/aioson/agent/squad.md +5 -0
  310. package/template/.claude/commands/aioson/agent/tester.md +5 -0
  311. package/template/.gemini/GEMINI.md +3 -0
  312. package/template/.gemini/commands/aios-deyvin.toml +6 -0
  313. package/template/.gemini/commands/aios-neo.toml +4 -0
  314. package/template/.gemini/commands/aios-pair.toml +6 -0
  315. package/template/.gemini/commands/aios-tester.toml +6 -0
  316. package/template/AGENTS.md +37 -6
  317. package/template/CLAUDE.md +34 -4
  318. package/template/OPENCODE.md +8 -2
  319. package/template/squad-searches/.gitkeep +0 -0
  320. package/template/.aioson/skills/static/interface-design.md +0 -372
  321. package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
  322. /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
  323. /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
  324. /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
  325. /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
  326. /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
  327. /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
  328. /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
  329. /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
  330. /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
@@ -0,0 +1,407 @@
1
+ # Components — Cognitive Core UI
2
+
3
+ Read after `design-tokens.md`. All components use CSS variables and adapt to dark/light theme automatically.
4
+
5
+ Code examples use JSX inline style notation as **design specifications** — read property-value pairs as spec, then adapt syntax to the active stack (HTML, Vue, Blade, etc.). The shorthand `TT` means `{ transition: 'var(--transition-theme)' }`.
6
+
7
+ ---
8
+
9
+ ## 1. Top Navigation Bar
10
+
11
+ ```
12
+ ┌──────────────────────────────────────────────────────┐
13
+ │ [Logo] AppName Link Link Link [☀] [Badge] │
14
+ │ SUBTITLE │
15
+ └──────────────────────────────────────────────────────┘
16
+ ```
17
+
18
+ - Background: `var(--bg-void)`, `position: sticky`, `top: 0`, `z-index: var(--z-sticky)`
19
+ - Border-bottom: `1px solid var(--border-subtle)`
20
+ - Logo: `36px` square, `background: var(--accent-dim)`, `border: 1px solid var(--accent)`, `border-radius: var(--radius-md)`, icon in `var(--accent)`
21
+ - Brand name: `font-family: var(--font-mono)`, `--weight-bold`, `--text-base`, `--text-heading`, `letter-spacing: var(--tracking-wide)`
22
+ - Subtitle: mono, `--text-xs`, `--text-muted`, uppercase, `--tracking-widest`
23
+ - Nav links: `--text-base`. Active: `var(--text-accent)`. Inactive: `var(--text-secondary)`
24
+ - Theme toggle: `36px` button, `var(--bg-surface)`, `1px solid var(--border-subtle)` — only include when the product supports theme switching
25
+
26
+ ---
27
+
28
+ ## 2. Stat Card
29
+
30
+ Large numeric readout with mono label. Used in stat rows at the top of pages.
31
+
32
+ ```jsx
33
+ <div style={{
34
+ background: 'var(--bg-surface)', border: '1px solid var(--border-subtle)',
35
+ borderRadius: 'var(--radius-lg)', padding: 'var(--space-4) var(--space-5)',
36
+ minWidth: 140, flex: 1, ...TT,
37
+ }}>
38
+ <div style={{ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', color: 'var(--text-muted)',
39
+ letterSpacing: 'var(--tracking-widest)', textTransform: 'uppercase', fontWeight: 600,
40
+ marginBottom: 'var(--space-1)' }}>LABEL</div>
41
+ <div style={{ display: 'flex', alignItems: 'baseline', gap: 4 }}>
42
+ <span style={{ fontFamily: 'var(--font-display)', fontSize: 'var(--text-4xl)', fontWeight: 700,
43
+ color: 'var(--text-heading)', lineHeight: 1, fontVariantNumeric: 'tabular-nums' }}>42</span>
44
+ <span style={{ fontSize: 'var(--text-lg)', color: 'var(--text-muted)' }}>/100</span>
45
+ </div>
46
+ <div style={{ fontSize: 'var(--text-sm)', color: 'var(--text-muted)', marginTop: 'var(--space-1)' }}>
47
+ subtitle text
48
+ </div>
49
+ </div>
50
+ ```
51
+
52
+ Accent variant: replace stat number `color` with `var(--semantic-green)`, `var(--semantic-red)`, or `var(--semantic-amber)`.
53
+
54
+ ---
55
+
56
+ ## 3. Card (base)
57
+
58
+ The fundamental container. Everything lives in cards.
59
+
60
+ ```jsx
61
+ const cardStyle = {
62
+ background: 'var(--bg-surface)',
63
+ border: '1px solid var(--border-subtle)',
64
+ borderRadius: 'var(--radius-lg)',
65
+ padding: 'var(--space-5)',
66
+ transition: 'var(--transition-theme), border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease',
67
+ };
68
+ // Hover: borderColor → var(--border-medium), boxShadow → var(--shadow-glow), transform → translateY(-1px)
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 4. Info Card (icon + title + description + quote)
74
+
75
+ Used in grids for features, capabilities, items.
76
+
77
+ ```
78
+ ┌─────────────────────────────────┐
79
+ │ 📈 [icon] Badge text │ ← header row
80
+ │ Card Title │ ← accent color
81
+ │ Description text that explains │ ← secondary color
82
+ │ ┃ "Optional quote text" │ ← muted, left border
83
+ └─────────────────────────────────┘
84
+ ```
85
+
86
+ - Header: `display: flex; justify-content: space-between`. Icon left, badge right (mono, `--text-xs`, muted).
87
+ - Title: `--text-lg`, `--weight-semibold`, `color: var(--text-accent)`
88
+ - Description: `--text-base`, `--text-secondary`, `line-height: 1.5`
89
+ - Quote: italic, `--text-muted`, `border-left: 2px solid var(--accent-dim)`, `padding-left: var(--space-3)`
90
+
91
+ ---
92
+
93
+ ## 5. Profile Header
94
+
95
+ Entity header with avatar, name, role, badges, and stat cards.
96
+
97
+ ```
98
+ ┌──────────────────────────────────────────────────────────┐
99
+ │ [Avatar 96px] BIG NAME [Badge] [Badge] │
100
+ │ ID: XXX Role (italic, accent) │
101
+ │ ✦ TAGLINE (mono, xs, muted) │
102
+ │ │
103
+ │ ┌─StatCard─┐ ┌─StatCard─┐ ┌─StatCard─┐ │
104
+ └──────────────────────────────────────────────────────────┘
105
+ ```
106
+
107
+ - Avatar: `96px`, `border-radius: var(--radius-lg)`, `border: 2px solid var(--border-subtle)`
108
+ - Name: `--text-3xl`, `--weight-bold` by default, `--weight-black` only for a deliberately dramatic hero/profile treatment, `--tracking-tight`, `--text-heading`
109
+ - Role: `color: var(--text-accent)`, `font-style: italic`, `--text-lg`
110
+ - Tagline: mono, `--text-xs`, `--text-muted`, `--tracking-widest`, uppercase
111
+ - ID: mono, `--text-xs`, muted, absolute positioned below avatar
112
+ - Stat cards: same as component 2, `min-width: 130px`
113
+
114
+ ---
115
+
116
+ ## 6. Badge / Chip
117
+
118
+ Three variants — all use mono font, uppercase, `letter-spacing: var(--tracking-wider)`, `font-size: var(--text-xs)`.
119
+
120
+ **Accent badge** (active states, primary tags):
121
+ ```jsx
122
+ { background: 'var(--accent-dim)', color: 'var(--accent)', border: '1px solid var(--border-accent)',
123
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', fontWeight: 600,
124
+ letterSpacing: 'var(--tracking-wider)', textTransform: 'uppercase',
125
+ padding: '2px 10px', borderRadius: 'var(--radius-sm)' }
126
+ ```
127
+
128
+ **Outline badge** (neutral tags):
129
+ ```jsx
130
+ { background: 'transparent', color: 'var(--text-secondary)', border: '1px solid var(--border-medium)',
131
+ /* same font styles as accent */ }
132
+ ```
133
+
134
+ **Semantic badges** (status — swap vars):
135
+ - Success: `background: var(--semantic-green-dim)`, `color: var(--semantic-green)`, `border: 1px solid rgba(22,199,132,0.3)`
136
+ - Danger: `var(--semantic-red-dim)`, `var(--semantic-red)`, red border
137
+ - Warning: `var(--semantic-amber-dim)`, `var(--semantic-amber)`, amber border
138
+ - Info: `var(--semantic-blue-dim)`, `var(--semantic-blue)`, blue border
139
+
140
+ Status dot: `width: 5px; height: 5px; border-radius: 50%; background: currentColor; display: inline-block; margin-right: 5px`
141
+
142
+ ---
143
+
144
+ ## 7. Tab Navigation
145
+
146
+ ```jsx
147
+ <div style={{ display: 'flex', gap: 2, borderBottom: '1px solid var(--border-subtle)',
148
+ padding: '0 var(--space-6)', overflowX: 'auto', ...TT }}>
149
+ <button style={{
150
+ fontFamily: 'var(--font-body)', fontSize: 'var(--text-base)',
151
+ color: isActive ? 'var(--text-accent)' : 'var(--text-secondary)',
152
+ background: 'none', border: 'none',
153
+ padding: 'var(--space-3) var(--space-4)',
154
+ borderBottom: `2px solid ${isActive ? 'var(--accent)' : 'transparent'}`,
155
+ cursor: 'pointer', display: 'flex', alignItems: 'center', gap: 'var(--space-2)',
156
+ transition: 'color 150ms ease, border-color 150ms ease',
157
+ }}>
158
+ <span>icon</span> Label
159
+ </button>
160
+ </div>
161
+ ```
162
+
163
+ Hover (non-active): `background: var(--bg-elevated)`, `border-radius: var(--radius-md) var(--radius-md) 0 0`
164
+
165
+ ---
166
+
167
+ ## 8. Sidebar Tree
168
+
169
+ ```
170
+ ┌──────────────────┐
171
+ │ SECTION LABEL │ ← mono, xs, muted, uppercase, tracking-widest
172
+ │ ⊞ Item Active │ ← bg-elevated, border-left: 3px solid var(--accent), text-heading
173
+ │ 📊 Item │ ← text-secondary, transparent bg
174
+ │ 💬 Item │
175
+ │ │
176
+ │ SECTION LABEL │
177
+ │ ○ Category │ ← text-muted (inactive)
178
+ │ ● Category (on) │ ← text-accent (active)
179
+ └──────────────────┘
180
+ ```
181
+
182
+ Width: `200–220px`. Items: `padding: var(--space-2) var(--space-3)`, `border-radius: var(--radius-md)`.
183
+ Active item: `background: var(--bg-elevated)`, `border-left: 3px solid var(--accent)`.
184
+ Hover: `background: var(--bg-elevated)`, `color: var(--text-primary)`.
185
+
186
+ ---
187
+
188
+ ## 9. Section Header
189
+
190
+ ```jsx
191
+ <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-3)',
192
+ padding: 'var(--space-6) 0 var(--space-4)' }}>
193
+ <span style={{ color: 'var(--accent)', fontSize: 'var(--text-lg)' }}>⚡</span>
194
+ <h2 style={{ fontFamily: 'var(--font-display)', fontSize: 'var(--text-xl)',
195
+ fontWeight: 700, color: 'var(--text-heading)', margin: 0 }}>Title</h2>
196
+ </div>
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 10. Progress Bar
202
+
203
+ ```jsx
204
+ <div style={{ height: 5, background: 'var(--bg-elevated)',
205
+ borderRadius: 'var(--radius-full)', overflow: 'hidden' }}>
206
+ <div style={{ height: '100%', borderRadius: 'var(--radius-full)',
207
+ background: color, width: `${pct}%`,
208
+ transition: 'width 300ms cubic-bezier(0.16, 1, 0.3, 1)' }} />
209
+ </div>
210
+ ```
211
+
212
+ Colors: `var(--accent)`, `var(--semantic-green)`, `var(--semantic-red)`, `var(--semantic-amber)`, `var(--semantic-purple)`.
213
+
214
+ ---
215
+
216
+ ## 11. Mode Panel (accent feature box)
217
+
218
+ Centered panel with radial glow — for "operating mode", featured status, or a primary CTA.
219
+
220
+ ```
221
+ ┌─────────── border-accent ──────────┐
222
+ │ ◆ BADGE PILL │
223
+ │ [Icon 56px] │ ← accent border + glow shadow
224
+ │ MONO LABEL │
225
+ │ Large Title │
226
+ │ "Subtitle italic" │
227
+ │ radial-gradient glow behind │
228
+ └────────────────────────────────────┘
229
+ ```
230
+
231
+ - Border: `1px solid var(--border-accent)`, `border-radius: var(--radius-xl)`
232
+ - Background: `var(--bg-surface)` with `radial-gradient(circle at 50% 0%, var(--accent-glow), transparent 70%)`
233
+ - Icon: `56px`, circular, `background: var(--accent-dim)`, `border: 1px solid var(--accent)`, `color: var(--accent)`
234
+
235
+ ---
236
+
237
+ ## 12. DNA Panel (sliders + tags)
238
+
239
+ Combined panel with labeled progress metrics and a tag group. The "personality" card of any entity.
240
+
241
+ ```
242
+ ┌─────────────────────────────────────────┐
243
+ │ ✦ PANEL TITLE │
244
+ │ │
245
+ │ LABEL ████████████████░░░░ 72% │
246
+ │ LABEL ██████████░░░░░░░░░ 58% │
247
+ │ LABEL █████████████░░░░░░ 85% │
248
+ │ │
249
+ │ [Badge] [Badge] [Badge] [Badge] │
250
+ └─────────────────────────────────────────┘
251
+ ```
252
+
253
+ Each metric row: `display: flex; align-items: center; gap: var(--space-3)`.
254
+ Label: `min-width: 80px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted)`.
255
+ Bar: `flex: 1` (use Progress Bar component).
256
+ Value: mono, `--text-sm`, `--text-secondary`, `min-width: 40px; text-align: right`.
257
+ Tags: flex-wrap, `gap: var(--space-2)` (use Badge/Chip component).
258
+
259
+ ---
260
+
261
+ ## 13. Data Table
262
+
263
+ ```
264
+ ┌────────────────────────────────────────────────────┐
265
+ │ NAME ▲ CATEGORY STOCK STATUS PRICE │ ← mono header
266
+ ├────────────────────────────────────────────────────┤
267
+ │ Product Name Laptops 23 [●OK] R$12k │
268
+ │ Product Name Phones 5 [●Crit] R$8k │
269
+ └────────────────────────────────────────────────────┘
270
+ ```
271
+
272
+ **Premium table CSS (preferred — surfaced rows with hover):**
273
+
274
+ ```css
275
+ table {
276
+ width: 100%;
277
+ border-collapse: separate;
278
+ border-spacing: 0 8px;
279
+ }
280
+
281
+ thead th {
282
+ padding: 0 16px 8px;
283
+ font-family: var(--font-mono);
284
+ font-size: var(--text-xs);
285
+ letter-spacing: var(--tracking-widest);
286
+ text-transform: uppercase;
287
+ color: var(--text-muted);
288
+ text-align: left;
289
+ font-weight: 600;
290
+ }
291
+
292
+ tbody td {
293
+ padding: 14px 16px;
294
+ background: var(--bg-surface);
295
+ border-top: 1px solid var(--border-subtle);
296
+ border-bottom: 1px solid var(--border-subtle);
297
+ color: var(--text-primary);
298
+ font-size: var(--text-base);
299
+ transition: var(--transition-theme);
300
+ font-variant-numeric: tabular-nums;
301
+ }
302
+
303
+ tbody td:first-child {
304
+ border-left: 1px solid var(--border-subtle);
305
+ border-top-left-radius: var(--radius-lg);
306
+ border-bottom-left-radius: var(--radius-lg);
307
+ }
308
+
309
+ tbody td:last-child {
310
+ border-right: 1px solid var(--border-subtle);
311
+ border-top-right-radius: var(--radius-lg);
312
+ border-bottom-right-radius: var(--radius-lg);
313
+ }
314
+
315
+ tbody tr:hover td {
316
+ background: var(--bg-elevated);
317
+ border-color: var(--border-medium);
318
+ }
319
+ ```
320
+
321
+ **Rules:**
322
+ - Never use `border-collapse: collapse` with `tr` backgrounds in this visual system — hover fills look like hard painted rectangles.
323
+ - If the existing stack forces `collapse`, style `td` cells as the surface, not `tr`.
324
+ - In brownfield: check if the table should stay a table or become a list-detail surface before rewriting.
325
+
326
+ **Failure signs to fix:**
327
+ - Serif fallback or typography mismatch inside the table only → font scope bug
328
+ - Row hover painting a hard rectangle → use `border-collapse: separate` + `td` surfaces
329
+ - Status chips squeezed between columns → widen the lane or reduce chip padding
330
+ - Numbers misaligned → add `font-variant-numeric: tabular-nums`
331
+
332
+ ---
333
+
334
+ ## 14. Form Elements
335
+
336
+ **Input:**
337
+ ```jsx
338
+ { background: 'var(--bg-surface)', border: '1px solid var(--border-medium)',
339
+ borderRadius: 'var(--radius-md)', padding: 'var(--space-2) var(--space-3)',
340
+ color: 'var(--text-primary)', fontSize: 'var(--text-base)',
341
+ fontFamily: 'var(--font-body)', outline: 'none', ...TT }
342
+ // Focus: borderColor → var(--border-accent-strong), boxShadow → 0 0 0 3px var(--accent-glow)
343
+ ```
344
+
345
+ **Label:** mono label style (xs, muted, uppercase, tracking-widest). Place above input with `margin-bottom: var(--space-1)`.
346
+
347
+ **Button primary:**
348
+ ```jsx
349
+ { background: 'var(--accent)', color: 'var(--text-inverse)', border: 'none',
350
+ borderRadius: 'var(--radius-md)', padding: 'var(--space-2) var(--space-5)',
351
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-sm)', fontWeight: 600,
352
+ letterSpacing: 'var(--tracking-wider)', textTransform: 'uppercase', cursor: 'pointer',
353
+ transition: 'background 150ms ease' }
354
+ // Hover: background → var(--accent-hover)
355
+ ```
356
+
357
+ **Button secondary:**
358
+ ```jsx
359
+ { background: 'transparent', color: 'var(--text-secondary)',
360
+ border: '1px solid var(--border-medium)',
361
+ /* rest same as primary */
362
+ }
363
+ // Hover: borderColor → var(--border-accent), color → var(--text-accent)
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 15. Modal / Detail Overlay
369
+
370
+ ```
371
+ ┌─────────────── backdrop (rgba, z-modal) ───────────────┐
372
+ │ │
373
+ │ ┌─ Card max-w: 700px ─────────────────────────┐ │
374
+ │ │ HEADER: title + close button │ │
375
+ │ │ ───────────────────────── │ │
376
+ │ │ BODY: stat cards, progress, badges, etc. │ │
377
+ │ └─────────────────────────────────────────────┘ │
378
+ │ │
379
+ └──────────────────────────────────────────────────────────┘
380
+ ```
381
+
382
+ - Backdrop: `rgba(0,0,0,0.6)`, centered flex, `z-index: var(--z-modal)`
383
+ - Content card: `var(--bg-base)`, `border: 1px solid var(--border-subtle)`, `border-radius: var(--radius-xl)`, `max-width: 700px`
384
+ - Header: flex, space-between, `padding: var(--space-5) var(--space-6)`, `border-bottom: 1px solid var(--border-subtle)`
385
+ - Body: `padding: var(--space-6)` — reuse stat cards, progress bars, badges, section headers
386
+ - Animation: `scaleIn 300ms cubic-bezier(0.16, 1, 0.3, 1)` (see motion.md)
387
+
388
+ ---
389
+
390
+ ## 16. Theme Toggle
391
+
392
+ ```jsx
393
+ <button
394
+ onClick={() => setTheme(t => t === 'dark' ? 'light' : 'dark')}
395
+ style={{
396
+ width: 36, height: 36, borderRadius: 'var(--radius-md)',
397
+ border: '1px solid var(--border-subtle)', background: 'var(--bg-surface)',
398
+ color: 'var(--text-secondary)', cursor: 'pointer',
399
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
400
+ fontSize: '1rem', ...TT,
401
+ }}
402
+ >
403
+ {theme === 'dark' ? '☀' : '☾'}
404
+ </button>
405
+ ```
406
+
407
+ Hover: `borderColor → var(--border-accent)`, `color → var(--accent)`.
@@ -0,0 +1,272 @@
1
+ # Dashboard Presets — Cognitive Core UI
2
+
3
+ Read after `design-tokens.md`, `components.md`, and `patterns.md`.
4
+
5
+ These presets help choose a fitting operational composition instead of defaulting to random card grids.
6
+
7
+ ---
8
+
9
+ ## How to choose
10
+
11
+ 1. Start from the product's **main operational pressure**, not from a visual trope.
12
+ 2. Pick **one dominant preset** per screen.
13
+ 3. Mix small traits from another preset only when the primary composition is already clear.
14
+ 4. Choose one opening composition from the library below before placing a stat row.
15
+
16
+ ---
17
+
18
+ ## Opening Composition Library
19
+
20
+ Do not let every dashboard begin with `4 KPI cards + tabs + equal grid`.
21
+
22
+ Choose one primary opening move:
23
+
24
+ ### 1. Dominant Hero Surface
25
+
26
+ Use when:
27
+ - the screen has one main operational story
28
+ - users need a fast read on what matters most
29
+
30
+ Composition:
31
+ - one large hero analysis panel
32
+ - 2-3 supporting metrics beside or below
33
+ - secondary cards deferred downward
34
+
35
+ Best for:
36
+ - control centers
37
+ - analytics
38
+ - AI orchestration
39
+
40
+ ### 2. Alert and Queue First
41
+
42
+ Use when:
43
+ - urgency beats summary
44
+ - users act from exceptions, incidents, or pending work
45
+
46
+ Composition:
47
+ - alert cluster or priority queue above the fold
48
+ - supporting health metrics nearby
49
+ - context rail for recent events
50
+
51
+ Best for:
52
+ - ops
53
+ - support
54
+ - logistics
55
+ - monitoring
56
+
57
+ ### 3. Trend First
58
+
59
+ Use when:
60
+ - change over time matters more than static totals
61
+ - the main question is movement, not snapshot
62
+
63
+ Composition:
64
+ - chart or trend ribbon as the hero
65
+ - compact stat strip
66
+ - ranked list or narrative summary below
67
+
68
+ Best for:
69
+ - revenue
70
+ - analytics
71
+ - performance
72
+
73
+ ### 4. Profile or Entity First
74
+
75
+ Use when:
76
+ - one active entity anchors the workflow
77
+ - the user is working inside a person, account, project, or agent
78
+
79
+ Composition:
80
+ - profile header or entity summary surface
81
+ - focused stat cards
82
+ - detail tabs and contextual rails
83
+
84
+ Best for:
85
+ - CRM
86
+ - account management
87
+ - AI agent panels
88
+
89
+ ### 5. Workspace First
90
+
91
+ Use when:
92
+ - the dashboard is really a working surface, not just a summary
93
+ - users spend time editing, reviewing, or operating from this page
94
+
95
+ Composition:
96
+ - tool surface or main work pane dominates
97
+ - navigation and status become secondary chrome
98
+ - metrics move to support rails
99
+
100
+ Best for:
101
+ - admin tools
102
+ - builder UIs
103
+ - review flows
104
+
105
+ ---
106
+
107
+ ## Anti-Template Rules
108
+
109
+ - Never open every dashboard with four equal stat cards unless the product truly lives and dies by four equal KPIs.
110
+ - Never let the stat row be the most memorable part of the page.
111
+ - If the layout could be mistaken for a generic admin starter after removing the colors, redesign the composition.
112
+ - One strong focal block beats six medium-interest cards.
113
+ - Use `references/art-direction.md` to choose a signature move before styling panels.
114
+
115
+ ---
116
+
117
+ ## Preset 1: Inventory Operations Board
118
+
119
+ **Best for:** stock control, inventory movement, replenishment monitoring, product catalog operations, supply dashboards.
120
+
121
+ **Default theme:** Dark.
122
+
123
+ **Layout composition:**
124
+ ```
125
+ TOP BAR: Logo + product name + compact status badge + account/actions
126
+ STATS ROW: 3-4 high-signal cards only
127
+ SUBNAV: Dashboard | Products | Movements (or equivalent)
128
+ MAIN GRID:
129
+ LEFT RAIL (220-260px): monitoring blocks, quick filters, credential/mode card
130
+ CENTER (flex: 1): stock radar / urgent items / operational summary
131
+ RIGHT RAIL (320-380px): recent movements / alerts / short activity feed
132
+ ```
133
+
134
+ **Why it works:**
135
+ - One central operational story above the fold
136
+ - Urgent items visible without a product-wall overload
137
+ - Movement history stays contextual, not dominant
138
+ - Left rail gives monitoring without stealing the main stage
139
+
140
+ **Rules:**
141
+ - Do not render the full product catalog above the fold. Show 2–4 urgent cards in the central radar.
142
+ - Use color semantics sparingly: green = stable, amber = low, red = zero/critical.
143
+ - Prefer operational labels: `Baixo estoque`, `Zerados`, `Saude do estoque`, `Movimentacao recente`.
144
+ - Keep the focal block calm. Do not turn it into a second dashboard shell inside the dashboard.
145
+ - For tables: treat each row as an intentional operational lane — aligned numbers, consistent padding, enough breathing room around status chips.
146
+
147
+ ---
148
+
149
+ ## Preset 2: Premium Control Center
150
+
151
+ **Best for:** AI systems, orchestration panels, intelligence products, multi-module operational platforms, command centers.
152
+
153
+ **Default theme:** Dark.
154
+
155
+ **Layout composition:**
156
+ ```
157
+ TOP BAR: Logo + system subtitle + nav + status badge
158
+ STATS ROW: 4 stat cards
159
+ SECONDARY NAV: domain tabs
160
+ MAIN GRID:
161
+ PRIMARY PANEL: single large analysis/control surface
162
+ SUPPORT PANEL: mode/status block
163
+ LOWER PANELS: grouped operational cards or capabilities
164
+ ```
165
+
166
+ **Guardrail:**
167
+ - Use only when the product genuinely needs command-center semantics.
168
+ - DNA panels, mode panels, and labeled capability cards are optional, not default.
169
+ - Do not use for inventory just because the product is dark and premium.
170
+
171
+ ---
172
+
173
+ ## Preset 3: Admin Analytics
174
+
175
+ **Best for:** analytics, SaaS admin, revenue tracking, performance reporting dashboards.
176
+
177
+ **Default theme:** Dark or Light.
178
+
179
+ **Layout composition:**
180
+ ```
181
+ TOP BAR
182
+ STATS ROW
183
+ FILTER / DATE BAR
184
+ MAIN:
185
+ Chart panel (full width or 2/3)
186
+ Ranked list or summary panel (1/3)
187
+ Table or report panel (full width below)
188
+ ```
189
+
190
+ **Guardrail:**
191
+ - Let charts and tables do the work.
192
+ - Do not overload with decorative status cards.
193
+
194
+ ---
195
+
196
+ ## Preset 4: Ops Cockpit
197
+
198
+ **Best for:** system monitoring, logistics control, incident response, infra operations, real-time dashboards.
199
+
200
+ **Default theme:** Dark.
201
+
202
+ **Layout composition:**
203
+ ```
204
+ TOP BAR
205
+ STATUS ROW (alert counts + system health)
206
+ MAIN GRID:
207
+ Alert feed (primary, left/center)
208
+ System status cluster (grouped service cards)
209
+ Quick stats / context rail (right)
210
+ ```
211
+
212
+ **Guardrail:**
213
+ - Alerts must be scannable first. Status color must carry meaning, not atmosphere.
214
+
215
+ ---
216
+
217
+ ## Preset 5: CRM / Contact Manager
218
+
219
+ **Best for:** CRM, support tools, people directories, account management, talent pipelines.
220
+
221
+ **Default theme:** Light or Dark.
222
+
223
+ **Layout composition:**
224
+ ```
225
+ TOP BAR
226
+ TAB BAR (with filter badges)
227
+ LIST-DETAIL SPLIT:
228
+ Entity list (340px, scrollable)
229
+ Active profile/detail view (flex: 1)
230
+ → Profile Header (compact) + Stat Cards + Tab sub-nav + Content
231
+ ```
232
+
233
+ ---
234
+
235
+ ## Operational Table Guardrails
236
+
237
+ Dashboards often have tables. This is where otherwise-good boards lose quality.
238
+
239
+ ### Goals
240
+ - Rows scannable in under 1 second
241
+ - Same premium density as the rest of the board
242
+ - Avoid the feeling of "spreadsheet leftovers pasted into a polished shell"
243
+
244
+ ### Rules
245
+ 1. Use `font-variant-numeric: tabular-nums` for quantities, prices, thresholds, and derived values.
246
+ 2. Keep status, quantity, and actions visually separated — they should not collapse into one dense block.
247
+ 3. Status chips must sit comfortably inside row rhythm. If they crowd neighboring columns, widen the lane.
248
+ 4. Action buttons in tables should read as a grouped control cluster, not as independent floating pills.
249
+ 5. Row hover must feel like a surface state, not a hard painted rectangle.
250
+ 6. `border-collapse: separate` + `td` surfaces = premium. `border-collapse: collapse` + `tr` backgrounds = amateur.
251
+
252
+ ### Failure signs
253
+ - Serif fallback inside the table only → font scope bug in `td`
254
+ - Row hover painting a hard rectangle → wrong collapse mode or `tr` background
255
+ - Status chips squeezed → widen the column or reduce chip padding
256
+ - Numbers misaligned → missing `font-variant-numeric: tabular-nums`
257
+ - Page opens with a large hero-like block → reduce stat row height, tighten typography
258
+ - Cards feel puffy and over-padded → reduce `padding`, `border-radius`, and grid gap
259
+ - Layout reads like a polished demo instead of an operational surface → density is part of the identity
260
+
261
+ ---
262
+
263
+ ## Inventory Mapping Guide
264
+
265
+ | Inventory concept | UI treatment |
266
+ |---|---|
267
+ | Low stock | Urgent card in stock radar |
268
+ | Zero stock | Critical card in stock radar (semantic-red) |
269
+ | Recent entry/exit | Right-rail activity list |
270
+ | Valuation / total items | Top stat row |
271
+ | Category / supplier monitoring | Left rail blocks or filters |
272
+ | Replenishment threshold | Progress bar + limit helper |