@caddis/cli 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +163 -1
  3. package/bundles/antigravity-plugin/agents/code-reviewer.md +47 -0
  4. package/bundles/antigravity-plugin/agents/preflight.md +53 -0
  5. package/bundles/antigravity-plugin/guard_agy.py +338 -0
  6. package/bundles/antigravity-plugin/hooks.json +36 -0
  7. package/bundles/antigravity-plugin/mcp_config.json +8 -0
  8. package/bundles/antigravity-plugin/mcp_ping_server.py +55 -0
  9. package/bundles/antigravity-plugin/plugin.json +5 -0
  10. package/bundles/antigravity-plugin/session_end_agy.py +57 -0
  11. package/bundles/antigravity-plugin/skills/_registry.md +115 -0
  12. package/bundles/antigravity-plugin/skills/add-rules/SKILL.md +45 -0
  13. package/bundles/antigravity-plugin/skills/api-design/SKILL.md +249 -0
  14. package/bundles/antigravity-plugin/skills/backend-development/SKILL.md +305 -0
  15. package/bundles/antigravity-plugin/skills/best-practices/SKILL.md +500 -0
  16. package/bundles/antigravity-plugin/skills/best-practices/agents/best-practices-referencer.md +263 -0
  17. package/bundles/antigravity-plugin/skills/best-practices/agents/codebase-context-builder.md +326 -0
  18. package/bundles/antigravity-plugin/skills/best-practices/agents/task-intent-analyzer.md +245 -0
  19. package/bundles/antigravity-plugin/skills/best-practices/references/anti-patterns.md +571 -0
  20. package/bundles/antigravity-plugin/skills/best-practices/references/before-after-examples.md +1114 -0
  21. package/bundles/antigravity-plugin/skills/best-practices/references/best-practices-guide.md +513 -0
  22. package/bundles/antigravity-plugin/skills/best-practices/references/common-workflows.md +692 -0
  23. package/bundles/antigravity-plugin/skills/best-practices/references/prompt-patterns.md +547 -0
  24. package/bundles/antigravity-plugin/skills/brainstorming/SKILL.md +57 -0
  25. package/bundles/antigravity-plugin/skills/ci-cd-pipeline/SKILL.md +315 -0
  26. package/bundles/antigravity-plugin/skills/code-documentation/SKILL.md +271 -0
  27. package/bundles/antigravity-plugin/skills/code-review/SKILL.md +122 -0
  28. package/bundles/antigravity-plugin/skills/codebase-audit/SKILL.md +204 -0
  29. package/bundles/antigravity-plugin/skills/context-curator/SKILL.md +157 -0
  30. package/bundles/antigravity-plugin/skills/cross-review/SKILL.md +40 -0
  31. package/bundles/antigravity-plugin/skills/css-architecture/SKILL.md +305 -0
  32. package/bundles/antigravity-plugin/skills/css-architecture/references/RESPONSIVE-DESIGN.md +604 -0
  33. package/bundles/antigravity-plugin/skills/database-design/SKILL.md +177 -0
  34. package/bundles/antigravity-plugin/skills/db-diagram/SKILL.md +148 -0
  35. package/bundles/antigravity-plugin/skills/db-diagram/scripts/sql_to_graph.py +1212 -0
  36. package/bundles/antigravity-plugin/skills/digress/SKILL.md +61 -0
  37. package/bundles/antigravity-plugin/skills/draw-io/SKILL.md +162 -0
  38. package/bundles/antigravity-plugin/skills/draw-io/references/aws-icons.md +677 -0
  39. package/bundles/antigravity-plugin/skills/draw-io/references/layout-guidelines.md +142 -0
  40. package/bundles/antigravity-plugin/skills/draw-io/references/troubleshooting.md +118 -0
  41. package/bundles/antigravity-plugin/skills/draw-io/references/workflows.md +103 -0
  42. package/bundles/antigravity-plugin/skills/draw-io/scripts/convert-drawio-to-png.sh +25 -0
  43. package/bundles/antigravity-plugin/skills/draw-io/scripts/find_aws_icon.py +79 -0
  44. package/bundles/antigravity-plugin/skills/error-handling/SKILL.md +260 -0
  45. package/bundles/antigravity-plugin/skills/excalidraw-db/SKILL.md +38 -0
  46. package/bundles/antigravity-plugin/skills/fastapi-dev/SKILL.md +300 -0
  47. package/bundles/antigravity-plugin/skills/feature-plan/SKILL.md +198 -0
  48. package/bundles/antigravity-plugin/skills/frontend-design/SKILL.md +193 -0
  49. package/bundles/antigravity-plugin/skills/frontend-design/references/my-tech-stack.md +127 -0
  50. package/bundles/antigravity-plugin/skills/gh-cli/SKILL.md +195 -0
  51. package/bundles/antigravity-plugin/skills/git-commit/SKILL.md +285 -0
  52. package/bundles/antigravity-plugin/skills/golden-plan/SKILL.md +577 -0
  53. package/bundles/antigravity-plugin/skills/handoff/SKILL.md +100 -0
  54. package/bundles/antigravity-plugin/skills/implement/SKILL.md +114 -0
  55. package/bundles/antigravity-plugin/skills/javascript-typescript/SKILL.md +142 -0
  56. package/bundles/antigravity-plugin/skills/kb/SKILL.md +60 -0
  57. package/bundles/antigravity-plugin/skills/mermaid-db/SKILL.md +33 -0
  58. package/bundles/antigravity-plugin/skills/mermaid-diagrams/SKILL.md +236 -0
  59. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/ENHANCEMENTS.md +264 -0
  60. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/MERMAID-SUMMARY.md +137 -0
  61. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/advanced-features.md +556 -0
  62. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/architecture-diagrams.md +192 -0
  63. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/c4-diagrams.md +410 -0
  64. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/class-diagrams.md +361 -0
  65. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/erd-diagrams.md +510 -0
  66. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/flowcharts.md +450 -0
  67. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/sequence-diagrams.md +394 -0
  68. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/troubleshooting.md +335 -0
  69. package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/workflows.md +418 -0
  70. package/bundles/antigravity-plugin/skills/migrate-dir/SKILL.md +68 -0
  71. package/bundles/antigravity-plugin/skills/mockup/SKILL.md +242 -0
  72. package/bundles/antigravity-plugin/skills/particle-art/SKILL.md +243 -0
  73. package/bundles/antigravity-plugin/skills/particle-art/references/canvas-utils.ts +171 -0
  74. package/bundles/antigravity-plugin/skills/particle-art/references/dot-field.template.tsx +203 -0
  75. package/bundles/antigravity-plugin/skills/particle-art/references/flow-field.template.tsx +263 -0
  76. package/bundles/antigravity-plugin/skills/particle-art/references/node-shape.template.tsx +261 -0
  77. package/bundles/antigravity-plugin/skills/particle-art/references/shape-sampler.ts +281 -0
  78. package/bundles/antigravity-plugin/skills/particle-art/references/stipple-morph.template.tsx +167 -0
  79. package/bundles/antigravity-plugin/skills/particle-art/references/stipple.template.tsx +175 -0
  80. package/bundles/antigravity-plugin/skills/particle-art/references/trail-ghost.template.tsx +266 -0
  81. package/bundles/antigravity-plugin/skills/particle-art/references/usage-examples.md +320 -0
  82. package/bundles/antigravity-plugin/skills/playwright/API_REFERENCE.md +653 -0
  83. package/bundles/antigravity-plugin/skills/playwright/SKILL.md +454 -0
  84. package/bundles/antigravity-plugin/skills/playwright/lib/helpers.js +441 -0
  85. package/bundles/antigravity-plugin/skills/playwright/package.json +26 -0
  86. package/bundles/antigravity-plugin/skills/playwright/run.js +228 -0
  87. package/bundles/antigravity-plugin/skills/prd/SKILL.md +107 -0
  88. package/bundles/antigravity-plugin/skills/preflight/SKILL.md +435 -0
  89. package/bundles/antigravity-plugin/skills/python/SKILL.md +388 -0
  90. package/bundles/antigravity-plugin/skills/react-best-practices/SKILL.md +269 -0
  91. package/bundles/antigravity-plugin/skills/react-dev/README.md +404 -0
  92. package/bundles/antigravity-plugin/skills/react-dev/SKILL.md +459 -0
  93. package/bundles/antigravity-plugin/skills/react-dev/examples/generic-components.md +579 -0
  94. package/bundles/antigravity-plugin/skills/react-dev/examples/server-components.md +579 -0
  95. package/bundles/antigravity-plugin/skills/react-dev/references/event-handlers.md +574 -0
  96. package/bundles/antigravity-plugin/skills/react-dev/references/hooks.md +456 -0
  97. package/bundles/antigravity-plugin/skills/react-dev/references/react-19-patterns.md +638 -0
  98. package/bundles/antigravity-plugin/skills/react-dev/references/react-router.md +1002 -0
  99. package/bundles/antigravity-plugin/skills/react-dev/references/tanstack-router.md +587 -0
  100. package/bundles/antigravity-plugin/skills/refactoring/SKILL.md +486 -0
  101. package/bundles/antigravity-plugin/skills/resume/SKILL.md +36 -0
  102. package/bundles/antigravity-plugin/skills/security-review/SKILL.md +196 -0
  103. package/bundles/antigravity-plugin/skills/setup-project-ai/SKILL.md +61 -0
  104. package/bundles/antigravity-plugin/skills/ship/SKILL.md +107 -0
  105. package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +103 -0
  106. package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +102 -0
  107. package/bundles/antigravity-plugin/skills/skill-creator/LICENSE.txt +202 -0
  108. package/bundles/antigravity-plugin/skills/skill-creator/SKILL.md +491 -0
  109. package/bundles/antigravity-plugin/skills/skill-creator/agents/analyzer.md +274 -0
  110. package/bundles/antigravity-plugin/skills/skill-creator/agents/comparator.md +202 -0
  111. package/bundles/antigravity-plugin/skills/skill-creator/agents/grader.md +223 -0
  112. package/bundles/antigravity-plugin/skills/skill-creator/assets/eval_review.html +146 -0
  113. package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  114. package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  115. package/bundles/antigravity-plugin/skills/skill-creator/references/schemas.md +430 -0
  116. package/bundles/antigravity-plugin/skills/skill-creator/scripts/__init__.py +0 -0
  117. package/bundles/antigravity-plugin/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  118. package/bundles/antigravity-plugin/skills/skill-creator/scripts/generate_report.py +326 -0
  119. package/bundles/antigravity-plugin/skills/skill-creator/scripts/improve_description.py +247 -0
  120. package/bundles/antigravity-plugin/skills/skill-creator/scripts/package_skill.py +136 -0
  121. package/bundles/antigravity-plugin/skills/skill-creator/scripts/quick_validate.py +103 -0
  122. package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_eval.py +310 -0
  123. package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_loop.py +328 -0
  124. package/bundles/antigravity-plugin/skills/skill-creator/scripts/utils.py +47 -0
  125. package/bundles/antigravity-plugin/skills/sql/SKILL.md +321 -0
  126. package/bundles/antigravity-plugin/skills/tdd/SKILL.md +37 -0
  127. package/bundles/antigravity-plugin/skills/tdd-workflow/SKILL.md +188 -0
  128. package/bundles/antigravity-plugin/skills/technical-writing/SKILL.md +286 -0
  129. package/bundles/antigravity-plugin/skills/test-strategy/SKILL.md +155 -0
  130. package/bundles/antigravity-plugin/skills/ui-brief/SKILL.md +84 -0
  131. package/bundles/antigravity-plugin/skills/ui-review/SKILL.md +176 -0
  132. package/bundles/antigravity-plugin/skills/ui-review/references/framework-fixes.md +471 -0
  133. package/bundles/antigravity-plugin/skills/ui-review/references/visual-checklist.md +236 -0
  134. package/bundles/antigravity-plugin/skills/usage-review/SKILL.md +77 -0
  135. package/bundles/antigravity-plugin/skills/use-model/SKILL.md +64 -0
  136. package/bundles/antigravity-plugin/skills/using-git-worktrees/SKILL.md +217 -0
  137. package/bundles/antigravity-plugin/skills/version/SKILL.md +18 -0
  138. package/bundles/antigravity-plugin/skills/warm-editorial-ui/DESIGN_TOKENS.md +487 -0
  139. package/bundles/antigravity-plugin/skills/warm-editorial-ui/IMPLEMENTATION_GUIDE.md +177 -0
  140. package/bundles/antigravity-plugin/skills/warm-editorial-ui/SKILL.md +732 -0
  141. package/bundles/antigravity-plugin/skills/webapp-testing/LICENSE.txt +202 -0
  142. package/bundles/antigravity-plugin/skills/webapp-testing/SKILL.md +97 -0
  143. package/bundles/antigravity-plugin/skills/webapp-testing/examples/console_logging.py +35 -0
  144. package/bundles/antigravity-plugin/skills/webapp-testing/examples/element_discovery.py +40 -0
  145. package/bundles/antigravity-plugin/skills/webapp-testing/examples/static_html_automation.py +33 -0
  146. package/bundles/antigravity-plugin/skills/webapp-testing/scripts/with_server.py +106 -0
  147. package/bundles/antigravity-plugin/skills/windows-deployment/SKILL.md +880 -0
  148. package/bundles/antigravity-plugin/skills/writing-plans/SKILL.md +384 -0
  149. package/bundles/antigravity-plugin/statusline-command-agy.sh +91 -0
  150. package/bundles/antigravity-plugin/warm_start_agy.py +149 -0
  151. package/bundles/antigravity-plugin-extras/plugin.json +5 -0
  152. package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
  153. package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
  154. package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
  155. package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
  156. package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
  157. package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
  158. package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
  159. package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
  160. package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
  161. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
  162. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
  163. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  164. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  165. package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  166. package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
  167. package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
  168. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
  169. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
  170. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
  171. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
  172. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
  173. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
  174. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
  175. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
  176. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
  177. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
  178. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
  179. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
  180. package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
  181. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
  182. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  183. package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
  184. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
  185. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
  186. package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
  187. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
  188. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
  189. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
  190. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
  191. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
  192. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
  193. package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
  194. package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
  195. package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
  196. package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
  197. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
  198. package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
  199. package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
  200. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
  201. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
  202. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
  203. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
  204. package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
  205. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
  206. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
  207. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
  208. package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
  209. package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
  210. package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
  211. package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
  212. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  213. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  214. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  215. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  216. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  217. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  218. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  219. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  220. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  221. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  222. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  223. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  224. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  225. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  226. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  227. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  228. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  229. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  230. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  231. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  232. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  233. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  234. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  235. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  236. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  237. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  238. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  239. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  240. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  241. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  242. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  243. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  244. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  245. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  246. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  247. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  248. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  249. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  250. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  251. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  252. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  253. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  254. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  255. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  256. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  257. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  258. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  259. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  260. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  261. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  262. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  263. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  264. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  265. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  266. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  267. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  268. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  269. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  270. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  271. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  272. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  273. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  274. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  275. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  276. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  277. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  278. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  279. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  280. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  281. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  282. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  283. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  284. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  285. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  286. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  287. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  288. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  289. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  290. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  291. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  292. package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  293. package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
  294. package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
  295. package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
  296. package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
  297. package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
  298. package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
  299. package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
  300. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
  301. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
  302. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
  303. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
  304. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
  305. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
  306. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
  307. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
  308. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
  309. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
  310. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
  311. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
  312. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
  313. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
  314. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
  315. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
  316. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
  317. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
  318. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
  319. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
  320. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
  321. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
  322. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
  323. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
  324. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
  325. package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
  326. package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
  327. package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
  328. package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
  329. package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
  330. package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
  331. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
  332. package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
  333. package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
  334. package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
  335. package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
  336. package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
  337. package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
  338. package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
  339. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
  340. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
  341. package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
  342. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
  343. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
  344. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
  345. package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
  346. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
  347. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
  348. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
  349. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
  350. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
  351. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
  352. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
  353. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
  354. package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
  355. package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
  356. package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
  357. package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
  358. package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
  359. package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
  360. package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
  361. package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
  362. package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
  363. package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
  364. package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
  365. package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
  366. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
  367. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
  368. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
  369. package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
  370. package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
  371. package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
  372. package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
  373. package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
  374. package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
  375. package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
  376. package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
  377. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
  378. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
  379. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
  380. package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
  381. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
  382. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
  383. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  384. package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
  385. package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
  386. package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
  387. package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
  388. package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
  389. package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
  390. package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
  391. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
  392. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
  393. package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
  394. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
  395. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
  396. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
  397. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
  398. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
  399. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
  400. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
  401. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
  402. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
  403. package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
  404. package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
  405. package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
  406. package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
  407. package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
  408. package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
  409. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
  410. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
  411. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
  412. package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
  413. package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
  414. package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
  415. package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
  416. package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
  417. package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
  418. package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
  419. package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
  420. package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
  421. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
  422. package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
  423. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
  424. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
  425. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
  426. package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
  427. package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
  428. package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
  429. package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
  430. package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
  431. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
  432. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
  433. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
  434. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
  435. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
  436. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
  437. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
  438. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
  439. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
  440. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
  441. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
  442. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
  443. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
  444. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
  445. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
  446. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
  447. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
  448. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
  449. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
  450. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
  451. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
  452. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
  453. package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
  454. package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
  455. package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
  456. package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
  457. package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
  458. package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
  459. package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
  460. package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
  461. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
  462. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
  463. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
  464. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
  465. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
  466. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  467. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
  468. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
  469. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  470. package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
  471. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
  472. package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
  473. package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
  474. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
  475. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
  476. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
  477. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
  478. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
  479. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
  480. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
  481. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
  482. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
  483. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
  484. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
  485. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
  486. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
  487. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
  488. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
  489. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
  490. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
  491. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
  492. package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
  493. package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
  494. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
  495. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
  496. package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
  497. package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
  498. package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
  499. package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
  500. package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
  501. package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
  502. package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
  503. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
  504. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
  505. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
  506. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
  507. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
  508. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
  509. package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
  510. package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
  511. package/bundles/manifest.json +7 -0
  512. package/dist/cli.js +5492 -0
  513. package/package.json +61 -4
@@ -0,0 +1,732 @@
1
+ ---
2
+ name: warm-editorial-ui
3
+ description: Apply the "Warm Editorial Refinement" design system — a sophisticated, executive-grade aesthetic with warm cream surfaces (light mode) and warm charcoal surfaces (dark mode), Bahnschrift + Plus Jakarta Sans typography, generous rounded corners, multi-layer shadows, and a warm neutral palette. Supports both light and dark themes via CSS custom properties and the `.dark` class. Use this skill whenever the user wants to build an app, dashboard, component, or web UI using the abc-project visual style. Trigger on phrases like "use our design system", "apply our template", "make it look like abc-project", "use the warm editorial style", "use our brand template", "add dark mode", or any request to build a new tool/app/dashboard for XYZ Brand or similar contexts. This is the canonical design template for all new frontend builds.
4
+ ---
5
+
6
+ # Warm Editorial Refinement — Design System
7
+
8
+ A premium, editorial-grade UI template built for data-rich internal tools. Combines the warmth of analogue design with the precision of modern SaaS.
9
+
10
+ **Canonical reference apps:** `scratch/mockups/ceo-dashboard-mockup.html` _(executive-reviewed baseline)_
11
+
12
+ ---
13
+
14
+ ## Design Philosophy
15
+
16
+ > Warm surfaces. Editorial type. Intentional depth. Not corporate grey — warm cream.
17
+
18
+ This system was designed for **XYZ Brand internal tools** but is brand-agnostic at the token level. It avoids cold grey SaaS aesthetics and instead uses warm-toned surfaces, editorial typography, and refined component geometry.
19
+
20
+ ---
21
+
22
+ ## Design Tokens
23
+
24
+ Always define these CSS custom properties in `:root`:
25
+
26
+ ```css
27
+ :root {
28
+ /* Brand Accent — replace with your brand color */
29
+ --brand: #E10A0A;
30
+ --brand-dark: #C00909;
31
+ --brand-soft: #FEF2F2;
32
+ --brand-tint: rgba(225,10,10,0.08);
33
+
34
+ /* Warm Surfaces — NOT cold grey */
35
+ --bg: #F5F3F0; /* page background */
36
+ --surface: #FFFFFF; /* cards, panels */
37
+ --surface-2: #F9F8F6; /* subtle inset, inputs */
38
+ --surface-3: #F0EDE8; /* deeper inset, table rows */
39
+ --surface-hover: #EFEDE9; /* hover states */
40
+
41
+ /* Warm Borders */
42
+ --border: #E5E2DC;
43
+ --border-strong: #CCC9C2;
44
+
45
+ /* Warm Ink (text) — slightly brown-tinged, never cold */
46
+ --ink-1: #1A1816; /* primary text */
47
+ --ink-2: #3D3A36; /* secondary text */
48
+ --ink-3: #6B6760; /* tertiary text */
49
+ --ink-4: #9C9890; /* muted/placeholder */
50
+
51
+ /* Status Palette */
52
+ --green: #16A34A;
53
+ --green-soft: #F0FDF4;
54
+ --green-tint: rgba(22,163,74,0.12);
55
+ --green-border: #A7F3D0;
56
+
57
+ --amber: #D97706;
58
+ --amber-soft: #FFFBEB;
59
+
60
+ --red: #DC2626;
61
+ --red-soft: #FEF2F2;
62
+ --red-border: #FCA5A5;
63
+
64
+ --blue: #2563EB;
65
+ --blue-soft: #EFF6FF;
66
+ --blue-border: #BFDBFE;
67
+
68
+ /* Radius Scale — generous, not tight */
69
+ --r-xs: 4px;
70
+ --r-sm: 8px;
71
+ --r-md: 12px;
72
+ --r-lg: 16px; /* standard cards */
73
+ --r-xl: 22px; /* panels, large containers */
74
+
75
+ /* Shadows — multi-layer, warm-tinted (warm brown base, not cold black) */
76
+ --shadow-xs: 0 1px 2px rgba(26,24,22,0.04);
77
+ --shadow-sm: 0 1px 3px rgba(26,24,22,0.06), 0 1px 2px rgba(26,24,22,0.04);
78
+ --shadow-md: 0 4px 12px rgba(26,24,22,0.08), 0 2px 4px rgba(26,24,22,0.04);
79
+ --shadow-lg: 0 10px 30px rgba(26,24,22,0.12), 0 4px 8px rgba(26,24,22,0.06);
80
+
81
+ /* Typography */
82
+ /* NOTE: --font-heading uses Bahnschrift — a Windows 10+ system font.
83
+ Falls back to Franklin Gothic Medium on macOS/Linux. Correct for Windows-hosted tools. */
84
+ --font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
85
+ --font-heading: 'Bahnschrift', 'Franklin Gothic Medium', 'Arial Narrow', sans-serif;
86
+ --font-mono: 'JetBrains Mono', monospace;
87
+ }
88
+ ```
89
+
90
+ ### Google Fonts Import
91
+ ```html
92
+ <!-- Plus Jakarta Sans (body) + JetBrains Mono (data). Bahnschrift is Windows system — no CDN needed. -->
93
+ <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Typography Rules
99
+
100
+ ### Default Pairing (active)
101
+
102
+ | Role | Font | Weight | Usage |
103
+ |------|------|--------|-------|
104
+ | UI body | Plus Jakarta Sans | 300–700 | Labels, body text, navigation |
105
+ | Numbers/data | JetBrains Mono | 400–600 | KPI values, counts, codes |
106
+ | Section headings | Bahnschrift (system) | 700–800 | KPI values, card titles, brand name |
107
+
108
+ ### Font Pairing Selection (agent decision logic)
109
+
110
+ **Before generating any UI, resolve the font pairing using this priority:**
111
+
112
+ 1. **Check `project-config.md`** — if the project's profile has a Design System section with declared fonts, use those. Done.
113
+ 2. **No project-config?** — Present the pairing table below to the user and ask: *"Which font pairing would you like for this project? (A–F, or describe your preference)"*. Wait for the user to choose before generating UI.
114
+ 3. **User says "you pick" or doesn't care** — Use pairing **E (Sora + Nunito Sans)** as the default.
115
+
116
+ > **Never silently pick a non-default pairing.** The user must explicitly opt in to A–E.
117
+
118
+ ### Alternative Font Pairings
119
+
120
+ All are Google Fonts unless marked (system).
121
+
122
+ | Pairing | Heading | Body | Character |
123
+ |---------|---------|------|-----------|
124
+ | **A — Geometric Precision** | Geist (system/self-host) | Plus Jakarta Sans | Clean SaaS feel, Linear/Vercel aesthetic |
125
+ | **B — Neo-Industrial** | Clash Display (self-host) | General Sans | Bold brutalist contrast, strong visual hierarchy |
126
+ | **C — Refined Corporate** | Manrope | Source Sans 3 | Polished enterprise, Microsoft/Notion vibe |
127
+ | **D — Editorial Luxury** | Fraunces | Outfit | Warm serif contrast, premium editorial weight |
128
+ | **E — Modern Humanist** | Sora | Nunito Sans | Approachable geometric, health/fintech feel |
129
+ | **F — Condensed Executive** | Bahnschrift (system) | Plus Jakarta Sans | *(current default)* — dense KPI headers |
130
+
131
+ To switch, update these tokens in `:root`:
132
+ ```css
133
+ /* Example: Pairing D — Editorial Luxury */
134
+ --font-heading: 'Fraunces', Georgia, serif;
135
+ --font-sans: 'Outfit', system-ui, sans-serif;
136
+ ```
137
+ And update the Google Fonts import:
138
+ ```html
139
+ <link href="https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700;800&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
140
+ ```
141
+
142
+ **Never use:** Inter, DM Sans, Syne, Roboto, Space Grotesk as primary fonts.
143
+
144
+ ---
145
+
146
+ ## Layout Architecture
147
+
148
+ ### App Shell with Left Sidebar
149
+ ```
150
+ ┌──────────────────────────────────────────────────────┐
151
+ │ Sidebar (236px) │ Top Filter Bar (52px) │
152
+ │ ├──────────────────────────────────┤
153
+ │ Brand Logo │ Sub-tab Bar (40px) │
154
+ │ Nav Groups ├──────────────────────────────────┤
155
+ │ Footer / User │ Page Content (scrollable) │
156
+ └──────────────────────────────────────────────────────┘
157
+ ```
158
+
159
+ ### Sidebar Pattern
160
+ ```css
161
+ .sidebar {
162
+ width: 236px;
163
+ background: var(--surface);
164
+ border-right: 1px solid var(--border);
165
+ }
166
+
167
+ /* Brand lockup */
168
+ .brand-logo {
169
+ width: 36px; height: 36px;
170
+ background: var(--brand);
171
+ border-radius: 10px;
172
+ box-shadow: 0 3px 10px rgba(225,10,10,0.3);
173
+ font-family: var(--font-heading);
174
+ font-size: 14px; font-weight: 800;
175
+ }
176
+
177
+ /* Active nav item */
178
+ .nav-item.active {
179
+ background: var(--brand-soft);
180
+ color: var(--brand);
181
+ font-weight: 600;
182
+ }
183
+ .nav-item.active::before {
184
+ content: '';
185
+ position: absolute; left: 0;
186
+ top: 5px; bottom: 5px; width: 3px;
187
+ background: var(--brand);
188
+ border-radius: 0 3px 3px 0;
189
+ }
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Component Patterns
195
+
196
+ ### KPI Cards
197
+ ```css
198
+ .kpi-card {
199
+ background: var(--surface);
200
+ border: 1px solid var(--border);
201
+ border-radius: var(--r-lg); /* 16px */
202
+ padding: 14px 16px;
203
+ box-shadow: var(--shadow-sm);
204
+ transition: box-shadow 0.15s, transform 0.15s;
205
+ }
206
+ .kpi-card:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
207
+ .kpi-card::before {
208
+ /* colored top bar */
209
+ content: ''; position: absolute; top: 0; left: 0; right: 0;
210
+ height: 3px; border-radius: var(--r-lg) var(--r-lg) 0 0;
211
+ background: var(--kpi-color, var(--border));
212
+ }
213
+ /* KPI value uses Bahnschrift for condensed executive punch */
214
+ .kpi-value {
215
+ font-family: var(--font-heading);
216
+ font-size: 30px; font-weight: 700; letter-spacing: -1px;
217
+ }
218
+ ```
219
+
220
+ ### Filter Pills (Topbar)
221
+ ```css
222
+ .fchip {
223
+ border: 1.5px solid var(--border);
224
+ border-radius: 20px;
225
+ padding: 4px 11px;
226
+ font-size: 12px; font-weight: 500;
227
+ background: var(--surface);
228
+ transition: all 0.12s;
229
+ }
230
+ .fchip:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
231
+ .fchip.active { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
232
+ ```
233
+
234
+ ### Buttons
235
+ ```css
236
+ /* Primary */
237
+ .btn-primary {
238
+ height: 32px; padding: 0 16px;
239
+ background: var(--brand); color: white; border: none;
240
+ border-radius: var(--r-sm);
241
+ font-family: var(--font-heading); font-size: 12.5px; font-weight: 700;
242
+ box-shadow: 0 2px 8px rgba(225,10,10,0.2);
243
+ transition: all 0.12s;
244
+ }
245
+ .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(225,10,10,0.3); }
246
+
247
+ /* Ghost */
248
+ .btn-ghost {
249
+ height: 32px; padding: 0 12px;
250
+ border: 1.5px solid var(--border); border-radius: var(--r-sm);
251
+ background: var(--surface); color: var(--ink-3);
252
+ font-family: var(--font-sans); font-weight: 500;
253
+ }
254
+ .btn-ghost:hover { background: var(--surface-2); color: var(--ink-1); }
255
+ ```
256
+
257
+ ### Status Badges / Pills
258
+ ```css
259
+ .badge { padding: 2px 7px; border-radius: 20px; font-size: 10px; font-weight: 700; }
260
+ .badge.success { background: var(--green-soft); color: var(--green); border: 1px solid var(--green-tint); }
261
+ .badge.warning { background: var(--amber-soft); color: var(--amber); }
262
+ .badge.danger { background: var(--red-soft); color: var(--red); border: 1px solid var(--red-border); }
263
+ ```
264
+
265
+ ### Chart Cards
266
+ ```css
267
+ .chart-card {
268
+ background: var(--surface);
269
+ border: 1px solid var(--border);
270
+ border-radius: var(--r-lg); /* 16px */
271
+ padding: 18px 20px;
272
+ box-shadow: var(--shadow-sm);
273
+ }
274
+ /* Card title uses Bahnschrift */
275
+ .chart-title { font-family: var(--font-heading); font-size: 13.5px; font-weight: 700; letter-spacing: -0.2px; }
276
+ .chart-sub { font-size: 11px; color: var(--ink-4); }
277
+ ```
278
+
279
+ ### Section Labels
280
+ ```css
281
+ .section-title {
282
+ font-size: 10px; font-weight: 700;
283
+ letter-spacing: 1.5px; text-transform: uppercase;
284
+ color: var(--ink-4);
285
+ font-family: var(--font-sans);
286
+ }
287
+ ```
288
+
289
+ ---
290
+
291
+ ## Alert / Highlight Cards
292
+ ```css
293
+ /* Warning alert */
294
+ .alert-card {
295
+ background: linear-gradient(135deg, #FFF8F5 0%, #FFF2EE 100%);
296
+ border: 1.5px solid #FCCAB4;
297
+ border-radius: var(--r-lg);
298
+ }
299
+ /* Success callout */
300
+ .callout-green {
301
+ background: var(--green-soft);
302
+ border: 1px solid var(--green-border);
303
+ border-radius: var(--r-md);
304
+ padding: 10px 13px;
305
+ }
306
+ /* Info callout */
307
+ .callout-blue {
308
+ background: var(--blue-soft);
309
+ border: 1px solid var(--blue-border);
310
+ border-radius: var(--r-md);
311
+ padding: 10px 13px;
312
+ }
313
+ ```
314
+
315
+ ---
316
+
317
+ ## React Component Structure
318
+
319
+ When building React components with this design system:
320
+
321
+ ```tsx
322
+ // Design tokens map directly to Tailwind-like CSS vars
323
+ // Use inline styles or a theme provider pattern:
324
+
325
+ const theme = {
326
+ surface: 'var(--surface)',
327
+ surface2: 'var(--surface-2)',
328
+ border: 'var(--border)',
329
+ ink1: 'var(--ink-1)',
330
+ ink4: 'var(--ink-4)',
331
+ brand: 'var(--brand)',
332
+ brandSoft: 'var(--brand-soft)',
333
+ fontHeading: 'var(--font-heading)',
334
+ fontMono: 'var(--font-mono)',
335
+ // Radius
336
+ rLg: 'var(--r-lg)',
337
+ rXl: 'var(--r-xl)',
338
+ // Shadows
339
+ shadowSm: 'var(--shadow-sm)',
340
+ shadowMd: 'var(--shadow-md)',
341
+ };
342
+
343
+ // KPI Card example
344
+ function KpiCard({ label, value, delta, color, trend }) {
345
+ return (
346
+ <div style={{
347
+ background: 'var(--surface)',
348
+ border: '1px solid var(--border)',
349
+ borderRadius: 'var(--r-lg)',
350
+ padding: '14px 16px',
351
+ boxShadow: 'var(--shadow-sm)',
352
+ position: 'relative',
353
+ overflow: 'hidden',
354
+ }}>
355
+ {/* Colored top bar */}
356
+ <div style={{ position:'absolute', top:0, left:0, right:0, height:'3px', background:color }} />
357
+ <p style={{ fontSize:'10px', fontWeight:700, letterSpacing:'1.2px', textTransform:'uppercase', color:'var(--ink-4)', marginBottom:'8px' }}>
358
+ {label}
359
+ </p>
360
+ <p style={{ fontFamily:'var(--font-heading)', fontSize:'30px', fontWeight:700, letterSpacing:'-1px', color }}>
361
+ {value}
362
+ </p>
363
+ </div>
364
+ );
365
+ }
366
+ ```
367
+
368
+ ---
369
+
370
+ ## Grid Layouts
371
+
372
+ ```css
373
+ /* KPI row — 6 columns */
374
+ .kpi-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
375
+
376
+ /* 2-column charts */
377
+ .charts-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
378
+
379
+ /* 3-column charts */
380
+ .charts-3col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
381
+ ```
382
+
383
+ ---
384
+
385
+ ## Sidebar Nav Badge Colors
386
+
387
+ ```css
388
+ .nav-badge.red { background: var(--red-soft); color: var(--red); border: 1px solid var(--red-border); }
389
+ .nav-badge.green { background: var(--green-soft); color: var(--green); }
390
+ .nav-badge.grey { background: var(--surface-3); color: var(--ink-4); }
391
+ ```
392
+
393
+ ---
394
+
395
+ ## Dropdown / Select Panel Styling
396
+
397
+ Dropdowns must have a smooth, modern appearance — never blocky or browser-default.
398
+
399
+ Use these control-specific tokens (add to `:root` alongside the main token set):
400
+
401
+ ```css
402
+ :root {
403
+ --control-bg: var(--surface-2);
404
+ --control-bg-hover: var(--surface-hover);
405
+ --control-bg-active: var(--surface-3);
406
+ --control-border: var(--border);
407
+ --control-border-strong:var(--border-strong);
408
+ --control-ring: var(--brand);
409
+ --shadow-control: var(--shadow-xs);
410
+ --shadow-control-strong:var(--shadow-sm);
411
+ --radius-control: var(--r-sm); /* 8px */
412
+ }
413
+ ```
414
+
415
+ ```css
416
+ .select-panel {
417
+ background: var(--control-bg);
418
+ border: 1.5px solid var(--control-border);
419
+ border-radius: var(--radius-control);
420
+ box-shadow: var(--shadow-control-strong);
421
+ padding: 6px 0;
422
+ min-width: 180px;
423
+ transition: box-shadow 0.18s, border-color 0.18s;
424
+ }
425
+ .select-panel:focus-within {
426
+ outline: none;
427
+ box-shadow: 0 0 0 2px var(--control-ring), var(--shadow-control-strong);
428
+ border-color: var(--control-border-strong);
429
+ }
430
+ .select-panel__option {
431
+ padding: 8px 18px;
432
+ border-radius: 7px;
433
+ cursor: pointer;
434
+ transition: background 0.14s;
435
+ }
436
+ .select-panel__option:hover { background: var(--control-bg-hover); }
437
+ ```
438
+
439
+ - For shadcn/ui `<Select>`: override `SelectContent` and `SelectItem` with these tokens
440
+ - Never use native browser `<select>` appearance without overriding all visual states
441
+ - Test in both light and dark mode — tokens swap automatically via `.dark`
442
+
443
+ ---
444
+
445
+ ## Appearance Settings Rules
446
+
447
+ These UX rules apply to all apps using this design system:
448
+
449
+ - **Theme / accent controls belong in the Settings tab only.** Do not place color or theme pickers in the main nav, topbar, or sidebar.
450
+ - **The dark/light mode toggle must always be rendered as an icon (sun/moon), never as text.**
451
+
452
+ ```tsx
453
+ // Correct: icon-only toggle in Settings tab
454
+ <button className="theme-toggle" aria-label="Switch theme" onClick={toggle}>
455
+ {dark ? <MoonIcon /> : <SunIcon />}
456
+ </button>
457
+ ```
458
+
459
+ - Place in the Settings tab, not in the topbar or sidebar footer
460
+ - Use `aria-label` for screen reader accessibility
461
+
462
+ ---
463
+
464
+ ## What Makes This Style Distinctive
465
+
466
+ 1. **Warm vs cold**: Surfaces are `#F8F7F5` and `#F2F0ED` — cream/linen, not cold `#F9FAFB`
467
+ 2. **Ink tones**: Text is `#1A1816` (warm black) not `#111827` (cold)
468
+ 3. **Borders**: `#E5E2DC` (warm beige) not `#E5E7EB` (cool grey)
469
+ 4. **Typography**: Bahnschrift headings give condensed executive weight; Plus Jakarta Sans body is premium and distinctive — not generic Inter/Roboto
470
+ 5. **Radius**: 16px cards, 22px panels — generous, contemporary
471
+ 6. **Shadows**: Always multi-layer (`0 1px 3px ... 0 1px 2px ...`) for depth
472
+
473
+ ---
474
+
475
+ ## Don'ts
476
+
477
+ - ❌ No `Inter`, `DM Sans`, `Syne`, `Roboto`, or `Space Grotesk`
478
+ - ❌ No cold grey surfaces (`#F9FAFB`, `#F3F4F6`)
479
+ - ❌ No generic SaaS blue (`#3B82F6`) as primary
480
+ - ❌ No glass morphism effects
481
+ - ❌ No tight corners (avoid radius < 8px on cards)
482
+ - ❌ No single-layer flat shadows
483
+ - ❌ No uppercase text in `var(--font-heading)` for body copy
484
+
485
+ ---
486
+
487
+ ## Adapting for Different Brands
488
+
489
+ Change only the brand token and optionally the accent palette:
490
+
491
+ ```css
492
+ /* e.g. for a teal-branded product */
493
+ :root {
494
+ --brand: #0891B2;
495
+ --brand-dark: #0E7490;
496
+ --brand-soft: #ECFEFF;
497
+ --brand-tint: rgba(8,145,178,0.08);
498
+ }
499
+ /* All other tokens remain the same */
500
+ ```
501
+
502
+ The warm surface, ink, and border tokens are **brand-neutral** — they work for any brand colour.
503
+
504
+ ---
505
+
506
+ ## Dark Mode — Warm Soft Dark
507
+
508
+ A warm, editorial-grade dark theme inspired by GitHub's Dark Dimmed aesthetic but with warm brown-grey tones instead of cold blue-grey. **Not pure black** — surfaces are tinted warm charcoal, like aged paper in low light.
509
+
510
+ ### Design Philosophy (Dark)
511
+
512
+ > Soft dark. Warm charcoal. Never cold, never pure black.
513
+
514
+ - Backgrounds use warm near-black (`#1A1917`) — NOT cold `#0a0a0a` or blue-tinted `#1C2128`
515
+ - Ink inverts to warm off-whites (`#E8E5DF`) — NOT stark `#FFFFFF` or cold `#C9D1D9`
516
+ - Status colors brighten slightly for readability on dark surfaces
517
+ - Shadows shift to `rgba(0,0,0,...)` (higher opacity) because dark surfaces absorb light
518
+ - Brand accent brightens slightly to maintain vibrancy
519
+
520
+ ### Dark Mode Tokens
521
+
522
+ Apply under `.dark` (or `[data-theme="dark"]` for explicit toggling):
523
+
524
+ ```css
525
+ .dark {
526
+ /* Brand Accent — slightly brighter for dark backgrounds */
527
+ --brand: #F52D2D;
528
+ --brand-dark: #E41B1B;
529
+ --brand-soft: rgba(245,45,45,0.12);
530
+ --brand-tint: rgba(245,45,45,0.10);
531
+
532
+ /* Warm Soft Dark Surfaces — charcoal, not cold */
533
+ --bg: #1A1917; /* page background — warm near-black */
534
+ --surface: #242320; /* cards, panels — warm dark paper */
535
+ --surface-2: #1E1D1B; /* subtle inset, inputs — darker than surface */
536
+ --surface-3: #2A2926; /* deeper inset, table rows */
537
+ --surface-hover: #302E2A; /* hover states */
538
+
539
+ /* Warm Dark Borders */
540
+ --border: #3A3834;
541
+ --border-strong: #4D4A44;
542
+
543
+ /* Warm Ink (inverted) — off-white with warm tint */
544
+ --ink-1: #E8E5DF; /* primary text — warm off-white */
545
+ --ink-2: #C5C1B8; /* secondary text */
546
+ --ink-3: #A8A49C; /* tertiary text — lifted for readability on dark surfaces */
547
+ --ink-4: #8A8680; /* muted/placeholder — 4.5:1 on card surface (was #706C64, too dark) */
548
+
549
+ /* Status Palette — brightened for dark backgrounds */
550
+ --green: #3FB950;
551
+ --green-soft: rgba(63,185,80,0.12);
552
+ --green-tint: rgba(63,185,80,0.15);
553
+ --green-border: rgba(63,185,80,0.25);
554
+
555
+ --amber: #E3B341;
556
+ --amber-soft: rgba(227,179,65,0.12);
557
+
558
+ --red: #F85149;
559
+ --red-soft: rgba(248,81,73,0.12);
560
+ --red-border: rgba(248,81,73,0.25);
561
+
562
+ --blue: #58A6FF;
563
+ --blue-soft: rgba(88,166,255,0.12);
564
+ --blue-border: rgba(88,166,255,0.25);
565
+
566
+ /* Shadows — darker, higher opacity (dark surfaces absorb light) */
567
+ --shadow-xs: 0 1px 2px rgba(0,0,0,0.24);
568
+ --shadow-sm: 0 1px 3px rgba(0,0,0,0.32), 0 1px 2px rgba(0,0,0,0.24);
569
+ --shadow-md: 0 4px 12px rgba(0,0,0,0.40), 0 2px 4px rgba(0,0,0,0.24);
570
+ --shadow-lg: 0 10px 30px rgba(0,0,0,0.48), 0 4px 8px rgba(0,0,0,0.32);
571
+
572
+ /* Typography — unchanged (fonts don't change between modes) */
573
+ /* --font-sans, --font-heading, --font-mono remain the same */
574
+
575
+ /* Radius — unchanged */
576
+ /* --r-xs through --r-xl remain the same */
577
+ }
578
+ ```
579
+
580
+ ### Theme Toggle Setup
581
+
582
+ Use the `.dark` class on `<html>` or a container element. shadcn's `next-themes` or a simple toggle works:
583
+
584
+ ```tsx
585
+ // Minimal dark mode toggle (Vite / React)
586
+ import { useEffect, useState } from 'react';
587
+
588
+ function useTheme() {
589
+ const [dark, setDark] = useState(() =>
590
+ window.matchMedia('(prefers-color-scheme: dark)').matches
591
+ );
592
+
593
+ useEffect(() => {
594
+ document.documentElement.classList.toggle('dark', dark);
595
+ }, [dark]);
596
+
597
+ return { dark, toggle: () => setDark(d => !d) };
598
+ }
599
+ ```
600
+
601
+ ```html
602
+ <!-- The .dark class activates the override tokens -->
603
+ <html class="dark">
604
+ <!-- All var(--surface), var(--ink-1), etc. now resolve to dark values -->
605
+ </html>
606
+ ```
607
+
608
+ ### Tailwind CSS Integration
609
+
610
+ Map tokens to Tailwind in `tailwind.config.js`:
611
+
612
+ ```js
613
+ // tailwind.config.js (extends existing warm-editorial setup)
614
+ module.exports = {
615
+ darkMode: 'class', // Use .dark class, not media query
616
+ theme: {
617
+ extend: {
618
+ colors: {
619
+ background: 'var(--bg)',
620
+ surface: 'var(--surface)',
621
+ 'surface-2': 'var(--surface-2)',
622
+ 'surface-3': 'var(--surface-3)',
623
+ border: 'var(--border)',
624
+ 'ink-1': 'var(--ink-1)',
625
+ 'ink-2': 'var(--ink-2)',
626
+ 'ink-3': 'var(--ink-3)',
627
+ 'ink-4': 'var(--ink-4)',
628
+ brand: 'var(--brand)',
629
+ 'brand-soft': 'var(--brand-soft)',
630
+ },
631
+ },
632
+ },
633
+ };
634
+ ```
635
+
636
+ Components then use `bg-surface`, `text-ink-1`, `border-border` — **no `dark:` prefix needed**. The CSS variables swap automatically when `.dark` is applied.
637
+
638
+ ### Dark Mode Component Adaptations
639
+
640
+ #### Alert / Highlight Cards
641
+
642
+ ```css
643
+ .dark .alert-card {
644
+ background: linear-gradient(135deg, rgba(248,81,73,0.08) 0%, rgba(248,81,73,0.04) 100%);
645
+ border-color: rgba(248,81,73,0.20);
646
+ }
647
+ .dark .callout-green {
648
+ background: var(--green-soft);
649
+ border-color: var(--green-border);
650
+ }
651
+ .dark .callout-blue {
652
+ background: var(--blue-soft);
653
+ border-color: var(--blue-border);
654
+ }
655
+ ```
656
+
657
+ #### Sidebar (Dark)
658
+
659
+ ```css
660
+ .dark .sidebar {
661
+ background: var(--surface); /* #242320 — warm dark */
662
+ border-right-color: var(--border); /* #3A3834 */
663
+ }
664
+ .dark .nav-item.active {
665
+ background: var(--brand-soft); /* rgba tint, not opaque */
666
+ color: var(--brand); /* #F52D2D — brightened */
667
+ }
668
+ .dark .brand-logo {
669
+ box-shadow: 0 3px 10px rgba(245,45,45,0.35); /* slightly more glow on dark */
670
+ }
671
+ ```
672
+
673
+ #### KPI Cards (Dark)
674
+
675
+ No CSS changes needed — KPI cards already use `var(--surface)`, `var(--border)`, `var(--shadow-sm)` which swap automatically. The colored top bar uses `var(--kpi-color)` which is set per-card (brand/green/amber/red).
676
+
677
+ #### Charts (Dark)
678
+
679
+ When using Recharts, Plotly, or similar:
680
+
681
+ ```tsx
682
+ // Chart colors adapt to theme via CSS variables
683
+ const chartConfig = {
684
+ backgroundColor: 'var(--surface)',
685
+ gridColor: 'var(--border)',
686
+ textColor: 'var(--ink-3)',
687
+ axisColor: 'var(--ink-4)',
688
+ };
689
+
690
+ // For Plotly specifically:
691
+ const plotlyLayout = {
692
+ paper_bgcolor: 'transparent',
693
+ plot_bgcolor: 'transparent',
694
+ font: { color: 'var(--ink-2)' },
695
+ xaxis: { gridcolor: 'var(--border)', zerolinecolor: 'var(--border-strong)' },
696
+ yaxis: { gridcolor: 'var(--border)', zerolinecolor: 'var(--border-strong)' },
697
+ };
698
+ ```
699
+
700
+ ### Dark Mode vs Light Mode — Quick Reference
701
+
702
+ | Token | Light | Dark | Notes |
703
+ |-------|-------|------|-------|
704
+ | `--bg` | `#F5F3F0` cream | `#1A1917` warm near-black | Both warm-tinted |
705
+ | `--surface` | `#FFFFFF` white | `#242320` warm charcoal | Cards, panels |
706
+ | `--surface-2` | `#F9F8F6` subtle | `#1E1D1B` recessed | Inputs, insets |
707
+ | `--border` | `#E5E2DC` warm beige | `#3A3834` warm dark | Both avoid cold grey |
708
+ | `--ink-1` | `#1A1816` warm black | `#E8E5DF` warm off-white | Primary text |
709
+ | `--ink-3` | `#6B6760` warm grey | `#A8A49C` lighter warm grey | Tertiary text |
710
+ | `--ink-4` | `#9C9890` muted | `#8A8680` muted (lifted) | Placeholder/section labels |
711
+ | `--brand` | `#E10A0A` | `#F52D2D` | Brightened for dark |
712
+ | `--green` | `#16A34A` | `#3FB950` | Brightened for dark |
713
+ | `--red` | `#DC2626` | `#F85149` | Brightened for dark |
714
+ | `--shadow-sm` | `rgba(26,24,22,0.06)` | `rgba(0,0,0,0.32)` | Higher opacity on dark |
715
+
716
+ ### What Makes This Dark Mode Distinctive
717
+
718
+ 1. **Warm charcoal, not cold**: Backgrounds are `#1A1917` (brown-black), not `#0D1117` (GitHub blue-black) or `#0a0a0a` (pure black)
719
+ 2. **Soft, not harsh**: Surfaces at `#242320` are visibly lighter than the `#1A1917` page — creating depth without being stark
720
+ 3. **Status colors breathe**: Green/red/amber/blue are ~15% brighter than their light-mode counterparts — they pop without screaming
721
+ 4. **Shadows still work**: Unlike many dark themes where shadows vanish, the `rgba(0,0,0,0.3-0.5)` range creates visible but subtle elevation
722
+ 5. **Brand stays warm**: The red accent at `#F52D2D` glows slightly warmer, working with the warm charcoal surface instead of fighting it
723
+ 6. **Muted text stays readable**: `--ink-4` at `#8A8680` achieves 4.6:1 contrast on card surfaces — grey but never invisible
724
+
725
+ ### Don'ts (Dark Mode)
726
+
727
+ - ❌ No pure black backgrounds (`#000000`, `#0a0a0a`)
728
+ - ❌ No cold blue-grey (`#1C2128`, `#22272E`) — use warm tones
729
+ - ❌ No stark white text (`#FFFFFF`) — use warm off-white `#E8E5DF`
730
+ - ❌ No identical status colors as light mode — brighten them for dark backgrounds
731
+ - ❌ No `opacity: 0.5` for muting — use dedicated muted tokens instead
732
+ - ❌ No light-mode shadow values — dark surfaces need higher-opacity shadows