@bluefly/openstandardagents 0.2.7 → 0.2.8

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 (277) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.version.json +2 -2
  4. package/.wiki-config.json +24 -0
  5. package/CHANGELOG.md +11 -18
  6. package/CODEOWNERS +75 -0
  7. package/CONTRIBUTING.md +1 -1
  8. package/README.md +171 -243
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/repositories/schema.repository.d.ts +6 -1
  14. package/dist/repositories/schema.repository.d.ts.map +1 -1
  15. package/dist/repositories/schema.repository.js +49 -27
  16. package/dist/repositories/schema.repository.js.map +1 -1
  17. package/dist/services/migration.service.d.ts +4 -3
  18. package/dist/services/migration.service.d.ts.map +1 -1
  19. package/dist/services/migration.service.js +11 -10
  20. package/dist/services/migration.service.js.map +1 -1
  21. package/dist/services/release-automation/release.service.js +1 -1
  22. package/dist/services/release-automation/release.service.js.map +1 -1
  23. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  24. package/dist/services/runtime/claude/claude-adapter.js +1 -1
  25. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  26. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  27. package/dist/spec/v0.2.8/README.md +72 -0
  28. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  29. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  30. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  31. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  32. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  33. package/dist/types/index.d.ts +3 -2
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/utils/index.d.ts +6 -0
  36. package/dist/utils/index.d.ts.map +1 -0
  37. package/dist/utils/index.js +6 -0
  38. package/dist/utils/index.js.map +1 -0
  39. package/dist/utils/version.d.ts +68 -0
  40. package/dist/utils/version.d.ts.map +1 -0
  41. package/dist/utils/version.js +156 -0
  42. package/dist/utils/version.js.map +1 -0
  43. package/eslint-report.json +1 -0
  44. package/examples/adk-integration/code-review-workflow.yml +1 -1
  45. package/examples/adk-integration/customer-support.yml +1 -1
  46. package/examples/adk-integration/data-pipeline.yml +1 -1
  47. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  48. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  49. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  50. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  51. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  52. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  53. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  54. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  55. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  56. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  57. package/examples/autogen/multi-agent.ossa.json +1 -1
  58. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  59. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  60. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  61. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  62. package/examples/crewai/research-team.ossa.json +1 -1
  63. package/examples/cursor/code-review-agent.ossa.json +1 -1
  64. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  65. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  66. package/examples/extensions/drupal-v1.yml +1 -1
  67. package/examples/extensions/kagent-v1.yml +1 -1
  68. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  69. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  70. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  71. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  72. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  73. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  74. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  75. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  76. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  77. package/examples/langchain/chain-agent.ossa.json +1 -1
  78. package/examples/langflow/workflow-agent.ossa.json +1 -1
  79. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  80. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  81. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  82. package/examples/multi-agent/README.md +74 -0
  83. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  84. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  85. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  86. package/examples/openai/basic-agent.ossa.yaml +1 -1
  87. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  88. package/examples/openai/swarm-agent.ossa.json +1 -1
  89. package/examples/production/document-analyzer-openai.yml +1 -1
  90. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  91. package/examples/spec-examples/audit-agent.yml +1 -1
  92. package/examples/spec-examples/chat-agent.yml +1 -1
  93. package/examples/spec-examples/compliance-agent.yml +1 -1
  94. package/examples/spec-examples/monitoring-agent.yml +1 -1
  95. package/examples/spec-examples/workflow-agent.yml +1 -1
  96. package/examples/templates/ossa-compliance.yaml +1 -1
  97. package/examples/vercel/edge-agent.ossa.json +1 -1
  98. package/gl-code-quality-report.json +62 -0
  99. package/llms-ctx-full.txt +39 -0
  100. package/llms-ctx.txt +39 -0
  101. package/llms.txt +47 -0
  102. package/package.json +3 -2
  103. package/scripts/eslint-to-codequality.cjs +34 -0
  104. package/scripts/generate-llms-ctx.sh +17 -0
  105. package/scripts/generate-schema-docs.ts +31 -10
  106. package/scripts/sync-version.js +4 -12
  107. package/scripts/validate-schema.ts +2 -1
  108. package/spec/v0.2.8/CHANGELOG.md +401 -0
  109. package/spec/v0.2.8/README.md +72 -0
  110. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  111. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  112. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  113. package/{dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json → spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  114. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  115. package/test-results/junit.xml +299 -0
  116. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  117. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  118. package/scripts/lib/exec.ts +0 -37
  119. package/scripts/lib/file-ops.ts +0 -58
  120. package/scripts/lib/version.ts +0 -83
  121. package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  122. package/website/.lighthouserc.ts +0 -24
  123. package/website/.prettierrc +0 -10
  124. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  125. package/website/Dockerfile +0 -30
  126. package/website/app/about/page.tsx +0 -304
  127. package/website/app/blog/[slug]/page.tsx +0 -208
  128. package/website/app/blog/page.tsx +0 -249
  129. package/website/app/design-guide/page.tsx +0 -511
  130. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  131. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  132. package/website/app/ecosystem/page.tsx +0 -410
  133. package/website/app/examples/page.tsx +0 -133
  134. package/website/app/globals.scss +0 -370
  135. package/website/app/layout.tsx +0 -106
  136. package/website/app/license/page.tsx +0 -183
  137. package/website/app/not-found.tsx +0 -18
  138. package/website/app/page.tsx +0 -686
  139. package/website/app/page.tsx.bak +0 -679
  140. package/website/app/page.tsx.bak2 +0 -649
  141. package/website/app/playground/page.tsx +0 -487
  142. package/website/app/robots.ts +0 -19
  143. package/website/app/rss.xml/route.ts +0 -74
  144. package/website/app/schema/page.tsx +0 -1001
  145. package/website/app/sitemap.ts +0 -56
  146. package/website/app/specification/page.tsx +0 -287
  147. package/website/components/InstallCommand.tsx +0 -96
  148. package/website/components/Logo.tsx +0 -97
  149. package/website/components/StructuredData.tsx +0 -65
  150. package/website/components/docs/DocsSearch.tsx +0 -104
  151. package/website/components/docs/DocsSidebar.tsx +0 -155
  152. package/website/components/docs/MarkdownContent.tsx +0 -401
  153. package/website/components/docs/VersionSelector.tsx +0 -105
  154. package/website/components/examples/ExamplesViewer.tsx +0 -293
  155. package/website/components/layout/Footer.tsx +0 -116
  156. package/website/components/layout/Header.tsx +0 -172
  157. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  158. package/website/components/schema/SchemaExplorer.tsx +0 -213
  159. package/website/components/ui/Badge.tsx +0 -82
  160. package/website/components/ui/Button.tsx +0 -116
  161. package/website/components/ui/Card.tsx +0 -167
  162. package/website/components/ui/Checkbox.tsx +0 -141
  163. package/website/components/ui/Input.tsx +0 -169
  164. package/website/components/ui/Radio.tsx +0 -141
  165. package/website/components/ui/Select.tsx +0 -182
  166. package/website/components/ui/Tag.tsx +0 -158
  167. package/website/components/ui/Textarea.tsx +0 -195
  168. package/website/components/ui/index.ts +0 -11
  169. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  170. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  171. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  172. package/website/content/blog/introducing-ossa-framework.md +0 -328
  173. package/website/content/blog/ossa-production-results.md +0 -279
  174. package/website/content/blog/welcome-to-ossa.md +0 -43
  175. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  176. package/website/content/docs/00-home.md +0 -153
  177. package/website/content/docs/adapters/openai-adapter.md +0 -693
  178. package/website/content/docs/agents/catalog.md +0 -28
  179. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  180. package/website/content/docs/api-reference/index.md +0 -38
  181. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  182. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  183. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  184. package/website/content/docs/architecture/execution-flow.md +0 -335
  185. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  186. package/website/content/docs/architecture/overview.md +0 -121
  187. package/website/content/docs/architecture/stack-integration.md +0 -461
  188. package/website/content/docs/changelog.md +0 -246
  189. package/website/content/docs/cli-reference/index.md +0 -111
  190. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  191. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  192. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  193. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  194. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  195. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  196. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  197. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  198. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  199. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  200. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  201. package/website/content/docs/configuration/index.md +0 -97
  202. package/website/content/docs/contributing.md +0 -599
  203. package/website/content/docs/deployment/github-mirroring.md +0 -924
  204. package/website/content/docs/documentation.md +0 -100
  205. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  206. package/website/content/docs/ecosystem/overview.md +0 -366
  207. package/website/content/docs/errors/index.md +0 -10
  208. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  209. package/website/content/docs/examples/catalog.md +0 -300
  210. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  211. package/website/content/docs/getting-started/index.md +0 -92
  212. package/website/content/docs/getting-started/installation.md +0 -155
  213. package/website/content/docs/getting-started/running-agents.md +0 -309
  214. package/website/content/docs/getting-started.md +0 -91
  215. package/website/content/docs/integrations/aiflow.md +0 -104
  216. package/website/content/docs/integrations/drupal.md +0 -105
  217. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  218. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  219. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  220. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  221. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  222. package/website/content/docs/migration-guides/index.md +0 -133
  223. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  224. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  225. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  226. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  227. package/website/content/docs/openapi-extensions/examples.md +0 -550
  228. package/website/content/docs/openapi-extensions/index.md +0 -551
  229. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  230. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  231. package/website/content/docs/ossa-compliant-badge.md +0 -251
  232. package/website/content/docs/pre-release/index.md +0 -175
  233. package/website/content/docs/quick-reference.md +0 -17
  234. package/website/content/docs/readme.md +0 -35
  235. package/website/content/docs/releases/v0.2.6.md +0 -99
  236. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  237. package/website/content/docs/schema-reference/agent-id.md +0 -52
  238. package/website/content/docs/schema-reference/agent-name.md +0 -50
  239. package/website/content/docs/schema-reference/agent-role.md +0 -54
  240. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  241. package/website/content/docs/schema-reference/agent-version.md +0 -50
  242. package/website/content/docs/schema-reference/autonomy.md +0 -568
  243. package/website/content/docs/schema-reference/constraints.md +0 -543
  244. package/website/content/docs/schema-reference/index.md +0 -45
  245. package/website/content/docs/schema-reference/llm-config.md +0 -445
  246. package/website/content/docs/schema-reference/observability.md +0 -654
  247. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  248. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  249. package/website/content/docs/schema-reference/tools.md +0 -628
  250. package/website/content/docs/templates/blog-post.md +0 -43
  251. package/website/content/docs/types-reference/index.md +0 -105
  252. package/website/content/docs/use-cases/00-index.md +0 -395
  253. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  254. package/website/content/docs/use-cases/customer-support.md +0 -1234
  255. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  256. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  257. package/website/content/docs/versioning.md +0 -288
  258. package/website/dev.sh +0 -53
  259. package/website/docker-compose.dev.yml +0 -36
  260. package/website/lib/version.ts +0 -35
  261. package/website/lib/versions.json +0 -103
  262. package/website/next.config.ts +0 -18
  263. package/website/nginx.conf +0 -32
  264. package/website/package-lock.json +0 -9679
  265. package/website/package.json +0 -59
  266. package/website/postcss.config.mjs +0 -9
  267. package/website/scripts/fetch-versions.js +0 -166
  268. package/website/scripts/generate-examples-index.js +0 -163
  269. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  270. package/website/scripts/sync-version.js +0 -72
  271. package/website/scripts/sync-wiki.ts +0 -322
  272. package/website/scripts/upload-wiki.ts +0 -199
  273. package/website/styles/_spacing.scss +0 -453
  274. package/website/styles/_tokens.scss +0 -245
  275. package/website/styles/_typography.scss +0 -361
  276. package/website/styles/_variables.scss +0 -287
  277. package/website/tailwind.config.ts +0 -170
@@ -1,24 +0,0 @@
1
- import type { Config } from '@lhci/cli';
2
-
3
- const config: Config = {
4
- ci: {
5
- collect: {
6
- staticDistDir: './out',
7
- numberOfRuns: 3,
8
- },
9
- assert: {
10
- assertions: {
11
- 'categories:performance': ['error', { minScore: 0.9 }],
12
- 'categories:accessibility': ['error', { minScore: 0.9 }],
13
- 'categories:best-practices': ['error', { minScore: 0.9 }],
14
- 'categories:seo': ['error', { minScore: 0.9 }],
15
- },
16
- },
17
- upload: {
18
- target: 'temporary-public-storage',
19
- },
20
- },
21
- };
22
-
23
- export default config;
24
-
@@ -1,10 +0,0 @@
1
- {
2
- "semi": true,
3
- "trailingComma": "es5",
4
- "singleQuote": true,
5
- "printWidth": 80,
6
- "tabWidth": 2,
7
- "useTabs": false,
8
- "plugins": ["prettier-plugin-tailwindcss"]
9
- }
10
-
@@ -1,445 +0,0 @@
1
- # OSSA Website Design System Implementation
2
-
3
- ## Overview
4
-
5
- This document summarizes the design system implementation for the OSSA website based on Issue #45. The implementation follows a phased approach to transform the website from developer-oriented to enterprise-ready with professional polish, accessibility compliance (WCAG 2.1 AA), and clear value articulation.
6
-
7
- ## Implementation Status
8
-
9
- ### ✅ Phase 1: Foundation & Design Tokens (COMPLETED)
10
-
11
- #### 1.1 Design Token System (`website/styles/_tokens.scss`)
12
- - **Color Scales**: Full 50-900 scales for all brand colors
13
- - Primary (Blue-Purple #4A3ECD): 11 shades
14
- - Secondary (Cyan-Blue #1CB9ED): 11 shades
15
- - Accent (Purple #9060EA): 11 shades
16
- - Success (Green #10b981): 11 shades
17
- - Warning (Amber #f59e0b): 11 shades
18
- - Error (Red #ef4444): 11 shades
19
- - Info (Cyan #06b6d4): 11 shades
20
- - Neutral/Gray: 11 shades
21
-
22
- - **Gradient Tokens**: CSS custom properties for consistent gradients
23
- - Primary, Secondary, Accent gradients
24
- - Hero, Button gradients
25
- - Success, Warning, Error, Info gradients
26
- - Background gradients (light, primary, secondary)
27
-
28
- - **Dark Mode Mappings**: Future-ready dark mode color system
29
- - Background colors (primary, secondary, tertiary)
30
- - Text colors (primary, secondary, tertiary)
31
-
32
- - **Focus Ring Colors**: Accessibility-compliant focus indicators
33
- - Primary, Secondary, Accent focus rings
34
- - Alpha variants for layering
35
-
36
- - **Additional Tokens**:
37
- - Shadow system (sm, md, lg, xl, 2xl + colored shadows)
38
- - Border radius (none to 3xl + full)
39
- - Transitions (fast, base, slow, slower)
40
- - Z-index layers (dropdown to tooltip)
41
- - Opacity scale (0-100)
42
-
43
- #### 1.2 Typography System (`website/styles/_typography.scss`)
44
- - **Font Families**:
45
- - Sans: Inter (body, headings, display)
46
- - Mono: JetBrains Mono (code)
47
-
48
- - **Font Weights**: 9 levels (100-900)
49
-
50
- - **Typography Hierarchy**:
51
- - Display: 72px / 48px mobile (extrabold, 1.1 line-height)
52
- - H1: 56px / 40px mobile (bold, 1.2 line-height)
53
- - H2: 40px / 32px mobile (bold, 1.3 line-height)
54
- - H3: 32px / 28px mobile (semibold, 1.4 line-height)
55
- - H4: 24px / 22px mobile (semibold, 1.5 line-height)
56
- - H5: 20px / 18px mobile (semibold, 1.5 line-height)
57
- - H6: 18px / 16px mobile (semibold, 1.5 line-height)
58
- - Body: 16px (normal, 1.6 line-height)
59
- - Small: 14px (normal, 1.5 line-height)
60
- - Extra Small: 12px (normal, 1.4 line-height)
61
-
62
- - **Responsive Typography**: Automatic mobile scaling (20-30% reduction)
63
-
64
- - **Utility Classes**:
65
- - Typography mixins for all levels
66
- - Font weight utilities
67
- - Letter spacing utilities
68
- - Text transform utilities
69
- - Text decoration utilities
70
- - Text alignment utilities
71
- - Truncate and line-clamp utilities
72
-
73
- #### 1.3 Spacing & Layout System (`website/styles/_spacing.scss`)
74
- - **Spacing Scale**: 4px base unit (0 to 96rem)
75
- - Granular scale: 0, 1px, 2px, 4px, 6px, 8px, 10px, 12px, 14px, 16px...
76
- - Extended scale up to 384px (96rem)
77
-
78
- - **Vertical Rhythm System**:
79
- - Section spacing: sm (48px), md (64px), lg (80px), xl (96px)
80
- - Component spacing: xs (8px), sm (12px), md (16px), lg (24px), xl (32px)
81
- - Element spacing: xs (4px), sm (8px), md (12px), lg (16px), xl (24px)
82
-
83
- - **Container Max-Widths**:
84
- - sm: 640px
85
- - md: 768px
86
- - lg: 1024px
87
- - xl: 1280px
88
- - 2xl: 1536px
89
-
90
- - **Content Max-Widths** (for readable text):
91
- - sm: 576px
92
- - md: 672px
93
- - lg: 768px
94
- - xl: 896px
95
- - 2xl: 1024px
96
- - 3xl: 1152px
97
- - 4xl: 1280px
98
-
99
- - **Utility Classes**:
100
- - Container classes with responsive padding
101
- - Content container classes
102
- - Section spacing classes
103
- - Stack (vertical) and inline (horizontal) spacing
104
- - Margin utilities (all directions)
105
- - Padding utilities (all directions)
106
- - Gap utilities for flexbox/grid
107
-
108
- #### 1.4 Variables Integration (`website/styles/_variables.scss`)
109
- - Imports all token files (@use syntax)
110
- - Maintains backward compatibility with existing variable names
111
- - Maps old variables to new token system
112
-
113
- ### ✅ Phase 2: Core Component Library (COMPLETED)
114
-
115
- #### 2.1 Button Component (`website/components/ui/Button.tsx`)
116
- - **Variants**: 4 types
117
- - Primary: Gradient background (primary-500 to primary-600)
118
- - Secondary: Gradient background (secondary-500 to secondary-600)
119
- - Outline: Transparent with border
120
- - Ghost: Transparent with hover background
121
-
122
- - **Sizes**: 3 options
123
- - sm: text-sm, px-3, py-1.5
124
- - md: text-base, px-4, py-2
125
- - lg: text-lg, px-6, py-3
126
-
127
- - **States**: 6 states
128
- - Default: Base styling
129
- - Hover: Enhanced shadow, darker gradient
130
- - Active: Darkest gradient
131
- - Focus: 2px ring with offset
132
- - Disabled: 50% opacity, no pointer events
133
- - Loading: Animated spinner, disabled state
134
-
135
- - **Features**:
136
- - Left/right icon support
137
- - Full width option
138
- - Accessible (ARIA attributes)
139
- - Keyboard navigation support
140
-
141
- #### 2.2 Card Component (`website/components/ui/Card.tsx`)
142
- - **Variants**: 4 types
143
- - Default: White background, border, subtle shadow
144
- - Bordered: White background, 2px border
145
- - Elevated: White background, large shadow
146
- - Flat: Gray background, no border
147
-
148
- - **Padding**: 4 options (none, sm, md, lg)
149
-
150
- - **Interactive**: Optional hover effects
151
- - Enhanced shadow
152
- - Border color change
153
- - Subtle scale animation
154
-
155
- - **Sub-components**:
156
- - CardHeader: Top section with margin
157
- - CardTitle: Heading (h1-h6 support)
158
- - CardDescription: Subtitle text
159
- - CardContent: Main content area
160
- - CardFooter: Bottom section with border
161
-
162
- - **Semantic HTML**: Supports div, article, section
163
-
164
- #### 2.3 Form Components
165
-
166
- **Input Component** (`website/components/ui/Input.tsx`):
167
- - Label with required indicator
168
- - Error states with red styling
169
- - Helper text
170
- - Left/right icon support
171
- - Full width option
172
- - Accessibility:
173
- - Auto-generated IDs
174
- - aria-invalid
175
- - aria-describedby
176
- - Proper label association
177
-
178
- **Select Component** (`website/components/ui/Select.tsx`):
179
- - Custom dropdown styling
180
- - Label with required indicator
181
- - Error states
182
- - Helper text
183
- - Options array or children support
184
- - Custom dropdown icon
185
- - Full accessibility support
186
-
187
- **Checkbox Component** (`website/components/ui/Checkbox.tsx`):
188
- - Label and helper text
189
- - Error states
190
- - Proper focus indicators (2px ring)
191
- - Accessible (ARIA attributes)
192
- - Disabled state support
193
-
194
- **Radio Component** (`website/components/ui/Radio.tsx`):
195
- - Label and helper text
196
- - Error states
197
- - Proper focus indicators (2px ring)
198
- - Accessible (ARIA attributes)
199
- - Disabled state support
200
-
201
- **Textarea Component** (`website/components/ui/Textarea.tsx`):
202
- - Label with required indicator
203
- - Error states
204
- - Helper text
205
- - Character count (optional)
206
- - Resize options (none, vertical, horizontal, both)
207
- - Min-height: 100px
208
- - Full accessibility support
209
-
210
- #### 2.4 Badge & Tag Components
211
-
212
- **Badge Component** (`website/components/ui/Badge.tsx`):
213
- - **Variants**: 7 types
214
- - default, success, warning, error, info, primary, secondary
215
- - **Sizes**: sm, md, lg
216
- - **Features**:
217
- - Optional dot indicator
218
- - Rounded full (pill shape)
219
- - Border styling
220
- - Color-coded backgrounds
221
-
222
- **Tag Component** (`website/components/ui/Tag.tsx`):
223
- - **Variants**: 7 types (same as Badge)
224
- - **Sizes**: sm, md, lg
225
- - **Features**:
226
- - Removable option with X button
227
- - onRemove callback
228
- - Rounded corners (not full)
229
- - Hover effects
230
- - Accessible remove button
231
-
232
- #### 2.5 Component Export (`website/components/ui/index.ts`)
233
- - Barrel export file for easy importing
234
- - Exports all components and their TypeScript types
235
- - Usage: `import { Button, Card, Input } from '@/components/ui'`
236
-
237
- ## Accessibility Features Implemented
238
-
239
- ### WCAG 2.1 AA Compliance
240
- - ✅ **Focus Indicators**: 2px ring with offset on all interactive elements
241
- - ✅ **Color Contrast**: All text/background combinations meet 4.5:1 (normal) or 3:1 (large text)
242
- - ✅ **Keyboard Navigation**: All components fully keyboard accessible
243
- - ✅ **ARIA Attributes**: Proper labels, roles, and states
244
- - ✅ **Form Labels**: All inputs properly associated with labels
245
- - ✅ **Error States**: Clear error messages with role="alert"
246
- - ✅ **Touch Targets**: Minimum 44x44px for mobile (buttons, checkboxes, radios)
247
- - ✅ **Screen Reader Support**: Descriptive text, aria-describedby, aria-invalid
248
-
249
- ### Accessibility Utilities
250
- - sr-only class for screen reader only content
251
- - focus:not-sr-only for skip links
252
- - aria-busy for loading states
253
- - aria-hidden for decorative icons
254
-
255
- ## Design System Benefits
256
-
257
- ### For Developers
258
- - **Consistent API**: All components follow same prop patterns
259
- - **TypeScript Support**: Full type definitions for all components
260
- - **Easy Imports**: Barrel exports for clean imports
261
- - **Responsive**: Mobile-first with automatic scaling
262
- - **Customizable**: className prop for extending styles
263
- - **Well-Documented**: Inline comments and prop descriptions
264
-
265
- ### For Users
266
- - **Accessible**: WCAG 2.1 AA compliant
267
- - **Performant**: Optimized transitions and animations
268
- - **Responsive**: Works on all screen sizes
269
- - **Consistent**: Unified visual language
270
- - **Professional**: Enterprise-grade polish
271
-
272
- ### For the Project
273
- - **Maintainable**: Centralized design tokens
274
- - **Scalable**: Easy to add new components
275
- - **Flexible**: Supports theming and customization
276
- - **Future-Ready**: Dark mode support prepared
277
- - **Brand Consistent**: Follows OSSA brand guidelines
278
-
279
- ## Next Steps (Remaining Phases)
280
-
281
- ### Phase 3: Layout & Navigation (Weeks 5-6)
282
- - [ ] Enhance Header component (active states, keyboard nav)
283
- - [ ] Enhance Footer component (multi-column, social links)
284
- - [ ] Create Breadcrumb component
285
- - [ ] Create TableOfContents component
286
- - [ ] Create Sidebar navigation component
287
- - [ ] Improve mobile navigation
288
-
289
- ### Phase 4: Content & Messaging (Weeks 7-8)
290
- - [ ] Homepage redesign with new components
291
- - [ ] Create ValueProposition component
292
- - [ ] Create ComparisonMatrix component
293
- - [ ] Create FeatureGrid component
294
- - [ ] Create SocialProof component
295
- - [ ] Add architecture diagrams
296
- - [ ] Create CodeBlock component with copy button
297
- - [ ] Create CodeExample component
298
- - [ ] Create enterprise landing page
299
-
300
- ### Phase 5: Interactive Elements (Weeks 9-10)
301
- - [ ] Create LoadingSpinner component
302
- - [ ] Create Skeleton component
303
- - [ ] Create Toast notification component
304
- - [ ] Add scroll animations
305
- - [ ] Add micro-interactions
306
- - [ ] Enhance playground
307
-
308
- ### Phase 6: Accessibility & Performance (Weeks 11-12)
309
- - [ ] Complete accessibility audit
310
- - [ ] Add SkipLink component
311
- - [ ] Ensure all images have alt text
312
- - [ ] Optimize performance (Lighthouse >90)
313
- - [ ] Optimize Core Web Vitals
314
- - [ ] Add lazy loading
315
-
316
- ### Phase 7: Testing & QA (Weeks 13-14)
317
- - [ ] Set up visual regression testing
318
- - [ ] Cross-browser testing
319
- - [ ] Component testing
320
- - [ ] Accessibility testing
321
- - [ ] Performance testing
322
-
323
- ## Files Created
324
-
325
- ### Design Tokens
326
- - `website/styles/_tokens.scss` - Color scales, gradients, shadows, etc.
327
- - `website/styles/_typography.scss` - Typography system
328
- - `website/styles/_spacing.scss` - Spacing and layout system
329
- - `website/styles/_variables.scss` - Updated with imports
330
-
331
- ### UI Components
332
- - `website/components/ui/Button.tsx` - Button component
333
- - `website/components/ui/Card.tsx` - Card component with sub-components
334
- - `website/components/ui/Input.tsx` - Input component
335
- - `website/components/ui/Select.tsx` - Select component
336
- - `website/components/ui/Checkbox.tsx` - Checkbox component
337
- - `website/components/ui/Radio.tsx` - Radio component
338
- - `website/components/ui/Textarea.tsx` - Textarea component
339
- - `website/components/ui/Badge.tsx` - Badge component
340
- - `website/components/ui/Tag.tsx` - Tag component
341
- - `website/components/ui/index.ts` - Barrel export
342
-
343
- ## Usage Examples
344
-
345
- ### Button
346
- ```tsx
347
- import { Button } from '@/components/ui';
348
-
349
- <Button variant="primary" size="lg" loading={isLoading}>
350
- Get Started
351
- </Button>
352
-
353
- <Button variant="outline" leftIcon={<Icon />}>
354
- Learn More
355
- </Button>
356
- ```
357
-
358
- ### Card
359
- ```tsx
360
- import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '@/components/ui';
361
-
362
- <Card variant="elevated" interactive>
363
- <CardHeader>
364
- <CardTitle>Feature Title</CardTitle>
365
- <CardDescription>Feature description</CardDescription>
366
- </CardHeader>
367
- <CardContent>
368
- Content goes here
369
- </CardContent>
370
- </Card>
371
- ```
372
-
373
- ### Form
374
- ```tsx
375
- import { Input, Select, Checkbox, Textarea } from '@/components/ui';
376
-
377
- <Input
378
- label="Email"
379
- type="email"
380
- required
381
- error={errors.email}
382
- helperText="We'll never share your email"
383
- />
384
-
385
- <Select
386
- label="Country"
387
- options={countries}
388
- error={errors.country}
389
- />
390
-
391
- <Checkbox
392
- label="I agree to the terms"
393
- error={errors.terms}
394
- />
395
-
396
- <Textarea
397
- label="Message"
398
- showCharCount
399
- maxLength={500}
400
- resize="vertical"
401
- />
402
- ```
403
-
404
- ### Badge & Tag
405
- ```tsx
406
- import { Badge, Tag } from '@/components/ui';
407
-
408
- <Badge variant="success" dot>Active</Badge>
409
- <Badge variant="warning" size="sm">Beta</Badge>
410
-
411
- <Tag variant="primary" removable onRemove={() => handleRemove()}>
412
- React
413
- </Tag>
414
- ```
415
-
416
- ## Technical Notes
417
-
418
- ### Dependencies
419
- - No additional dependencies required
420
- - Uses existing Tailwind CSS configuration
421
- - Compatible with Next.js 15 and React 18
422
-
423
- ### Browser Support
424
- - Modern browsers (Chrome, Firefox, Safari, Edge)
425
- - Progressive enhancement for older browsers
426
- - Graceful degradation for unsupported features
427
-
428
- ### Performance
429
- - Minimal CSS footprint (SCSS compiled to CSS)
430
- - No runtime CSS-in-JS overhead
431
- - Optimized transitions (GPU-accelerated)
432
- - Tree-shakeable exports
433
-
434
- ## Conclusion
435
-
436
- Phase 1 (Foundation & Design Tokens) and Phase 2 (Core Component Library) are complete. The design system provides a solid foundation for building the remaining phases. All components are production-ready, accessible, and follow best practices.
437
-
438
- The implementation prioritizes:
439
- 1. **Accessibility** - WCAG 2.1 AA compliance from the start
440
- 2. **Developer Experience** - Consistent API, TypeScript support
441
- 3. **Performance** - Optimized animations, minimal overhead
442
- 4. **Maintainability** - Centralized tokens, clear structure
443
- 5. **Scalability** - Easy to extend and customize
444
-
445
- Next steps involve implementing the remaining phases (3-7) to complete the full design system transformation outlined in Issue #45.
@@ -1,30 +0,0 @@
1
- # OSSA Website - Next.js Dev Server (for quick deployment)
2
- # Build from project root to access examples directory
3
- FROM node:20-alpine
4
-
5
- WORKDIR /app
6
-
7
- # Copy package files
8
- COPY website/package*.json ./website/
9
- RUN cd website && npm install --legacy-peer-deps
10
-
11
- # Copy examples directory (needed for generate-examples script)
12
- COPY examples ./examples
13
-
14
- # Copy website source code
15
- COPY website ./website
16
-
17
- WORKDIR /app/website
18
-
19
- # Generate examples.json - this MUST succeed
20
- RUN npm run generate-examples
21
-
22
- # Verify examples.json was created and has content
23
- RUN test -f public/examples.json && echo "✅ examples.json created" || (echo "❌ examples.json NOT FOUND" && exit 1)
24
- RUN test -s public/examples.json && echo "✅ examples.json has content" || (echo "❌ examples.json is empty" && exit 1)
25
-
26
- # Expose port
27
- EXPOSE 3000
28
-
29
- # Start Next.js dev server
30
- CMD ["npm", "run", "dev"]