@bluefly/openstandardagents 0.2.5-RC → 0.2.7

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 (238) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  3. package/.github/workflows/dependabot-comment.yml +34 -0
  4. package/.github/workflows/pr-comment.yml +33 -0
  5. package/.husky/pre-commit +5 -0
  6. package/.kiro/config.json +21 -0
  7. package/.kiro/settings/mcp.json +61 -0
  8. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  9. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  10. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  11. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  12. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  13. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  14. package/CHANGELOG.md +23 -0
  15. package/README.md +12 -3
  16. package/bin/ossa-dev +42 -0
  17. package/bin/ossa-export +32 -0
  18. package/bin/ossa-generate +60 -0
  19. package/bin/ossa-health +40 -0
  20. package/bin/ossa-init +26 -0
  21. package/dist/repositories/schema.repository.d.ts.map +1 -1
  22. package/dist/repositories/schema.repository.js +15 -10
  23. package/dist/repositories/schema.repository.js.map +1 -1
  24. package/dist/services/github-sync/github-client.d.ts +14 -0
  25. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  26. package/dist/services/github-sync/github-client.js +41 -0
  27. package/dist/services/github-sync/github-client.js.map +1 -0
  28. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  29. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  30. package/dist/services/github-sync/gitlab-client.js +42 -0
  31. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  32. package/dist/services/github-sync/schemas.d.ts +46 -0
  33. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  34. package/dist/services/github-sync/schemas.js +36 -0
  35. package/dist/services/github-sync/schemas.js.map +1 -0
  36. package/dist/services/github-sync/sync.service.d.ts +27 -0
  37. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  38. package/dist/services/github-sync/sync.service.js +99 -0
  39. package/dist/services/github-sync/sync.service.js.map +1 -0
  40. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  41. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  42. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  43. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  44. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  45. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  47. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  48. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  49. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  50. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  51. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  52. package/dist/services/runtime/claude/types.d.ts +115 -0
  53. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  54. package/dist/services/runtime/claude/types.js +6 -0
  55. package/dist/services/runtime/claude/types.js.map +1 -0
  56. package/dist/services/validation.service.d.ts.map +1 -1
  57. package/dist/services/validation.service.js +12 -1
  58. package/dist/services/validation.service.js.map +1 -1
  59. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  60. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  61. package/dist/spec/v0.2.6/README.md +72 -0
  62. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  63. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  64. package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  65. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  66. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  67. package/dist/spec/v0.2.6-dev/README.md +75 -0
  68. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  69. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  70. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6-dev/ossa-0.2.5.schema.json} +9 -9
  71. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  72. package/{spec/v0.2.4/ossa-0.2.4-dev.schema.json → dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json} +9 -9
  73. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  74. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  75. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  76. package/docs/brand-guide/01-brand-overview.md +37 -0
  77. package/docs/brand-guide/02-logo-usage.md +43 -0
  78. package/docs/brand-guide/03-color-palette.md +70 -0
  79. package/docs/brand-guide/04-typography.md +82 -0
  80. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  81. package/docs/brand-guide/06-visual-elements.md +137 -0
  82. package/docs/brand-guide/07-application-examples.md +153 -0
  83. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  84. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  85. package/docs/brand-guide/README.md +107 -0
  86. package/docs/comparison.md +315 -0
  87. package/docs/operations/automation-roadmap.md +245 -0
  88. package/docs/operations/github-sync-strategy.md +357 -0
  89. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  90. package/examples/autogen/multi-agent.ossa.json +6 -4
  91. package/examples/crewai/research-team.ossa.json +14 -5
  92. package/examples/cursor/code-review-agent.ossa.json +21 -6
  93. package/examples/langchain/chain-agent.ossa.json +21 -5
  94. package/examples/langflow/workflow-agent.ossa.json +2 -3
  95. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  96. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  97. package/examples/openai/multi-tool-agent.ossa.json +32 -9
  98. package/examples/openai/swarm-agent.ossa.json +18 -5
  99. package/examples/vercel/edge-agent.ossa.json +5 -4
  100. package/openapi/github-sync.yaml +115 -0
  101. package/package.json +25 -4
  102. package/scripts/README.md +103 -0
  103. package/scripts/auto-rebase-mrs.ts +106 -0
  104. package/scripts/batch-dependabot.sh +57 -0
  105. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  106. package/scripts/create-issue-helper.ts +238 -0
  107. package/scripts/create-milestone-issue.ts +73 -0
  108. package/scripts/fix-schema-formats.js +82 -0
  109. package/scripts/generate-agents-catalog.ts +77 -0
  110. package/scripts/generate-api-docs.ts +218 -0
  111. package/scripts/generate-cli-docs.ts +410 -0
  112. package/scripts/generate-config-docs.ts +109 -0
  113. package/scripts/generate-errors-docs.ts +76 -0
  114. package/scripts/generate-examples-docs.ts +99 -0
  115. package/scripts/generate-schema-docs.ts +296 -0
  116. package/scripts/generate-types-docs.ts +48 -0
  117. package/scripts/lowercase-docs.ts +43 -0
  118. package/scripts/manage-milestone-mrs.ts +279 -0
  119. package/scripts/rebase-all-mrs.sh +75 -0
  120. package/scripts/sync-github-pr.sh +48 -0
  121. package/scripts/sync-version.js +40 -0
  122. package/scripts/sync-wiki.sh +50 -0
  123. package/scripts/validate-all.js +127 -0
  124. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  125. package/spec/v0.2.6/CHANGELOG.md +401 -0
  126. package/spec/v0.2.6/README.md +72 -0
  127. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  128. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  129. package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  130. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  131. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  132. package/spec/v0.2.6-dev/README.md +75 -0
  133. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  134. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  135. package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  136. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  137. package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +1696 -0
  138. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  139. package/spec/v0.2.7/core/agentgraph.md +324 -0
  140. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  141. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
  142. package/website/app/about/page.tsx +53 -44
  143. package/website/app/ecosystem/page.tsx +146 -111
  144. package/website/app/globals.scss +256 -21
  145. package/website/app/page.tsx +394 -182
  146. package/website/app/page.tsx.bak +679 -0
  147. package/website/app/page.tsx.bak2 +649 -0
  148. package/website/app/schema/page.tsx +3 -3
  149. package/website/app/specification/page.tsx +1 -1
  150. package/website/components/layout/Header.tsx +27 -23
  151. package/website/components/ui/Badge.tsx +82 -0
  152. package/website/components/ui/Button.tsx +116 -0
  153. package/website/components/ui/Card.tsx +167 -0
  154. package/website/components/ui/Checkbox.tsx +141 -0
  155. package/website/components/ui/Input.tsx +169 -0
  156. package/website/components/ui/Radio.tsx +141 -0
  157. package/website/components/ui/Select.tsx +182 -0
  158. package/website/components/ui/Tag.tsx +158 -0
  159. package/website/components/ui/Textarea.tsx +195 -0
  160. package/website/components/ui/index.ts +11 -0
  161. package/website/content/docs/{00-HOME.md → 00-home.md} +1 -1
  162. package/website/content/docs/agents/catalog.md +28 -0
  163. package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
  164. package/website/content/docs/api-reference/index.md +38 -0
  165. package/website/content/docs/api-reference/ossa-core-api.md +634 -0
  166. package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
  167. package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
  168. package/website/content/docs/cli-reference/index.md +111 -0
  169. package/website/content/docs/cli-reference/ossa-agents.md +70 -0
  170. package/website/content/docs/cli-reference/ossa-export.md +56 -0
  171. package/website/content/docs/cli-reference/ossa-generate.md +66 -0
  172. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
  173. package/website/content/docs/cli-reference/ossa-import.md +56 -0
  174. package/website/content/docs/cli-reference/ossa-init.md +57 -0
  175. package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
  176. package/website/content/docs/cli-reference/ossa-run.md +66 -0
  177. package/website/content/docs/cli-reference/ossa-schema.md +57 -0
  178. package/website/content/docs/cli-reference/ossa-setup.md +57 -0
  179. package/website/content/docs/cli-reference/ossa-validate.md +66 -0
  180. package/website/content/docs/configuration/index.md +97 -0
  181. package/website/content/docs/deployment/github-mirroring.md +924 -0
  182. package/website/content/docs/documentation.md +100 -0
  183. package/website/content/docs/ecosystem/framework-support.md +551 -9
  184. package/website/content/docs/errors/index.md +10 -0
  185. package/website/content/docs/examples/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
  186. package/website/content/docs/examples/catalog.md +300 -0
  187. package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
  188. package/website/content/docs/getting-started/{Installation.md → installation.md} +1 -1
  189. package/website/content/docs/getting-started.md +1 -1
  190. package/website/content/docs/integrations/aiflow.md +2 -2
  191. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  192. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  193. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +7 -7
  194. package/website/content/docs/migration-guides/langchain-to-ossa.md +4 -4
  195. package/website/content/docs/openapi-extensions/index.md +1 -1
  196. package/website/content/docs/ossa-compliant-badge.md +1 -1
  197. package/website/content/docs/pre-release/index.md +5 -5
  198. package/website/content/docs/releases/v0.2.6.md +99 -0
  199. package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
  200. package/website/content/docs/schema-reference/agent-id.md +52 -0
  201. package/website/content/docs/schema-reference/agent-name.md +50 -0
  202. package/website/content/docs/schema-reference/agent-role.md +54 -0
  203. package/website/content/docs/schema-reference/agent-version.md +50 -0
  204. package/website/content/docs/schema-reference/index.md +26 -157
  205. package/website/content/docs/types-reference/index.md +105 -0
  206. package/website/content/docs/versioning.md +3 -3
  207. package/website/dev.sh +53 -0
  208. package/website/docker-compose.dev.yml +36 -0
  209. package/website/lib/version.ts +1 -1
  210. package/website/lib/versions.json +45 -20
  211. package/website/package.json +1 -1
  212. package/website/styles/_spacing.scss +453 -0
  213. package/website/styles/_tokens.scss +245 -0
  214. package/website/styles/_typography.scss +361 -0
  215. package/website/styles/_variables.scss +270 -19
  216. package/website/tailwind.config.ts +113 -79
  217. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  218. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  219. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  220. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  221. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  222. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  223. package/docs/issue-19-completion-summary.md +0 -648
  224. package/docs/issue-19-validation.md +0 -351
  225. package/website/content/docs/Examples.md +0 -71
  226. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  227. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  228. package/website/content/docs/examples/Migration-Guides.md +0 -214
  229. package/website/content/docs/for-audiences/Architects.md +0 -224
  230. package/website/content/docs/for-audiences/Developers.md +0 -220
  231. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  232. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  233. package/website/content/docs/getting-started/First-Agent.md +0 -196
  234. package/website/content/docs/getting-started/Hello-World.md +0 -184
  235. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  236. package/website/content/docs/migration-guides/README.md +0 -133
  237. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  238. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -1,25 +1,173 @@
1
1
  // OSSA Design System - Centralized Color Variables
2
2
  // Update colors here to change them site-wide
3
+ // Based on Brand Guide v1.0.0 (Issue #44)
3
4
 
4
- // Brand Colors
5
- $ossa-primary: #4A3ECD; // Main blue-purple - OSSA hub/standard
6
- $ossa-secondary: #1CB9ED; // Cyan-blue - Agent nodes
7
- $ossa-accent: #9060EA; // Purple accent
8
-
9
- // Semantic Colors - Muted for better visual harmony
10
- $ossa-success: #10b981; // Muted green
11
- $ossa-warning: #f59e0b; // Muted amber
12
- $ossa-error: #ef4444; // Muted red
13
- $ossa-info: #06b6d4; // Muted cyan
14
-
15
- // Neutral Colors
16
- $ossa-dark: #212529;
17
- $ossa-gray-900: #343a40;
18
- $ossa-gray-700: #495057;
19
- $ossa-gray-500: #6c757d;
20
- $ossa-gray-300: #dee2e6;
21
- $ossa-gray-100: #f8f9fa;
5
+ // ============================================================================
6
+ // PRIMARY BRAND COLOR - Deep Purple (#4A3ECD)
7
+ // ============================================================================
8
+ $ossa-primary-50: #f5f4fd;
9
+ $ossa-primary-100: #e8e5fa;
10
+ $ossa-primary-200: #d4cff5;
11
+ $ossa-primary-300: #b5abee;
12
+ $ossa-primary-400: #8f7ee4;
13
+ $ossa-primary-500: #4A3ECD; // Base - Main blue-purple
14
+ $ossa-primary-600: #3d2fb8;
15
+ $ossa-primary-700: #322598;
16
+ $ossa-primary-800: #2a1f7a;
17
+ $ossa-primary-900: #241f65;
18
+ $ossa-primary-950: #15113a;
19
+
20
+ // Legacy alias for backward compatibility
21
+ $ossa-primary: $ossa-primary-500;
22
+
23
+ // ============================================================================
24
+ // SECONDARY BRAND COLOR - Cyan Blue (#1CB9ED)
25
+ // ============================================================================
26
+ $ossa-secondary-50: #ecfbff;
27
+ $ossa-secondary-100: #d1f5fe;
28
+ $ossa-secondary-200: #a8e9fd;
29
+ $ossa-secondary-300: #6fd8fa;
30
+ $ossa-secondary-400: #2ec0f5;
31
+ $ossa-secondary-500: #1CB9ED; // Base - Cyan-blue
32
+ $ossa-secondary-600: #0a9dd1;
33
+ $ossa-secondary-700: #087da9;
34
+ $ossa-secondary-800: #0c6688;
35
+ $ossa-secondary-900: #105570;
36
+ $ossa-secondary-950: #08374a;
37
+
38
+ // Legacy alias for backward compatibility
39
+ $ossa-secondary: $ossa-secondary-500;
40
+
41
+ // ============================================================================
42
+ // ACCENT COLOR - Light Purple (#9060EA)
43
+ // ============================================================================
44
+ $ossa-accent-50: #f7f4fe;
45
+ $ossa-accent-100: #ede9fd;
46
+ $ossa-accent-200: #ddd4fb;
47
+ $ossa-accent-300: #c5b3f8;
48
+ $ossa-accent-400: #a887f3;
49
+ $ossa-accent-500: #9060EA; // Base - Purple accent
50
+ $ossa-accent-600: #7c3aed;
51
+ $ossa-accent-700: #6b28d9;
52
+ $ossa-accent-800: #5923b8;
53
+ $ossa-accent-900: #4b1f97;
54
+ $ossa-accent-950: #2d0f5c;
55
+
56
+ // Legacy alias for backward compatibility
57
+ $ossa-accent: $ossa-accent-500;
58
+
59
+ // ============================================================================
60
+ // DARK PURPLE - For contrast and depth (#2D1B69)
61
+ // ============================================================================
62
+ $ossa-dark-purple-50: #f5f3f9;
63
+ $ossa-dark-purple-100: #ebe7f3;
64
+ $ossa-dark-purple-200: #d9d1e9;
65
+ $ossa-dark-purple-300: #bfafd9;
66
+ $ossa-dark-purple-400: #9f85c5;
67
+ $ossa-dark-purple-500: #7d5db0;
68
+ $ossa-dark-purple-600: #654497;
69
+ $ossa-dark-purple-700: #53367d;
70
+ $ossa-dark-purple-800: #462e68;
71
+ $ossa-dark-purple-900: #2D1B69; // Base - Dark purple for contrast
72
+ $ossa-dark-purple-950: #1a0f3d;
73
+
74
+ // Alias
75
+ $ossa-dark-purple: $ossa-dark-purple-900;
76
+
77
+ // ============================================================================
78
+ // SEMANTIC COLORS - Success, Warning, Error, Info
79
+ // ============================================================================
80
+
81
+ // Success - Green
82
+ $ossa-success-50: #ecfdf5;
83
+ $ossa-success-100: #d1fae5;
84
+ $ossa-success-200: #a7f3d0;
85
+ $ossa-success-300: #6ee7b7;
86
+ $ossa-success-400: #34d399;
87
+ $ossa-success-500: #10b981; // Base
88
+ $ossa-success-600: #059669;
89
+ $ossa-success-700: #047857;
90
+ $ossa-success-800: #065f46;
91
+ $ossa-success-900: #064e3b;
92
+ $ossa-success-950: #022c22;
93
+
94
+ // Legacy alias
95
+ $ossa-success: $ossa-success-500;
96
+
97
+ // Warning - Amber
98
+ $ossa-warning-50: #fffbeb;
99
+ $ossa-warning-100: #fef3c7;
100
+ $ossa-warning-200: #fde68a;
101
+ $ossa-warning-300: #fcd34d;
102
+ $ossa-warning-400: #fbbf24;
103
+ $ossa-warning-500: #f59e0b; // Base
104
+ $ossa-warning-600: #d97706;
105
+ $ossa-warning-700: #b45309;
106
+ $ossa-warning-800: #92400e;
107
+ $ossa-warning-900: #78350f;
108
+ $ossa-warning-950: #451a03;
109
+
110
+ // Legacy alias
111
+ $ossa-warning: $ossa-warning-500;
112
+
113
+ // Error - Red
114
+ $ossa-error-50: #fef2f2;
115
+ $ossa-error-100: #fee2e2;
116
+ $ossa-error-200: #fecaca;
117
+ $ossa-error-300: #fca5a5;
118
+ $ossa-error-400: #f87171;
119
+ $ossa-error-500: #ef4444; // Base
120
+ $ossa-error-600: #dc2626;
121
+ $ossa-error-700: #b91c1c;
122
+ $ossa-error-800: #991b1b;
123
+ $ossa-error-900: #7f1d1d;
124
+ $ossa-error-950: #450a0a;
125
+
126
+ // Legacy alias
127
+ $ossa-error: $ossa-error-500;
128
+
129
+ // Info - Cyan
130
+ $ossa-info-50: #ecfeff;
131
+ $ossa-info-100: #cffafe;
132
+ $ossa-info-200: #a5f3fc;
133
+ $ossa-info-300: #67e8f9;
134
+ $ossa-info-400: #22d3ee;
135
+ $ossa-info-500: #06b6d4; // Base
136
+ $ossa-info-600: #0891b2;
137
+ $ossa-info-700: #0e7490;
138
+ $ossa-info-800: #155e75;
139
+ $ossa-info-900: #164e63;
140
+ $ossa-info-950: #083344;
141
+
142
+ // Legacy alias
143
+ $ossa-info: $ossa-info-500;
144
+
145
+ // ============================================================================
146
+ // NEUTRAL COLORS - Grays
147
+ // ============================================================================
148
+ $ossa-gray-50: #f9fafb;
149
+ $ossa-gray-100: #f3f4f6;
150
+ $ossa-gray-200: #e5e7eb;
151
+ $ossa-gray-300: #d1d5db;
152
+ $ossa-gray-400: #9ca3af;
153
+ $ossa-gray-500: #6b7280;
154
+ $ossa-gray-600: #4b5563;
155
+ $ossa-gray-700: #374151;
156
+ $ossa-gray-800: #1f2937;
157
+ $ossa-gray-900: #111827;
158
+ $ossa-gray-950: #030712;
159
+
160
+ // Special colors
22
161
  $ossa-white: #ffffff;
162
+ $ossa-black: #000000;
163
+ $ossa-dark: #1A1A2E; // From brand guide
164
+
165
+ // ============================================================================
166
+ // FOCUS RING COLORS - For Accessibility
167
+ // ============================================================================
168
+ $ossa-focus-primary: rgba(74, 62, 205, 0.3); // primary/30
169
+ $ossa-focus-secondary: rgba(28, 185, 237, 0.3); // secondary/30
170
+ $ossa-focus-accent: rgba(144, 96, 234, 0.3); // accent/30
23
171
 
24
172
  // Gradients - Lightest blue to darkest purple, blue spans more
25
173
  // Order: secondary (lightest blue #1CB9ED) -> primary (blue-purple #4A3ECD) -> accent (darkest purple #9060EA)
@@ -27,7 +175,110 @@ $gradient-brand: linear-gradient(135deg, $ossa-secondary 0%, $ossa-secondary 40%
27
175
  $gradient-hero: linear-gradient(135deg, $ossa-secondary 0%, $ossa-secondary 35%, $ossa-primary 65%, $ossa-accent 100%);
28
176
  $gradient-button: linear-gradient(135deg, $ossa-secondary 0%, $ossa-secondary 45%, $ossa-primary 75%, $ossa-accent 100%);
29
177
 
30
- // Code Colors
178
+ // ============================================================================
179
+ // TYPOGRAPHY SYSTEM - Based on Issue #44 Brand Guide
180
+ // ============================================================================
181
+
182
+ // Font Families
183
+ $font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
184
+ $font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
185
+
186
+ // Type Scale - Exact specifications from Issue #44
187
+ $text-display: 4.5rem; // 72px - Display/Hero
188
+ $text-h1: 3.5rem; // 56px - H1
189
+ $text-h2: 2.5rem; // 40px - H2
190
+ $text-h3: 2rem; // 32px - H3
191
+ $text-h4: 1.5rem; // 24px - H4
192
+ $text-h5: 1.25rem; // 20px - H5
193
+ $text-h6: 1.125rem; // 18px - H6
194
+ $text-body: 1rem; // 16px - Body
195
+ $text-small: 0.875rem; // 14px - Small
196
+
197
+ // Line Heights - From Issue #44
198
+ $leading-display: 1.1;
199
+ $leading-h1: 1.2;
200
+ $leading-h2: 1.3;
201
+ $leading-h3: 1.4;
202
+ $leading-h4: 1.5;
203
+ $leading-h5: 1.5;
204
+ $leading-h6: 1.5;
205
+ $leading-body: 1.6;
206
+ $leading-small: 1.5;
207
+
208
+ // Letter Spacing - From Issue #44
209
+ $tracking-display: -0.02em;
210
+ $tracking-h1: -0.01em;
211
+ $tracking-normal: 0;
212
+
213
+ // Font Weights
214
+ $font-normal: 400;
215
+ $font-medium: 500;
216
+ $font-semibold: 600;
217
+ $font-bold: 700;
218
+ $font-extrabold: 800;
219
+
220
+ // ============================================================================
221
+ // SPACING & LAYOUT SYSTEM - Based on 4px grid
222
+ // ============================================================================
223
+
224
+ // Spacing Scale
225
+ $space-1: 0.25rem; // 4px
226
+ $space-2: 0.5rem; // 8px
227
+ $space-3: 0.75rem; // 12px
228
+ $space-4: 1rem; // 16px
229
+ $space-5: 1.25rem; // 20px
230
+ $space-6: 1.5rem; // 24px
231
+ $space-8: 2rem; // 32px
232
+ $space-10: 2.5rem; // 40px
233
+ $space-12: 3rem; // 48px
234
+ $space-16: 4rem; // 64px
235
+ $space-20: 5rem; // 80px
236
+ $space-24: 6rem; // 96px
237
+
238
+ // Section Padding (Vertical Rhythm)
239
+ $section-padding-sm: $space-12; // 48px - py-12
240
+ $section-padding-md: $space-16; // 64px - py-16
241
+ $section-padding-lg: $space-20; // 80px - py-20
242
+ $section-padding-xl: $space-24; // 96px - py-24
243
+
244
+ // Container Max Widths
245
+ $container-sm: 640px; // max-w-sm
246
+ $container-md: 768px; // max-w-md
247
+ $container-lg: 1024px; // max-w-lg
248
+ $container-xl: 1280px; // max-w-xl
249
+ $container-2xl: 1536px; // max-w-2xl
250
+ $container-4xl: 56rem; // max-w-4xl (896px)
251
+ $container-6xl: 72rem; // max-w-6xl (1152px)
252
+ $container-7xl: 80rem; // max-w-7xl (1280px)
253
+
254
+ // Grid Gaps
255
+ $gap-sm: $space-4; // 16px - gap-4
256
+ $gap-md: $space-6; // 24px - gap-6
257
+ $gap-lg: $space-8; // 32px - gap-8
258
+
259
+ // Border Radius
260
+ $radius-sm: 0.25rem; // 4px
261
+ $radius-md: 0.5rem; // 8px
262
+ $radius-lg: 0.75rem; // 12px
263
+ $radius-xl: 1rem; // 16px
264
+ $radius-2xl: 1.5rem; // 24px
265
+ $radius-full: 9999px; // Full rounded
266
+
267
+ // Shadows
268
+ $shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
269
+ $shadow-md: 0 2px 8px rgba(0, 0, 0, 0.04);
270
+ $shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.08);
271
+ $shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.12);
272
+ $shadow-brand: 0 8px 16px rgba(74, 62, 205, 0.3);
273
+
274
+ // Transitions
275
+ $transition-fast: 150ms ease;
276
+ $transition-base: 200ms ease;
277
+ $transition-slow: 300ms ease;
278
+
279
+ // ============================================================================
280
+ // CODE SYNTAX HIGHLIGHTING
281
+ // ============================================================================
31
282
  $code-bg: #1e1e1e;
32
283
  $code-text: #d4d4d4;
33
284
  $code-keyword: #569cd6;
@@ -9,102 +9,136 @@ const config: Config = {
9
9
  theme: {
10
10
  extend: {
11
11
  colors: {
12
+ // Primary Brand Color - Deep Purple
12
13
  primary: {
13
- DEFAULT: 'var(--ossa-primary)', // From SCSS variables - #4A3ECD
14
- 50: '#f5f4fd',
15
- 100: '#e8e5fa',
16
- 200: '#d4cff5',
17
- 300: '#b5abee',
18
- 400: '#8f7ee4',
19
- 500: 'var(--ossa-primary)', // #4A3ECD - from SCSS
20
- 600: '#3d2fb8',
21
- 700: '#322598',
22
- 800: '#2a1f7a',
23
- 900: '#241f65',
24
- 950: '#15113a',
14
+ DEFAULT: 'var(--ossa-primary)',
15
+ 50: 'var(--ossa-primary-50)',
16
+ 100: 'var(--ossa-primary-100)',
17
+ 200: 'var(--ossa-primary-200)',
18
+ 300: 'var(--ossa-primary-300)',
19
+ 400: 'var(--ossa-primary-400)',
20
+ 500: 'var(--ossa-primary)',
21
+ 600: 'var(--ossa-primary-600)',
22
+ 700: 'var(--ossa-primary-700)',
23
+ 800: 'var(--ossa-primary-800)',
24
+ 900: 'var(--ossa-primary-900)',
25
+ 950: 'var(--ossa-primary-950)',
25
26
  },
27
+ // Secondary Brand Color - Cyan Blue
26
28
  secondary: {
27
- DEFAULT: 'var(--ossa-secondary)', // From SCSS variables - #1CB9ED
28
- 50: '#ecfbff',
29
- 100: '#d1f5fe',
30
- 200: '#a8e9fd',
31
- 300: '#6fd8fa',
32
- 400: '#2ec0f5',
33
- 500: 'var(--ossa-secondary)', // #1CB9ED - from SCSS
34
- 600: '#0a9dd1',
35
- 700: '#087da9',
36
- 800: '#0c6688',
37
- 900: '#105570',
38
- 950: '#08374a',
29
+ DEFAULT: 'var(--ossa-secondary)',
30
+ 50: 'var(--ossa-secondary-50)',
31
+ 100: 'var(--ossa-secondary-100)',
32
+ 200: 'var(--ossa-secondary-200)',
33
+ 300: 'var(--ossa-secondary-300)',
34
+ 400: 'var(--ossa-secondary-400)',
35
+ 500: 'var(--ossa-secondary)',
36
+ 600: 'var(--ossa-secondary-600)',
37
+ 700: 'var(--ossa-secondary-700)',
38
+ 800: 'var(--ossa-secondary-800)',
39
+ 900: 'var(--ossa-secondary-900)',
40
+ 950: 'var(--ossa-secondary-950)',
39
41
  },
42
+ // Accent Color - Light Purple
40
43
  accent: {
41
- DEFAULT: 'var(--ossa-accent)', // From SCSS variables - #9060EA
42
- 50: '#f7f4fe',
43
- 100: '#ede9fd',
44
- 200: '#ddd4fb',
45
- 300: '#c5b3f8',
46
- 400: '#a887f3',
47
- 500: 'var(--ossa-accent)', // #9060EA - from SCSS
48
- 600: '#7c3aed',
49
- 700: '#6b28d9',
50
- 800: '#5923b8',
51
- 900: '#4b1f97',
52
- 950: '#2d0f5c',
44
+ DEFAULT: 'var(--ossa-accent)',
45
+ 50: 'var(--ossa-accent-50)',
46
+ 100: 'var(--ossa-accent-100)',
47
+ 200: 'var(--ossa-accent-200)',
48
+ 300: 'var(--ossa-accent-300)',
49
+ 400: 'var(--ossa-accent-400)',
50
+ 500: 'var(--ossa-accent)',
51
+ 600: 'var(--ossa-accent-600)',
52
+ 700: 'var(--ossa-accent-700)',
53
+ 800: 'var(--ossa-accent-800)',
54
+ 900: 'var(--ossa-accent-900)',
55
+ 950: 'var(--ossa-accent-950)',
53
56
  },
54
- // Semantic colors - centralized and muted
55
- // These reference CSS variables which come from SCSS variables in styles/_variables.scss
56
- // Update colors in ONE place: styles/_variables.scss
57
+ // Dark Purple - For contrast and depth
58
+ 'dark-purple': {
59
+ DEFAULT: 'var(--ossa-dark-purple)',
60
+ 50: 'var(--ossa-dark-purple-50)',
61
+ 100: 'var(--ossa-dark-purple-100)',
62
+ 200: 'var(--ossa-dark-purple-200)',
63
+ 300: 'var(--ossa-dark-purple-300)',
64
+ 400: 'var(--ossa-dark-purple-400)',
65
+ 500: 'var(--ossa-dark-purple-500)',
66
+ 600: 'var(--ossa-dark-purple-600)',
67
+ 700: 'var(--ossa-dark-purple-700)',
68
+ 800: 'var(--ossa-dark-purple-800)',
69
+ 900: 'var(--ossa-dark-purple)',
70
+ 950: 'var(--ossa-dark-purple-950)',
71
+ },
72
+ // Semantic Colors - Success, Warning, Error, Info
57
73
  success: {
58
74
  DEFAULT: 'var(--ossa-success)',
59
- 50: '#ecfdf5',
60
- 100: '#d1fae5',
61
- 200: '#a7f3d0',
62
- 300: '#6ee7b7',
63
- 400: '#34d399',
64
- 500: 'var(--ossa-success)', // #10b981 - from SCSS
65
- 600: '#059669',
66
- 700: '#047857',
67
- 800: '#065f46',
68
- 900: '#064e3b',
75
+ 50: 'var(--ossa-success-50)',
76
+ 100: 'var(--ossa-success-100)',
77
+ 200: 'var(--ossa-success-200)',
78
+ 300: 'var(--ossa-success-300)',
79
+ 400: 'var(--ossa-success-400)',
80
+ 500: 'var(--ossa-success)',
81
+ 600: 'var(--ossa-success-600)',
82
+ 700: 'var(--ossa-success-700)',
83
+ 800: 'var(--ossa-success-800)',
84
+ 900: 'var(--ossa-success-900)',
85
+ 950: 'var(--ossa-success-950)',
69
86
  },
70
87
  warning: {
71
88
  DEFAULT: 'var(--ossa-warning)',
72
- 50: '#fffbeb',
73
- 100: '#fef3c7',
74
- 200: '#fde68a',
75
- 300: '#fcd34d',
76
- 400: '#fbbf24',
77
- 500: 'var(--ossa-warning)', // #f59e0b - from SCSS
78
- 600: '#d97706',
79
- 700: '#b45309',
80
- 800: '#92400e',
81
- 900: '#78350f',
89
+ 50: 'var(--ossa-warning-50)',
90
+ 100: 'var(--ossa-warning-100)',
91
+ 200: 'var(--ossa-warning-200)',
92
+ 300: 'var(--ossa-warning-300)',
93
+ 400: 'var(--ossa-warning-400)',
94
+ 500: 'var(--ossa-warning)',
95
+ 600: 'var(--ossa-warning-600)',
96
+ 700: 'var(--ossa-warning-700)',
97
+ 800: 'var(--ossa-warning-800)',
98
+ 900: 'var(--ossa-warning-900)',
99
+ 950: 'var(--ossa-warning-950)',
82
100
  },
83
101
  error: {
84
102
  DEFAULT: 'var(--ossa-error)',
85
- 50: '#fef2f2',
86
- 100: '#fee2e2',
87
- 200: '#fecaca',
88
- 300: '#fca5a5',
89
- 400: '#f87171',
90
- 500: 'var(--ossa-error)', // #ef4444 - from SCSS
91
- 600: '#dc2626',
92
- 700: '#b91c1c',
93
- 800: '#991b1b',
94
- 900: '#7f1d1d',
103
+ 50: 'var(--ossa-error-50)',
104
+ 100: 'var(--ossa-error-100)',
105
+ 200: 'var(--ossa-error-200)',
106
+ 300: 'var(--ossa-error-300)',
107
+ 400: 'var(--ossa-error-400)',
108
+ 500: 'var(--ossa-error)',
109
+ 600: 'var(--ossa-error-600)',
110
+ 700: 'var(--ossa-error-700)',
111
+ 800: 'var(--ossa-error-800)',
112
+ 900: 'var(--ossa-error-900)',
113
+ 950: 'var(--ossa-error-950)',
95
114
  },
96
115
  info: {
97
116
  DEFAULT: 'var(--ossa-info)',
98
- 50: '#ecfeff',
99
- 100: '#cffafe',
100
- 200: '#a5f3fc',
101
- 300: '#67e8f9',
102
- 400: '#22d3ee',
103
- 500: 'var(--ossa-info)', // #06b6d4 - from SCSS
104
- 600: '#0891b2',
105
- 700: '#0e7490',
106
- 800: '#155e75',
107
- 900: '#164e63',
117
+ 50: 'var(--ossa-info-50)',
118
+ 100: 'var(--ossa-info-100)',
119
+ 200: 'var(--ossa-info-200)',
120
+ 300: 'var(--ossa-info-300)',
121
+ 400: 'var(--ossa-info-400)',
122
+ 500: 'var(--ossa-info)',
123
+ 600: 'var(--ossa-info-600)',
124
+ 700: 'var(--ossa-info-700)',
125
+ 800: 'var(--ossa-info-800)',
126
+ 900: 'var(--ossa-info-900)',
127
+ 950: 'var(--ossa-info-950)',
128
+ },
129
+ // Neutral Grays
130
+ gray: {
131
+ 50: 'var(--ossa-gray-50)',
132
+ 100: 'var(--ossa-gray-100)',
133
+ 200: 'var(--ossa-gray-200)',
134
+ 300: 'var(--ossa-gray-300)',
135
+ 400: 'var(--ossa-gray-400)',
136
+ 500: 'var(--ossa-gray-500)',
137
+ 600: 'var(--ossa-gray-600)',
138
+ 700: 'var(--ossa-gray-700)',
139
+ 800: 'var(--ossa-gray-800)',
140
+ 900: 'var(--ossa-gray-900)',
141
+ 950: 'var(--ossa-gray-950)',
108
142
  },
109
143
  },
110
144
  fontFamily: {