@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,5 +1,6 @@
1
1
  import Link from 'next/link';
2
2
  import type { Metadata } from 'next';
3
+ import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/Card';
3
4
 
4
5
  export const metadata: Metadata = {
5
6
  title: 'Ecosystem - Open Standard Agents',
@@ -209,14 +210,14 @@ export default function EcosystemPage() {
209
210
 
210
211
  <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
211
212
  {runtimes.map((runtime) => (
212
- <div key={runtime.name} className="card p-6 hover:shadow-lg transition-shadow">
213
+ <Card key={runtime.name} variant="default" padding="md" elevation={1} hover>
213
214
  <div className="flex items-center justify-between mb-4">
214
215
  <span className="text-4xl">{runtime.logo}</span>
215
216
  <StatusBadge status={runtime.status} />
216
217
  </div>
217
218
  <h3 className="text-xl font-semibold mb-2">{runtime.name}</h3>
218
219
  <p className="text-gray-600">{runtime.notes}</p>
219
- </div>
220
+ </Card>
220
221
  ))}
221
222
  </div>
222
223
  </section>
@@ -225,109 +226,125 @@ export default function EcosystemPage() {
225
226
  <section className="mb-16">
226
227
  <h2 className="text-4xl font-bold mb-6 text-primary">Integration Ecosystem</h2>
227
228
  <div className="grid md:grid-cols-2 gap-6">
228
- <div className="card p-6">
229
- <h3 className="text-2xl font-semibold mb-4 text-primary">Tool Integration</h3>
230
- <ul className="space-y-3 text-gray-700">
231
- <li className="flex items-start">
232
- <span className="text-green-500 mr-2">✓</span>
233
- <span><strong>MCP Servers:</strong> Native Model Context Protocol support</span>
234
- </li>
235
- <li className="flex items-start">
236
- <span className="text-green-500 mr-2">✓</span>
237
- <span><strong>OpenAPI/REST:</strong> Standard HTTP API integration</span>
238
- </li>
239
- <li className="flex items-start">
240
- <span className="text-green-500 mr-2">✓</span>
241
- <span><strong>GraphQL:</strong> Query-based data fetching</span>
242
- </li>
243
- <li className="flex items-start">
244
- <span className="text-green-500 mr-2">✓</span>
245
- <span><strong>gRPC:</strong> High-performance RPC protocols</span>
246
- </li>
247
- <li className="flex items-start">
248
- <span className="text-green-500 mr-2">✓</span>
249
- <span><strong>WebSockets:</strong> Real-time bidirectional communication</span>
250
- </li>
251
- </ul>
252
- </div>
229
+ <Card variant="default" padding="md" elevation={1}>
230
+ <CardHeader>
231
+ <CardTitle className="text-primary">Tool Integration</CardTitle>
232
+ </CardHeader>
233
+ <CardContent>
234
+ <ul className="space-y-3 text-gray-700">
235
+ <li className="flex items-start">
236
+ <span className="text-green-500 mr-2">✓</span>
237
+ <span><strong>MCP Servers:</strong> Native Model Context Protocol support</span>
238
+ </li>
239
+ <li className="flex items-start">
240
+ <span className="text-green-500 mr-2">✓</span>
241
+ <span><strong>OpenAPI/REST:</strong> Standard HTTP API integration</span>
242
+ </li>
243
+ <li className="flex items-start">
244
+ <span className="text-green-500 mr-2">✓</span>
245
+ <span><strong>GraphQL:</strong> Query-based data fetching</span>
246
+ </li>
247
+ <li className="flex items-start">
248
+ <span className="text-green-500 mr-2">✓</span>
249
+ <span><strong>gRPC:</strong> High-performance RPC protocols</span>
250
+ </li>
251
+ <li className="flex items-start">
252
+ <span className="text-green-500 mr-2">✓</span>
253
+ <span><strong>WebSockets:</strong> Real-time bidirectional communication</span>
254
+ </li>
255
+ </ul>
256
+ </CardContent>
257
+ </Card>
253
258
 
254
- <div className="card p-6">
255
- <h3 className="text-2xl font-semibold mb-4 text-primary">Data Integration</h3>
256
- <ul className="space-y-3 text-gray-700">
257
- <li className="flex items-start">
258
- <span className="text-green-500 mr-2">✓</span>
259
- <span><strong>Vector Databases:</strong> Pinecone, Weaviate, Qdrant</span>
260
- </li>
261
- <li className="flex items-start">
262
- <span className="text-green-500 mr-2">✓</span>
263
- <span><strong>SQL Databases:</strong> PostgreSQL, MySQL, SQLite</span>
264
- </li>
265
- <li className="flex items-start">
266
- <span className="text-green-500 mr-2">✓</span>
267
- <span><strong>NoSQL:</strong> MongoDB, Redis, DynamoDB</span>
268
- </li>
269
- <li className="flex items-start">
270
- <span className="text-green-500 mr-2">✓</span>
271
- <span><strong>Message Queues:</strong> RabbitMQ, Kafka, SQS</span>
272
- </li>
273
- <li className="flex items-start">
274
- <span className="text-green-500 mr-2">✓</span>
275
- <span><strong>Object Storage:</strong> S3, GCS, Azure Blob</span>
276
- </li>
277
- </ul>
278
- </div>
259
+ <Card variant="default" padding="md" elevation={1}>
260
+ <CardHeader>
261
+ <CardTitle className="text-primary">Data Integration</CardTitle>
262
+ </CardHeader>
263
+ <CardContent>
264
+ <ul className="space-y-3 text-gray-700">
265
+ <li className="flex items-start">
266
+ <span className="text-green-500 mr-2">✓</span>
267
+ <span><strong>Vector Databases:</strong> Pinecone, Weaviate, Qdrant</span>
268
+ </li>
269
+ <li className="flex items-start">
270
+ <span className="text-green-500 mr-2">✓</span>
271
+ <span><strong>SQL Databases:</strong> PostgreSQL, MySQL, SQLite</span>
272
+ </li>
273
+ <li className="flex items-start">
274
+ <span className="text-green-500 mr-2">✓</span>
275
+ <span><strong>NoSQL:</strong> MongoDB, Redis, DynamoDB</span>
276
+ </li>
277
+ <li className="flex items-start">
278
+ <span className="text-green-500 mr-2">✓</span>
279
+ <span><strong>Message Queues:</strong> RabbitMQ, Kafka, SQS</span>
280
+ </li>
281
+ <li className="flex items-start">
282
+ <span className="text-green-500 mr-2">✓</span>
283
+ <span><strong>Object Storage:</strong> S3, GCS, Azure Blob</span>
284
+ </li>
285
+ </ul>
286
+ </CardContent>
287
+ </Card>
279
288
 
280
- <div className="card p-6">
281
- <h3 className="text-2xl font-semibold mb-4 text-primary">Monitoring & Observability</h3>
282
- <ul className="space-y-3 text-gray-700">
283
- <li className="flex items-start">
284
- <span className="text-green-500 mr-2">✓</span>
285
- <span><strong>OpenTelemetry:</strong> Distributed tracing support</span>
286
- </li>
287
- <li className="flex items-start">
288
- <span className="text-green-500 mr-2">✓</span>
289
- <span><strong>Prometheus:</strong> Metrics collection and alerting</span>
290
- </li>
291
- <li className="flex items-start">
292
- <span className="text-green-500 mr-2">✓</span>
293
- <span><strong>Grafana:</strong> Visualization and dashboards</span>
294
- </li>
295
- <li className="flex items-start">
296
- <span className="text-green-500 mr-2">✓</span>
297
- <span><strong>Sentry:</strong> Error tracking and reporting</span>
298
- </li>
299
- <li className="flex items-start">
300
- <span className="text-green-500 mr-2">✓</span>
301
- <span><strong>DataDog:</strong> Full-stack monitoring</span>
302
- </li>
303
- </ul>
304
- </div>
289
+ <Card variant="default" padding="md" elevation={1}>
290
+ <CardHeader>
291
+ <CardTitle className="text-primary">Monitoring & Observability</CardTitle>
292
+ </CardHeader>
293
+ <CardContent>
294
+ <ul className="space-y-3 text-gray-700">
295
+ <li className="flex items-start">
296
+ <span className="text-green-500 mr-2">✓</span>
297
+ <span><strong>OpenTelemetry:</strong> Distributed tracing support</span>
298
+ </li>
299
+ <li className="flex items-start">
300
+ <span className="text-green-500 mr-2">✓</span>
301
+ <span><strong>Prometheus:</strong> Metrics collection and alerting</span>
302
+ </li>
303
+ <li className="flex items-start">
304
+ <span className="text-green-500 mr-2">✓</span>
305
+ <span><strong>Grafana:</strong> Visualization and dashboards</span>
306
+ </li>
307
+ <li className="flex items-start">
308
+ <span className="text-green-500 mr-2">✓</span>
309
+ <span><strong>Sentry:</strong> Error tracking and reporting</span>
310
+ </li>
311
+ <li className="flex items-start">
312
+ <span className="text-green-500 mr-2">✓</span>
313
+ <span><strong>DataDog:</strong> Full-stack monitoring</span>
314
+ </li>
315
+ </ul>
316
+ </CardContent>
317
+ </Card>
305
318
 
306
- <div className="card p-6">
307
- <h3 className="text-2xl font-semibold mb-4 text-primary">CI/CD & DevOps</h3>
308
- <ul className="space-y-3 text-gray-700">
309
- <li className="flex items-start">
310
- <span className="text-green-500 mr-2">✓</span>
311
- <span><strong>GitHub Actions:</strong> Automated testing and deployment</span>
312
- </li>
313
- <li className="flex items-start">
314
- <span className="text-green-500 mr-2">✓</span>
315
- <span><strong>GitLab CI/CD:</strong> Pipeline automation</span>
316
- </li>
317
- <li className="flex items-start">
318
- <span className="text-green-500 mr-2">✓</span>
319
- <span><strong>Jenkins:</strong> Continuous integration server</span>
320
- </li>
321
- <li className="flex items-start">
322
- <span className="text-green-500 mr-2">✓</span>
323
- <span><strong>ArgoCD:</strong> GitOps continuous delivery</span>
324
- </li>
325
- <li className="flex items-start">
326
- <span className="text-green-500 mr-2">✓</span>
327
- <span><strong>Terraform:</strong> Infrastructure as code</span>
328
- </li>
329
- </ul>
330
- </div>
319
+ <Card variant="default" padding="md" elevation={1}>
320
+ <CardHeader>
321
+ <CardTitle className="text-primary">CI/CD & DevOps</CardTitle>
322
+ </CardHeader>
323
+ <CardContent>
324
+ <ul className="space-y-3 text-gray-700">
325
+ <li className="flex items-start">
326
+ <span className="text-green-500 mr-2">✓</span>
327
+ <span><strong>GitHub Actions:</strong> Automated testing and deployment</span>
328
+ </li>
329
+ <li className="flex items-start">
330
+ <span className="text-green-500 mr-2">✓</span>
331
+ <span><strong>GitLab CI/CD:</strong> Pipeline automation</span>
332
+ </li>
333
+ <li className="flex items-start">
334
+ <span className="text-green-500 mr-2">✓</span>
335
+ <span><strong>Jenkins:</strong> Continuous integration server</span>
336
+ </li>
337
+ <li className="flex items-start">
338
+ <span className="text-green-500 mr-2">✓</span>
339
+ <span><strong>ArgoCD:</strong> GitOps continuous delivery</span>
340
+ </li>
341
+ <li className="flex items-start">
342
+ <span className="text-green-500 mr-2">✓</span>
343
+ <span><strong>Terraform:</strong> Infrastructure as code</span>
344
+ </li>
345
+ </ul>
346
+ </CardContent>
347
+ </Card>
331
348
  </div>
332
349
  </section>
333
350
 
@@ -335,17 +352,35 @@ export default function EcosystemPage() {
335
352
  <section className="mb-16">
336
353
  <h2 className="text-4xl font-bold mb-6 text-primary">Community & Resources</h2>
337
354
  <div className="grid md:grid-cols-3 gap-6">
338
- <Link href="/docs/ecosystem/overview" className="card-hover p-6">
339
- <h3 className="text-xl font-semibold mb-2 text-primary">Ecosystem Overview</h3>
340
- <p className="text-gray-700">Learn about the OSSA ecosystem architecture and integration patterns.</p>
355
+ <Link href="/docs/ecosystem/overview">
356
+ <Card variant="interactive" padding="md" elevation={1} className="h-full">
357
+ <CardHeader>
358
+ <CardTitle className="text-primary">Ecosystem Overview</CardTitle>
359
+ </CardHeader>
360
+ <CardContent>
361
+ <p className="text-gray-700">Learn about the OSSA ecosystem architecture and integration patterns.</p>
362
+ </CardContent>
363
+ </Card>
341
364
  </Link>
342
- <Link href="/docs/ecosystem/framework-support" className="card-hover p-6">
343
- <h3 className="text-xl font-semibold mb-2 text-primary">Framework Support Guide</h3>
344
- <p className="text-gray-700">Detailed compatibility information and migration guides for each framework.</p>
365
+ <Link href="/docs/ecosystem/framework-support">
366
+ <Card variant="interactive" padding="md" elevation={1} className="h-full">
367
+ <CardHeader>
368
+ <CardTitle className="text-primary">Framework Support Guide</CardTitle>
369
+ </CardHeader>
370
+ <CardContent>
371
+ <p className="text-gray-700">Detailed compatibility information and migration guides for each framework.</p>
372
+ </CardContent>
373
+ </Card>
345
374
  </Link>
346
- <Link href="/examples" className="card-hover p-6">
347
- <h3 className="text-xl font-semibold mb-2 text-primary">Integration Examples</h3>
348
- <p className="text-gray-700">Real-world examples of OSSA integrations across frameworks and platforms.</p>
375
+ <Link href="/examples">
376
+ <Card variant="interactive" padding="md" elevation={1} className="h-full">
377
+ <CardHeader>
378
+ <CardTitle className="text-primary">Integration Examples</CardTitle>
379
+ </CardHeader>
380
+ <CardContent>
381
+ <p className="text-gray-700">Real-world examples of OSSA integrations across frameworks and platforms.</p>
382
+ </CardContent>
383
+ </Card>
349
384
  </Link>
350
385
  </div>
351
386
  </section>
@@ -6,32 +6,206 @@
6
6
 
7
7
  @layer base {
8
8
  :root {
9
- /* OSSA Brand Colors - from SCSS variables */
10
- --ossa-primary: #{$ossa-primary};
11
- --ossa-secondary: #{$ossa-secondary};
12
- --ossa-accent: #{$ossa-accent};
13
-
14
- /* Semantic Colors - Muted for better visual harmony */
15
- --ossa-success: #{$ossa-success};
16
- --ossa-warning: #{$ossa-warning};
17
- --ossa-error: #{$ossa-error};
18
- --ossa-info: #{$ossa-info};
19
-
20
- /* Neutral Colors */
21
- --ossa-dark: #{$ossa-dark};
22
- --ossa-gray-900: #{$ossa-gray-900};
23
- --ossa-gray-700: #{$ossa-gray-700};
24
- --ossa-gray-500: #{$ossa-gray-500};
25
- --ossa-gray-300: #{$ossa-gray-300};
9
+ /* ========================================================================
10
+ PRIMARY BRAND COLOR - Deep Purple
11
+ ======================================================================== */
12
+ --ossa-primary-50: #{$ossa-primary-50};
13
+ --ossa-primary-100: #{$ossa-primary-100};
14
+ --ossa-primary-200: #{$ossa-primary-200};
15
+ --ossa-primary-300: #{$ossa-primary-300};
16
+ --ossa-primary-400: #{$ossa-primary-400};
17
+ --ossa-primary: #{$ossa-primary-500};
18
+ --ossa-primary-500: #{$ossa-primary-500};
19
+ --ossa-primary-600: #{$ossa-primary-600};
20
+ --ossa-primary-700: #{$ossa-primary-700};
21
+ --ossa-primary-800: #{$ossa-primary-800};
22
+ --ossa-primary-900: #{$ossa-primary-900};
23
+ --ossa-primary-950: #{$ossa-primary-950};
24
+
25
+ /* ========================================================================
26
+ SECONDARY BRAND COLOR - Cyan Blue
27
+ ======================================================================== */
28
+ --ossa-secondary-50: #{$ossa-secondary-50};
29
+ --ossa-secondary-100: #{$ossa-secondary-100};
30
+ --ossa-secondary-200: #{$ossa-secondary-200};
31
+ --ossa-secondary-300: #{$ossa-secondary-300};
32
+ --ossa-secondary-400: #{$ossa-secondary-400};
33
+ --ossa-secondary: #{$ossa-secondary-500};
34
+ --ossa-secondary-500: #{$ossa-secondary-500};
35
+ --ossa-secondary-600: #{$ossa-secondary-600};
36
+ --ossa-secondary-700: #{$ossa-secondary-700};
37
+ --ossa-secondary-800: #{$ossa-secondary-800};
38
+ --ossa-secondary-900: #{$ossa-secondary-900};
39
+ --ossa-secondary-950: #{$ossa-secondary-950};
40
+
41
+ /* ========================================================================
42
+ ACCENT COLOR - Light Purple
43
+ ======================================================================== */
44
+ --ossa-accent-50: #{$ossa-accent-50};
45
+ --ossa-accent-100: #{$ossa-accent-100};
46
+ --ossa-accent-200: #{$ossa-accent-200};
47
+ --ossa-accent-300: #{$ossa-accent-300};
48
+ --ossa-accent-400: #{$ossa-accent-400};
49
+ --ossa-accent: #{$ossa-accent-500};
50
+ --ossa-accent-500: #{$ossa-accent-500};
51
+ --ossa-accent-600: #{$ossa-accent-600};
52
+ --ossa-accent-700: #{$ossa-accent-700};
53
+ --ossa-accent-800: #{$ossa-accent-800};
54
+ --ossa-accent-900: #{$ossa-accent-900};
55
+ --ossa-accent-950: #{$ossa-accent-950};
56
+
57
+ /* ========================================================================
58
+ DARK PURPLE - For contrast and depth
59
+ ======================================================================== */
60
+ --ossa-dark-purple-50: #{$ossa-dark-purple-50};
61
+ --ossa-dark-purple-100: #{$ossa-dark-purple-100};
62
+ --ossa-dark-purple-200: #{$ossa-dark-purple-200};
63
+ --ossa-dark-purple-300: #{$ossa-dark-purple-300};
64
+ --ossa-dark-purple-400: #{$ossa-dark-purple-400};
65
+ --ossa-dark-purple-500: #{$ossa-dark-purple-500};
66
+ --ossa-dark-purple-600: #{$ossa-dark-purple-600};
67
+ --ossa-dark-purple-700: #{$ossa-dark-purple-700};
68
+ --ossa-dark-purple-800: #{$ossa-dark-purple-800};
69
+ --ossa-dark-purple: #{$ossa-dark-purple-900};
70
+ --ossa-dark-purple-900: #{$ossa-dark-purple-900};
71
+ --ossa-dark-purple-950: #{$ossa-dark-purple-950};
72
+
73
+ /* ========================================================================
74
+ SEMANTIC COLORS
75
+ ======================================================================== */
76
+ /* Success - Green */
77
+ --ossa-success-50: #{$ossa-success-50};
78
+ --ossa-success-100: #{$ossa-success-100};
79
+ --ossa-success-200: #{$ossa-success-200};
80
+ --ossa-success-300: #{$ossa-success-300};
81
+ --ossa-success-400: #{$ossa-success-400};
82
+ --ossa-success: #{$ossa-success-500};
83
+ --ossa-success-500: #{$ossa-success-500};
84
+ --ossa-success-600: #{$ossa-success-600};
85
+ --ossa-success-700: #{$ossa-success-700};
86
+ --ossa-success-800: #{$ossa-success-800};
87
+ --ossa-success-900: #{$ossa-success-900};
88
+ --ossa-success-950: #{$ossa-success-950};
89
+
90
+ /* Warning - Amber */
91
+ --ossa-warning-50: #{$ossa-warning-50};
92
+ --ossa-warning-100: #{$ossa-warning-100};
93
+ --ossa-warning-200: #{$ossa-warning-200};
94
+ --ossa-warning-300: #{$ossa-warning-300};
95
+ --ossa-warning-400: #{$ossa-warning-400};
96
+ --ossa-warning: #{$ossa-warning-500};
97
+ --ossa-warning-500: #{$ossa-warning-500};
98
+ --ossa-warning-600: #{$ossa-warning-600};
99
+ --ossa-warning-700: #{$ossa-warning-700};
100
+ --ossa-warning-800: #{$ossa-warning-800};
101
+ --ossa-warning-900: #{$ossa-warning-900};
102
+ --ossa-warning-950: #{$ossa-warning-950};
103
+
104
+ /* Error - Red */
105
+ --ossa-error-50: #{$ossa-error-50};
106
+ --ossa-error-100: #{$ossa-error-100};
107
+ --ossa-error-200: #{$ossa-error-200};
108
+ --ossa-error-300: #{$ossa-error-300};
109
+ --ossa-error-400: #{$ossa-error-400};
110
+ --ossa-error: #{$ossa-error-500};
111
+ --ossa-error-500: #{$ossa-error-500};
112
+ --ossa-error-600: #{$ossa-error-600};
113
+ --ossa-error-700: #{$ossa-error-700};
114
+ --ossa-error-800: #{$ossa-error-800};
115
+ --ossa-error-900: #{$ossa-error-900};
116
+ --ossa-error-950: #{$ossa-error-950};
117
+
118
+ /* Info - Cyan */
119
+ --ossa-info-50: #{$ossa-info-50};
120
+ --ossa-info-100: #{$ossa-info-100};
121
+ --ossa-info-200: #{$ossa-info-200};
122
+ --ossa-info-300: #{$ossa-info-300};
123
+ --ossa-info-400: #{$ossa-info-400};
124
+ --ossa-info: #{$ossa-info-500};
125
+ --ossa-info-500: #{$ossa-info-500};
126
+ --ossa-info-600: #{$ossa-info-600};
127
+ --ossa-info-700: #{$ossa-info-700};
128
+ --ossa-info-800: #{$ossa-info-800};
129
+ --ossa-info-900: #{$ossa-info-900};
130
+ --ossa-info-950: #{$ossa-info-950};
131
+
132
+ /* ========================================================================
133
+ NEUTRAL COLORS
134
+ ======================================================================== */
135
+ --ossa-gray-50: #{$ossa-gray-50};
26
136
  --ossa-gray-100: #{$ossa-gray-100};
137
+ --ossa-gray-200: #{$ossa-gray-200};
138
+ --ossa-gray-300: #{$ossa-gray-300};
139
+ --ossa-gray-400: #{$ossa-gray-400};
140
+ --ossa-gray-500: #{$ossa-gray-500};
141
+ --ossa-gray-600: #{$ossa-gray-600};
142
+ --ossa-gray-700: #{$ossa-gray-700};
143
+ --ossa-gray-800: #{$ossa-gray-800};
144
+ --ossa-gray-900: #{$ossa-gray-900};
145
+ --ossa-gray-950: #{$ossa-gray-950};
146
+
27
147
  --ossa-white: #{$ossa-white};
148
+ --ossa-black: #{$ossa-black};
149
+ --ossa-dark: #{$ossa-dark};
28
150
 
29
- /* Brand gradients */
151
+ /* ========================================================================
152
+ FOCUS RING COLORS - For Accessibility
153
+ ======================================================================== */
154
+ --ossa-focus-primary: #{$ossa-focus-primary};
155
+ --ossa-focus-secondary: #{$ossa-focus-secondary};
156
+ --ossa-focus-accent: #{$ossa-focus-accent};
157
+
158
+ /* ========================================================================
159
+ BRAND GRADIENTS
160
+ ======================================================================== */
30
161
  --gradient-brand: #{$gradient-brand};
31
162
  --gradient-hero: #{$gradient-hero};
32
163
  --gradient-button: #{$gradient-button};
33
164
 
34
- /* Code syntax highlighting */
165
+ /* ========================================================================
166
+ TYPOGRAPHY SYSTEM
167
+ ======================================================================== */
168
+ /* Font Families */
169
+ --font-sans: #{$font-sans};
170
+ --font-mono: #{$font-mono};
171
+
172
+ /* Type Scale */
173
+ --text-display: #{$text-display};
174
+ --text-h1: #{$text-h1};
175
+ --text-h2: #{$text-h2};
176
+ --text-h3: #{$text-h3};
177
+ --text-h4: #{$text-h4};
178
+ --text-h5: #{$text-h5};
179
+ --text-h6: #{$text-h6};
180
+ --text-body: #{$text-body};
181
+ --text-small: #{$text-small};
182
+
183
+ /* Line Heights */
184
+ --leading-display: #{$leading-display};
185
+ --leading-h1: #{$leading-h1};
186
+ --leading-h2: #{$leading-h2};
187
+ --leading-h3: #{$leading-h3};
188
+ --leading-h4: #{$leading-h4};
189
+ --leading-h5: #{$leading-h5};
190
+ --leading-h6: #{$leading-h6};
191
+ --leading-body: #{$leading-body};
192
+ --leading-small: #{$leading-small};
193
+
194
+ /* Letter Spacing */
195
+ --tracking-display: #{$tracking-display};
196
+ --tracking-h1: #{$tracking-h1};
197
+ --tracking-normal: #{$tracking-normal};
198
+
199
+ /* Font Weights */
200
+ --font-normal: #{$font-normal};
201
+ --font-medium: #{$font-medium};
202
+ --font-semibold: #{$font-semibold};
203
+ --font-bold: #{$font-bold};
204
+ --font-extrabold: #{$font-extrabold};
205
+
206
+ /* ========================================================================
207
+ CODE SYNTAX HIGHLIGHTING
208
+ ======================================================================== */
35
209
  --code-bg: #{$code-bg};
36
210
  --code-text: #{$code-text};
37
211
  --code-keyword: #{$code-keyword};
@@ -41,14 +215,75 @@
41
215
 
42
216
  html {
43
217
  scroll-behavior: smooth;
218
+ font-family: $font-sans;
44
219
  }
45
220
 
46
221
  body {
47
222
  @apply font-sans text-gray-900 bg-white antialiased;
223
+ font-size: $text-body;
224
+ line-height: $leading-body;
225
+ font-weight: $font-normal;
226
+ }
227
+
228
+ /* ========================================================================
229
+ TYPOGRAPHY HIERARCHY - Based on Issue #44 Brand Guide
230
+ ======================================================================== */
231
+
232
+ /* Display - For hero sections */
233
+ .text-display {
234
+ font-size: $text-display;
235
+ line-height: $leading-display;
236
+ font-weight: $font-extrabold;
237
+ letter-spacing: $tracking-display;
238
+ }
239
+
240
+ h1, .h1 {
241
+ font-size: $text-h1;
242
+ line-height: $leading-h1;
243
+ font-weight: $font-bold;
244
+ letter-spacing: $tracking-h1;
245
+ }
246
+
247
+ h2, .h2 {
248
+ font-size: $text-h2;
249
+ line-height: $leading-h2;
250
+ font-weight: $font-bold;
251
+ }
252
+
253
+ h3, .h3 {
254
+ font-size: $text-h3;
255
+ line-height: $leading-h3;
256
+ font-weight: $font-semibold;
257
+ }
258
+
259
+ h4, .h4 {
260
+ font-size: $text-h4;
261
+ line-height: $leading-h4;
262
+ font-weight: $font-semibold;
263
+ }
264
+
265
+ h5, .h5 {
266
+ font-size: $text-h5;
267
+ line-height: $leading-h5;
268
+ font-weight: $font-semibold;
269
+ }
270
+
271
+ h6, .h6 {
272
+ font-size: $text-h6;
273
+ line-height: $leading-h6;
274
+ font-weight: $font-semibold;
275
+ }
276
+
277
+ /* Body text */
278
+ p, .text-body {
279
+ font-size: $text-body;
280
+ line-height: $leading-body;
48
281
  }
49
282
 
50
- h1, h2, h3, h4, h5, h6 {
51
- @apply font-sans font-semibold;
283
+ /* Small text */
284
+ small, .text-small {
285
+ font-size: $text-small;
286
+ line-height: $leading-small;
52
287
  }
53
288
 
54
289
  code {