@bluefly/openstandardagents 0.2.4 → 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 (511) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  6. package/.github/workflows/dependabot-comment.yml +34 -0
  7. package/.github/workflows/pr-comment.yml +33 -0
  8. package/.github/workflows/release.yml +1 -1
  9. package/.husky/pre-commit +5 -0
  10. package/.kiro/config.json +21 -0
  11. package/.kiro/settings/mcp.json +61 -0
  12. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  13. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  14. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  15. package/.kiro/specs/website-brand-identity/design.md +1060 -0
  16. package/.kiro/specs/website-brand-identity/requirements.md +287 -0
  17. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  18. package/.releaserc.json +5 -4
  19. package/.version.json +6 -0
  20. package/CHANGELOG.md +163 -96
  21. package/CONTRIBUTING.md +23 -5
  22. package/README.md +130 -43
  23. package/bin/ossa +24 -3
  24. package/bin/ossa-dev +42 -0
  25. package/bin/ossa-export +32 -0
  26. package/bin/ossa-generate +60 -0
  27. package/bin/ossa-health +40 -0
  28. package/bin/ossa-init +26 -0
  29. package/bin/ossa-validate-all +55 -0
  30. package/bin/ossa-version +23 -0
  31. package/bin/validate-ossa-0.2.4.ts +244 -0
  32. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  33. package/bin/validate-ossa.ts +273 -0
  34. package/dist/di-container.d.ts +1 -1
  35. package/dist/di-container.d.ts.map +1 -1
  36. package/dist/di-container.js.map +1 -1
  37. package/dist/repositories/schema.repository.d.ts +17 -2
  38. package/dist/repositories/schema.repository.d.ts.map +1 -1
  39. package/dist/repositories/schema.repository.js +102 -19
  40. package/dist/repositories/schema.repository.js.map +1 -1
  41. package/dist/services/generation.service.d.ts +7 -5
  42. package/dist/services/generation.service.d.ts.map +1 -1
  43. package/dist/services/generation.service.js +92 -44
  44. package/dist/services/generation.service.js.map +1 -1
  45. package/dist/services/github-sync/github-client.d.ts +14 -0
  46. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  47. package/dist/services/github-sync/github-client.js +41 -0
  48. package/dist/services/github-sync/github-client.js.map +1 -0
  49. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  50. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  51. package/dist/services/github-sync/gitlab-client.js +42 -0
  52. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  53. package/dist/services/github-sync/schemas.d.ts +46 -0
  54. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  55. package/dist/services/github-sync/schemas.js +36 -0
  56. package/dist/services/github-sync/schemas.js.map +1 -0
  57. package/dist/services/github-sync/sync.service.d.ts +27 -0
  58. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  59. package/dist/services/github-sync/sync.service.js +99 -0
  60. package/dist/services/github-sync/sync.service.js.map +1 -0
  61. package/dist/services/gitlab-agent.service.d.ts +94 -0
  62. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  63. package/dist/services/gitlab-agent.service.js +162 -0
  64. package/dist/services/gitlab-agent.service.js.map +1 -0
  65. package/dist/services/migration.service.d.ts +3 -3
  66. package/dist/services/migration.service.d.ts.map +1 -1
  67. package/dist/services/migration.service.js +108 -61
  68. package/dist/services/migration.service.js.map +1 -1
  69. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  70. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  71. package/dist/services/release-automation/base-crud.service.js +68 -0
  72. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  73. package/dist/services/release-automation/index.d.ts +12 -0
  74. package/dist/services/release-automation/index.d.ts.map +1 -0
  75. package/dist/services/release-automation/index.js +12 -0
  76. package/dist/services/release-automation/index.js.map +1 -0
  77. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  78. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  79. package/dist/services/release-automation/merge-request.service.js +212 -0
  80. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  81. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  82. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  83. package/dist/services/release-automation/milestone.service.js +207 -0
  84. package/dist/services/release-automation/milestone.service.js.map +1 -0
  85. package/dist/services/release-automation/release.service.d.ts +118 -0
  86. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  87. package/dist/services/release-automation/release.service.js +207 -0
  88. package/dist/services/release-automation/release.service.js.map +1 -0
  89. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  90. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  91. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  92. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  93. package/dist/services/release-automation/tag.service.d.ts +99 -0
  94. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  95. package/dist/services/release-automation/tag.service.js +180 -0
  96. package/dist/services/release-automation/tag.service.js.map +1 -0
  97. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  98. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  99. package/dist/services/release-automation/webhook.service.js +173 -0
  100. package/dist/services/release-automation/webhook.service.js.map +1 -0
  101. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  102. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  103. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  104. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  105. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  106. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  107. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  108. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  109. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  110. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  111. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  112. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  113. package/dist/services/runtime/claude/types.d.ts +115 -0
  114. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  115. package/dist/services/runtime/claude/types.js +6 -0
  116. package/dist/services/runtime/claude/types.js.map +1 -0
  117. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  118. package/dist/services/runtime/openai.adapter.js.map +1 -1
  119. package/dist/services/validation.service.d.ts.map +1 -1
  120. package/dist/services/validation.service.js +35 -11
  121. package/dist/services/validation.service.js.map +1 -1
  122. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  123. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  124. package/dist/services/validators/anthropic.validator.js +14 -9
  125. package/dist/services/validators/anthropic.validator.js.map +1 -1
  126. package/dist/services/validators/autogen.validator.d.ts +2 -2
  127. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  128. package/dist/services/validators/autogen.validator.js +18 -15
  129. package/dist/services/validators/autogen.validator.js.map +1 -1
  130. package/dist/services/validators/crewai.validator.d.ts +2 -2
  131. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  132. package/dist/services/validators/crewai.validator.js +18 -17
  133. package/dist/services/validators/crewai.validator.js.map +1 -1
  134. package/dist/services/validators/cursor.validator.d.ts +2 -2
  135. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  136. package/dist/services/validators/cursor.validator.js +15 -11
  137. package/dist/services/validators/cursor.validator.js.map +1 -1
  138. package/dist/services/validators/langchain.validator.d.ts +2 -2
  139. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  140. package/dist/services/validators/langchain.validator.js +14 -11
  141. package/dist/services/validators/langchain.validator.js.map +1 -1
  142. package/dist/services/validators/langflow.validator.d.ts +2 -2
  143. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  144. package/dist/services/validators/langflow.validator.js +14 -9
  145. package/dist/services/validators/langflow.validator.js.map +1 -1
  146. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  147. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  148. package/dist/services/validators/langgraph.validator.js +23 -18
  149. package/dist/services/validators/langgraph.validator.js.map +1 -1
  150. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  151. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  152. package/dist/services/validators/llamaindex.validator.js +19 -16
  153. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  154. package/dist/services/validators/openai.validator.d.ts +2 -2
  155. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  156. package/dist/services/validators/openai.validator.js +20 -16
  157. package/dist/services/validators/openai.validator.js.map +1 -1
  158. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  159. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  160. package/dist/services/validators/vercel-ai.validator.js +16 -15
  161. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  162. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  163. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  164. package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
  165. package/dist/spec/v0.2.3/README.md +9 -9
  166. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  167. package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
  168. package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  169. package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
  170. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  171. package/dist/spec/v0.2.5/README.md +72 -0
  172. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  173. package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  174. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  175. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  176. package/dist/spec/v0.2.5-RC/README.md +72 -0
  177. package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  178. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  179. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  180. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  181. package/dist/spec/v0.2.6/README.md +72 -0
  182. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  183. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  184. package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  185. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  186. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  187. package/dist/spec/v0.2.6-dev/README.md +75 -0
  188. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  189. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  190. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  191. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  192. package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
  193. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  194. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  195. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  196. package/dist/types/index.d.ts +6 -1
  197. package/dist/types/index.d.ts.map +1 -1
  198. package/docs/brand-guide/01-brand-overview.md +37 -0
  199. package/docs/brand-guide/02-logo-usage.md +43 -0
  200. package/docs/brand-guide/03-color-palette.md +70 -0
  201. package/docs/brand-guide/04-typography.md +82 -0
  202. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  203. package/docs/brand-guide/06-visual-elements.md +137 -0
  204. package/docs/brand-guide/07-application-examples.md +153 -0
  205. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  206. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  207. package/docs/brand-guide/README.md +107 -0
  208. package/docs/comparison.md +315 -0
  209. package/docs/operations/automation-roadmap.md +245 -0
  210. package/docs/operations/github-sync-strategy.md +357 -0
  211. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  212. package/examples/autogen/multi-agent.ossa.json +6 -4
  213. package/examples/bridges/Dockerfile.production +1 -1
  214. package/examples/crewai/research-team.ossa.json +14 -5
  215. package/examples/cursor/code-review-agent.ossa.json +21 -6
  216. package/examples/enterprise/agent.yml +1 -1
  217. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
  218. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  219. package/examples/langchain/chain-agent.ossa.json +21 -5
  220. package/examples/langflow/workflow-agent.ossa.json +2 -3
  221. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  222. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  223. package/examples/openai/basic-agent.ossa.yaml +61 -0
  224. package/examples/openai/multi-tool-agent.ossa.json +188 -0
  225. package/examples/openai/swarm-agent.ossa.json +18 -5
  226. package/examples/openapi-extensions/README.md +1 -1
  227. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  228. package/examples/vercel/edge-agent.ossa.json +5 -4
  229. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  230. package/infrastructure/gitlab-agent/values.yaml +150 -0
  231. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  232. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  233. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  234. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  235. package/infrastructure/k8s/monitoring/README.md +73 -0
  236. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  237. package/openapi/CHANGELOG.md +21 -0
  238. package/openapi/README.md +46 -0
  239. package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
  240. package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
  241. package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
  242. package/openapi/github-sync.yaml +115 -0
  243. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  244. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  245. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  246. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  247. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  248. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  249. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  250. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  251. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  252. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  253. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  254. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  255. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  256. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  257. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  258. package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
  259. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  260. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  261. package/package.json +53 -22
  262. package/release.config.js +20 -5
  263. package/scripts/README.md +103 -0
  264. package/scripts/auto-rebase-mrs.ts +106 -0
  265. package/scripts/batch-dependabot.sh +57 -0
  266. package/scripts/bump-version.ts +57 -0
  267. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  268. package/scripts/create-issue-helper.ts +238 -0
  269. package/scripts/create-milestone-issue.ts +73 -0
  270. package/scripts/enhanced-version-manager.ts +257 -0
  271. package/scripts/fix-schema-formats.js +82 -0
  272. package/scripts/gen-types.ts +51 -0
  273. package/scripts/gen-zod.ts +51 -0
  274. package/scripts/generate-agents-catalog.ts +77 -0
  275. package/scripts/generate-api-docs.ts +218 -0
  276. package/scripts/generate-cli-docs.ts +410 -0
  277. package/scripts/generate-config-docs.ts +109 -0
  278. package/scripts/generate-errors-docs.ts +76 -0
  279. package/scripts/generate-examples-docs.ts +99 -0
  280. package/scripts/generate-schema-docs.ts +296 -0
  281. package/scripts/generate-types-docs.ts +48 -0
  282. package/scripts/lib/exec.ts +37 -0
  283. package/scripts/lib/file-ops.ts +58 -0
  284. package/scripts/lib/version.ts +83 -0
  285. package/scripts/lowercase-docs.ts +43 -0
  286. package/scripts/manage-milestone-mrs.ts +279 -0
  287. package/scripts/process-doc-templates.ts +37 -0
  288. package/scripts/rebase-all-mrs.sh +75 -0
  289. package/scripts/schemas/package.schema.ts +75 -0
  290. package/scripts/setup-branch-protection.sh +33 -0
  291. package/scripts/sync-github-pr.sh +48 -0
  292. package/scripts/sync-version.js +40 -0
  293. package/scripts/sync-version.ts +39 -0
  294. package/scripts/sync-versions.ts +488 -0
  295. package/scripts/sync-wiki.sh +50 -0
  296. package/scripts/validate-all.js +127 -0
  297. package/scripts/validate-schema.ts +49 -0
  298. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  299. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  300. package/spec/v0.2.3/CHANGELOG.md +7 -7
  301. package/spec/v0.2.3/README.md +9 -9
  302. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  303. package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
  304. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  305. package/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
  306. package/spec/v0.2.5/CHANGELOG.md +401 -0
  307. package/spec/v0.2.5/README.md +72 -0
  308. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  309. package/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  310. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  311. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  312. package/spec/v0.2.5-RC/README.md +72 -0
  313. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  314. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  315. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  316. package/spec/v0.2.6/CHANGELOG.md +401 -0
  317. package/spec/v0.2.6/README.md +72 -0
  318. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  319. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  320. package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  321. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  322. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  323. package/spec/v0.2.6-dev/README.md +75 -0
  324. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  325. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  326. package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  327. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  328. package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
  329. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  330. package/spec/v0.2.7/core/agentgraph.md +324 -0
  331. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  332. package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
  333. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
  334. package/website/Dockerfile +18 -5
  335. package/website/app/about/page.tsx +60 -51
  336. package/website/app/blog/[slug]/page.tsx +61 -20
  337. package/website/app/blog/page.tsx +120 -33
  338. package/website/app/design-guide/page.tsx +511 -0
  339. package/website/app/docs/[[...slug]]/page.tsx +641 -143
  340. package/website/app/ecosystem/page.tsx +146 -111
  341. package/website/app/examples/page.tsx +51 -41
  342. package/website/app/globals.scss +370 -0
  343. package/website/app/layout.tsx +2 -2
  344. package/website/app/license/page.tsx +183 -0
  345. package/website/app/not-found.tsx +18 -0
  346. package/website/app/page.tsx +513 -236
  347. package/website/app/page.tsx.bak +679 -0
  348. package/website/app/page.tsx.bak2 +649 -0
  349. package/website/app/playground/page.tsx +25 -45
  350. package/website/app/schema/page.tsx +423 -392
  351. package/website/app/specification/page.tsx +245 -169
  352. package/website/components/Logo.tsx +75 -2
  353. package/website/components/docs/DocsSidebar.tsx +40 -3
  354. package/website/components/docs/MarkdownContent.tsx +265 -47
  355. package/website/components/docs/VersionSelector.tsx +64 -8
  356. package/website/components/examples/ExamplesViewer.tsx +2 -2
  357. package/website/components/layout/Footer.tsx +6 -1
  358. package/website/components/layout/Header.tsx +44 -42
  359. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  360. package/website/components/schema/SchemaExplorer.tsx +4 -4
  361. package/website/components/ui/Badge.tsx +82 -0
  362. package/website/components/ui/Button.tsx +116 -0
  363. package/website/components/ui/Card.tsx +167 -0
  364. package/website/components/ui/Checkbox.tsx +141 -0
  365. package/website/components/ui/Input.tsx +169 -0
  366. package/website/components/ui/Radio.tsx +141 -0
  367. package/website/components/ui/Select.tsx +182 -0
  368. package/website/components/ui/Tag.tsx +158 -0
  369. package/website/components/ui/Textarea.tsx +195 -0
  370. package/website/components/ui/index.ts +11 -0
  371. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
  372. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
  373. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  374. package/website/content/blog/introducing-ossa-framework.md +1 -1
  375. package/website/content/blog/ossa-production-results.md +5 -5
  376. package/website/content/blog/welcome-to-ossa.md +2 -2
  377. package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
  378. package/website/content/docs/{00-HOME.md → 00-home.md} +18 -25
  379. package/website/content/docs/adapters/openai-adapter.md +693 -0
  380. package/website/content/docs/agents/catalog.md +28 -0
  381. package/website/content/docs/aiflow-framework-integration-with-ossa.md +107 -0
  382. package/website/content/docs/api-reference/index.md +38 -0
  383. package/website/content/docs/api-reference/ossa-core-api.md +634 -0
  384. package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
  385. package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
  386. package/website/content/docs/architecture/execution-flow.md +3 -3
  387. package/website/content/docs/architecture/multi-agent-systems.md +4 -4
  388. package/website/content/docs/architecture/overview.md +4 -4
  389. package/website/content/docs/architecture/stack-integration.md +4 -4
  390. package/website/content/docs/changelog.md +4 -4
  391. package/website/content/docs/cli-reference/index.md +111 -0
  392. package/website/content/docs/cli-reference/ossa-agents.md +70 -0
  393. package/website/content/docs/cli-reference/ossa-export.md +56 -0
  394. package/website/content/docs/cli-reference/ossa-generate.md +66 -0
  395. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
  396. package/website/content/docs/cli-reference/ossa-import.md +56 -0
  397. package/website/content/docs/cli-reference/ossa-init.md +57 -0
  398. package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
  399. package/website/content/docs/cli-reference/ossa-run.md +66 -0
  400. package/website/content/docs/cli-reference/ossa-schema.md +57 -0
  401. package/website/content/docs/cli-reference/ossa-setup.md +57 -0
  402. package/website/content/docs/cli-reference/ossa-validate.md +66 -0
  403. package/website/content/docs/configuration/index.md +97 -0
  404. package/website/content/docs/contributing.md +2 -2
  405. package/website/content/docs/deployment/github-mirroring.md +924 -0
  406. package/website/content/docs/documentation.md +100 -0
  407. package/website/content/docs/ecosystem/framework-support.md +551 -11
  408. package/website/content/docs/errors/index.md +10 -0
  409. package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → examples/aiflow-framework-integration-with-ossa.md} +2 -2
  410. package/website/content/docs/examples/catalog.md +300 -0
  411. package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
  412. package/website/content/docs/getting-started/index.md +92 -0
  413. package/website/content/docs/getting-started/installation.md +7 -7
  414. package/website/content/docs/getting-started/running-agents.md +215 -13
  415. package/{docs → website/content/docs}/getting-started.md +10 -6
  416. package/website/content/docs/integrations/aiflow.md +2 -2
  417. package/website/content/docs/integrations/drupal.md +2 -2
  418. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  419. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  420. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  421. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
  422. package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
  423. package/website/content/docs/migration-guides/index.md +1 -1
  424. package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
  425. package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
  426. package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
  427. package/website/content/docs/openapi-extensions/examples.md +9 -9
  428. package/website/content/docs/openapi-extensions/index.md +59 -3
  429. package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
  430. package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
  431. package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
  432. package/website/content/docs/pre-release/index.md +10 -10
  433. package/website/content/docs/readme.md +35 -0
  434. package/website/content/docs/releases/v0.2.6.md +99 -0
  435. package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
  436. package/website/content/docs/schema-reference/agent-id.md +52 -0
  437. package/website/content/docs/schema-reference/agent-name.md +50 -0
  438. package/website/content/docs/schema-reference/agent-role.md +54 -0
  439. package/website/content/docs/schema-reference/agent-spec.md +2 -2
  440. package/website/content/docs/schema-reference/agent-version.md +50 -0
  441. package/website/content/docs/schema-reference/autonomy.md +5 -5
  442. package/website/content/docs/schema-reference/constraints.md +5 -5
  443. package/website/content/docs/schema-reference/index.md +26 -157
  444. package/website/content/docs/schema-reference/llm-config.md +1 -1
  445. package/website/content/docs/schema-reference/observability.md +5 -5
  446. package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
  447. package/website/content/docs/schema-reference/taxonomy.md +3 -3
  448. package/website/content/docs/types-reference/index.md +105 -0
  449. package/website/content/docs/use-cases/00-index.md +1 -1
  450. package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
  451. package/website/dev.sh +53 -0
  452. package/website/docker-compose.dev.yml +36 -0
  453. package/website/lib/version.ts +18 -1
  454. package/website/lib/versions.json +103 -0
  455. package/website/next.config.ts +3 -1
  456. package/website/package-lock.json +552 -18
  457. package/website/package.json +11 -5
  458. package/website/postcss.config.mjs +1 -1
  459. package/website/scripts/fetch-versions.js +166 -0
  460. package/website/scripts/generate-examples-index.js +163 -0
  461. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  462. package/website/scripts/sync-version.js +28 -0
  463. package/website/scripts/sync-wiki.ts +64 -3
  464. package/website/scripts/upload-wiki.ts +199 -0
  465. package/website/styles/_spacing.scss +453 -0
  466. package/website/styles/_tokens.scss +245 -0
  467. package/website/styles/_typography.scss +361 -0
  468. package/website/styles/_variables.scss +287 -0
  469. package/website/tailwind.config.ts +127 -22
  470. package/.releaserc.json.disabled +0 -81
  471. package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  472. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  473. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  474. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  475. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  476. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  477. package/docs/README.md +0 -31
  478. package/docs/agent-openapi-spec.yml +0 -942
  479. package/docs/openapi-extensions.md +0 -930
  480. package/docs/schemas/openapi-extensions.schema.json +0 -486
  481. package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
  482. package/ossa-website-swarm-tasks.json +0 -105
  483. package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  484. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  485. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  486. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  487. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  488. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  489. package/website/app/api/validate/route.ts +0 -88
  490. package/website/app/globals.css +0 -108
  491. package/website/content/docs/OpenAPI-Extensions.md +0 -498
  492. package/website/content/docs/core-concepts/project-structure.md +0 -348
  493. package/website/content/docs/examples/Migration-Guides.md +0 -214
  494. package/website/content/docs/examples.md +0 -71
  495. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  496. package/website/content/docs/for-audiences/architects.md +0 -224
  497. package/website/content/docs/for-audiences/developers.md +0 -220
  498. package/website/content/docs/getting-started/5-minute-overview.md +0 -85
  499. package/website/content/docs/getting-started/Hello-World.md +0 -184
  500. package/website/content/docs/getting-started/first-agent.md +0 -196
  501. package/website/content/docs/migration-guides/00-index.md +0 -76
  502. package/website/content/docs/migration-guides/README.md +0 -133
  503. package/website/next.config.js +0 -17
  504. package/website/postcss.config.js +0 -7
  505. package/website/tailwind.config.js +0 -58
  506. /package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
  507. /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
  508. /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
  509. /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
  510. /package/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
  511. /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
@@ -1,44 +1,82 @@
1
1
  import Link from 'next/link';
2
+ import type { Metadata } from 'next';
2
3
  import { Logo } from '@/components/Logo';
4
+ import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/Card';
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+
8
+ // Get version dynamically
9
+ function getVersion(): string {
10
+ try {
11
+ const pkgPath = path.join(process.cwd(), '../package.json');
12
+ if (fs.existsSync(pkgPath)) {
13
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
14
+ return pkg.version;
15
+ }
16
+ } catch (error) {
17
+ console.error('Failed to load version:', error);
18
+ }
19
+ return '0.2.6';
20
+ }
21
+
22
+ export const metadata: Metadata = {
23
+ title: 'Open Standard Agents - Industry Standard for Agent Orchestration',
24
+ description: 'The vendor-neutral specification for multi-agent systems. Write once, deploy anywhere. Zero vendor lock-in.',
25
+ };
3
26
 
4
27
  export default function HomePage() {
28
+ const version = getVersion();
29
+
5
30
  return (
6
31
  <div className="flex flex-col">
7
32
  {/* Hero Section */}
8
- <section className="bg-gradient-hero text-white py-24 px-4">
9
- <div className="container mx-auto max-w-7xl text-center">
10
- <div className="mb-8 flex flex-col items-center">
11
- <img
12
- src="/assets/brand/ossa-logo.svg"
13
- alt="OSSA Logo"
14
- className="h-24 w-24 mb-6 animate-pulse"
15
- />
16
- <span className="inline-block px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm font-medium">
17
- The OpenAPI for AI Agents
33
+ <section className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-24 px-4">
34
+ <div className="container mx-auto max-w-[1440px] text-center">
35
+ <div className="mb-6 flex flex-col items-center">
36
+ <span className="inline-block px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm font-medium mb-4">
37
+ The OpenAPI for AI Agents (v{version})
18
38
  </span>
19
39
  </div>
20
- <h1 className="text-6xl md:text-7xl font-bold mb-6 leading-tight">
21
- Open Standard for{' '}
22
- <span className="bg-gradient-to-r from-yellow-300 via-orange-300 to-pink-300 bg-clip-text text-transparent animate-pulse">
23
- Scalable Agents
24
- </span>
40
+ <h1 className="text-4xl md:text-6xl lg:text-7xl font-bold mb-6 leading-tight">
41
+ Open Standard for AI Agents
25
42
  </h1>
26
- <p className="text-3xl md:text-4xl mb-6 font-light">
27
- The Interoperability Layer Your Agents Are Missing
28
- </p>
29
- <p className="text-xl md:text-2xl mb-8 text-gray-200 max-w-4xl mx-auto">
30
- A vendor-neutral, open specification for defining, deploying, and managing AI agents.
31
- Just as OpenAPI standardizes REST APIs, Open Standard Agents standardizes agent interoperability
32
- across frameworks, runtimes, and organizations.
43
+ <p className="text-2xl md:text-3xl lg:text-4xl mb-6 font-bold">
44
+ Vendor-neutral, compliance-ready, enterprise-grade
33
45
  </p>
46
+ <div className="max-w-4xl mx-auto mb-8 space-y-3">
47
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
48
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
49
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
50
+ </svg>
51
+ Switch between AI providers without code changes
52
+ </p>
53
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
54
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
55
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
56
+ </svg>
57
+ Built-in compliance and security frameworks
58
+ </p>
59
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
60
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
61
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
62
+ </svg>
63
+ Standardized agent lifecycle and governance
64
+ </p>
65
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
66
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
67
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
68
+ </svg>
69
+ Multi-runtime support (Node.js, Python, more)
70
+ </p>
71
+ </div>
34
72
  <div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
35
- <a href="#get-started" className="btn-primary text-lg px-8 py-4 border-2 border-transparent hover:border-white transition-all">
73
+ <Link href="#get-started" className="text-lg px-8 py-4 bg-[#3224c9] text-white font-bold rounded-lg shadow-xl hover:shadow-2xl transform hover:scale-105 transition-all border-2 border-white hover:bg-white hover:text-[#3224c9]">
36
74
  Get Started
37
- </a>
75
+ </Link>
38
76
  <Link href="https://github.com/blueflyio/openstandardagents" className="btn-outline border-white text-white hover:bg-white hover:text-primary text-lg px-8 py-4" target="_blank" rel="noopener noreferrer">
39
77
  View on GitHub
40
78
  </Link>
41
- <Link href="/schema" className="btn-outline border-white text-white hover:bg-white hover:text-primary text-lg px-8 py-4">
79
+ <Link href="/schema/" className="btn-outline border-white text-white hover:bg-white hover:text-primary text-lg px-8 py-4">
42
80
  View Schema
43
81
  </Link>
44
82
  </div>
@@ -47,62 +85,25 @@ export default function HomePage() {
47
85
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
48
86
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
49
87
  </svg>
50
- <span>Vendor-Neutral</span>
88
+ <span className="font-bold">Vendor-Neutral</span>
51
89
  </div>
52
90
  <div className="flex items-center gap-2">
53
91
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
54
92
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
55
93
  </svg>
56
- <span>Framework-Agnostic</span>
94
+ <span className="font-bold">Framework-Agnostic</span>
57
95
  </div>
58
96
  <div className="flex items-center gap-2">
59
97
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
60
98
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
61
99
  </svg>
62
- <span>Open Source</span>
100
+ <span className="font-bold">Open Source</span>
63
101
  </div>
64
102
  <div className="flex items-center gap-2">
65
103
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
66
104
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
67
105
  </svg>
68
- <span>JSON Schema Validated</span>
69
- </div>
70
- </div>
71
- </div>
72
- </section>
73
-
74
- {/* Why OSSA - The Problem Section */}
75
- <section className="py-16 px-4 bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50">
76
- <div className="container mx-auto max-w-5xl">
77
- <div className="text-center mb-8">
78
- <h2 className="text-4xl font-bold mb-6 text-gray-900">Why Does This Matter?</h2>
79
- </div>
80
- <div className="prose prose-lg max-w-none">
81
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
82
- In the world of AI agents, <strong className="text-gray-900">everyone calls an agent something different</strong>.
83
- LangChain has "chains," CrewAI has "crews," OpenAI has "assistants," Anthropic has Claude with "tools."
84
- Every framework invents its own terminology, its own configuration format, its own orchestration model.
85
- </p>
86
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
87
- This fragmentation creates <strong className="text-red-600">vendor lock-in</strong>, makes agents impossible
88
- to share between teams, and forces developers to rewrite everything when switching frameworks. Want to move
89
- your LangChain agent to CrewAI? Complete rewrite. Need to deploy the same agent logic across multiple
90
- frameworks? Maintain separate implementations.
91
- </p>
92
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
93
- Imagine if every API framework required its own documentation format—that was the world before OpenAPI.
94
- Every API provider wrote docs differently, integration was chaos, and tooling couldn't be shared.
95
- <strong className="text-gray-900"> OpenAPI solved this by creating one standard that every API could follow</strong>.
96
- </p>
97
- <div className="bg-white rounded-xl p-8 shadow-lg border-2 border-blue-200">
98
- <p className="text-2xl text-gray-900 font-bold mb-4">
99
- OSSA solves this for AI agents.
100
- </p>
101
- <p className="text-xl text-gray-700">
102
- <strong>One standard. Any framework. True portability.</strong> Define your agent once in OSSA format,
103
- then deploy it with LangChain, CrewAI, Anthropic, OpenAI, or any other framework. Just like OpenAPI
104
- unified REST APIs, OSSA unifies AI agents.
105
- </p>
106
+ <span className="font-bold">JSON Schema Validated</span>
106
107
  </div>
107
108
  </div>
108
109
  </div>
@@ -110,7 +111,7 @@ export default function HomePage() {
110
111
 
111
112
  {/* What is OSSA Section */}
112
113
  <section className="py-20 px-4 bg-white">
113
- <div className="container mx-auto max-w-7xl">
114
+ <div className="container mx-auto max-w-[1440px]">
114
115
  <div className="text-center mb-16">
115
116
  <h2 className="text-5xl font-bold mb-6">What is Open Standard Agents?</h2>
116
117
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -119,169 +120,408 @@ export default function HomePage() {
119
120
  runtimes, and organizations.
120
121
  </p>
121
122
  </div>
122
-
123
+
123
124
  <div className="grid md:grid-cols-3 gap-8 mb-12">
124
- <div className="card-hover p-8">
125
-
126
- <h3 className="text-2xl font-semibold mb-4 text-primary">Specification Standard</h3>
127
- <p className="text-gray-700 mb-4">
128
- OSA is <strong>NOT a framework</strong> - it's a specification that defines the contract
129
- for agent definition, deployment, and management.
130
- </p>
131
- <p className="text-gray-700">
132
- Just like OpenAPI doesn't implement APIs, OSA doesn't implement agents.
133
- It provides the standard that implementations follow.
134
- </p>
135
- </div>
136
- <div className="card-hover p-8">
137
-
138
- <h3 className="text-2xl font-semibold mb-4 text-primary">Framework-Agnostic</h3>
139
- <p className="text-gray-700 mb-4">
140
- Works seamlessly with any LLM framework or SDK - LangChain, Anthropic, OpenAI,
141
- CrewAI, Langflow, AutoGen, and more.
142
- </p>
143
- <p className="text-gray-700">
144
- Deploy to Kubernetes, Docker, serverless, or on-premise. OSA is infrastructure-agnostic.
145
- </p>
146
- </div>
147
- <div className="card-hover p-8">
148
-
149
- <h3 className="text-2xl font-semibold mb-4 text-primary">Vendor-Neutral</h3>
150
- <p className="text-gray-700 mb-4">
151
- No vendor lock-in. Write once, deploy anywhere. Move agents between teams,
152
- organizations, and infrastructures without rewriting code.
153
- </p>
154
- <p className="text-gray-700">
155
- Maintained by the open source community, ensuring long-term viability and innovation.
156
- </p>
157
- </div>
125
+ <Card variant="default" padding="lg" elevation={1} hover>
126
+ <CardHeader>
127
+ <CardTitle className="text-primary">Specification Standard</CardTitle>
128
+ </CardHeader>
129
+ <CardContent>
130
+ <p className="text-gray-700 mb-4">
131
+ OSSA is <strong>NOT a framework</strong> - it&apos;s a specification that defines the contract
132
+ for agent definition, deployment, and management.
133
+ </p>
134
+ <p className="text-gray-700">
135
+ Just like OpenAPI doesn&apos;t implement APIs, OSSA doesn&apos;t implement agents.
136
+ It provides the standard that implementations follow.
137
+ </p>
138
+ </CardContent>
139
+ </Card>
140
+ <Card variant="default" padding="lg" elevation={1} hover>
141
+ <CardHeader>
142
+ <CardTitle className="text-primary">Framework-Agnostic</CardTitle>
143
+ </CardHeader>
144
+ <CardContent>
145
+ <p className="text-gray-700 mb-4">
146
+ Works seamlessly with any LLM framework or SDK - LangChain, Anthropic, OpenAI,
147
+ CrewAI, Langflow, AutoGen, and more.
148
+ </p>
149
+ <p className="text-gray-700">
150
+ Deploy to Kubernetes, Docker, serverless, or on-premise. OSSA is infrastructure-agnostic.
151
+ </p>
152
+ </CardContent>
153
+ </Card>
154
+ <Card variant="default" padding="lg" elevation={1} hover>
155
+ <CardHeader>
156
+ <CardTitle className="text-primary">Vendor-Neutral</CardTitle>
157
+ </CardHeader>
158
+ <CardContent>
159
+ <p className="text-gray-700 mb-4">
160
+ No vendor lock-in. Write once, deploy anywhere. Move agents between teams,
161
+ organizations, and infrastructures without rewriting code.
162
+ </p>
163
+ <p className="text-gray-700">
164
+ Maintained by the open source community, ensuring long-term viability and innovation.
165
+ </p>
166
+ </CardContent>
167
+ </Card>
158
168
  </div>
159
169
 
160
170
  {/* OpenAPI Comparison */}
161
- <div className="bg-gray-50 rounded-xl p-8 md:p-12 mt-16">
162
- <h3 className="text-3xl font-bold text-center mb-8">The OpenAPI for Agents</h3>
163
- <div className="grid md:grid-cols-2 gap-8 max-w-5xl mx-auto">
164
- <div>
165
- <h4 className="text-xl font-semibold mb-4 text-primary">OpenAPI for REST APIs</h4>
171
+ <div className="bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 rounded-2xl p-8 md:p-12 mt-16 border-2 border-blue-100 shadow-xl">
172
+ <div className="text-center mb-12">
173
+ <h3 className="text-4xl md:text-5xl font-bold mb-4 bg-gradient-to-r from-primary via-secondary to-primary bg-clip-text text-transparent">
174
+ The OpenAPI for Agents
175
+ </h3>
176
+ <div className="w-24 h-1 bg-gradient-to-r from-primary to-secondary mx-auto rounded-full"></div>
177
+ </div>
178
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6 max-w-[1440px] mx-auto">
179
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
180
+ <h4 className="text-xl font-bold mb-5 text-primary pb-3 border-b-2 border-blue-100">OpenAPI for REST</h4>
166
181
  <ul className="space-y-3 text-gray-700">
167
- <li className="flex items-start gap-2">
168
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
182
+ <li className="flex items-start gap-3">
183
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
169
184
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
170
185
  </svg>
171
- <span>Standardizes REST API contracts</span>
186
+ <span className="font-medium">Standardizes REST API contracts</span>
172
187
  </li>
173
- <li className="flex items-start gap-2">
174
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
188
+ <li className="flex items-start gap-3">
189
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
175
190
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
176
191
  </svg>
177
- <span>Enables API interoperability</span>
192
+ <span className="font-medium">Enables API interoperability</span>
178
193
  </li>
179
- <li className="flex items-start gap-2">
180
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
194
+ <li className="flex items-start gap-3">
195
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
181
196
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
182
197
  </svg>
183
- <span>Vendor-neutral specification</span>
198
+ <span className="font-medium">Vendor-neutral specification</span>
184
199
  </li>
185
- <li className="flex items-start gap-2">
186
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
200
+ <li className="flex items-start gap-3">
201
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
187
202
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
188
203
  </svg>
189
- <span>JSON Schema validation</span>
204
+ <span className="font-medium">JSON Schema validation</span>
190
205
  </li>
191
206
  </ul>
192
- </div>
193
- <div>
194
- <h4 className="text-xl font-semibold mb-4 text-primary">OSA for AI Agents</h4>
207
+ </Card>
208
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
209
+ <h4 className="text-xl font-bold mb-5 text-secondary pb-3 border-b-2 border-cyan-100">OSSA for AI Agents</h4>
195
210
  <ul className="space-y-3 text-gray-700">
196
- <li className="flex items-start gap-2">
197
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
211
+ <li className="flex items-start gap-3">
212
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
198
213
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
199
214
  </svg>
200
- <span>Standardizes AI agent contracts</span>
215
+ <span className="font-medium">Standardizes AI agent contracts</span>
201
216
  </li>
202
- <li className="flex items-start gap-2">
203
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
217
+ <li className="flex items-start gap-3">
218
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
204
219
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
205
220
  </svg>
206
- <span>Enables agent interoperability</span>
221
+ <span className="font-medium">Enables agent interoperability</span>
207
222
  </li>
208
- <li className="flex items-start gap-2">
209
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
223
+ <li className="flex items-start gap-3">
224
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
210
225
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
211
226
  </svg>
212
- <span>Vendor-neutral specification</span>
227
+ <span className="font-medium">Vendor-neutral specification</span>
213
228
  </li>
214
- <li className="flex items-start gap-2">
215
- <svg className="w-5 h-5 text-success mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
229
+ <li className="flex items-start gap-3">
230
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
216
231
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
217
232
  </svg>
218
- <span>JSON Schema validation</span>
233
+ <span className="font-medium">JSON Schema validation</span>
219
234
  </li>
220
235
  </ul>
221
- </div>
236
+ </Card>
237
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
238
+ <h4 className="text-xl font-bold mb-5 text-primary pb-3 border-b-2 border-blue-100">OpenAPI Integration</h4>
239
+ <ul className="space-y-3 text-gray-700">
240
+ <li className="flex items-start gap-3">
241
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
242
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
243
+ </svg>
244
+ <span className="font-medium">Seamless OpenAPI compatibility</span>
245
+ </li>
246
+ <li className="flex items-start gap-3">
247
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
248
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
249
+ </svg>
250
+ <span className="font-medium">Import existing OpenAPI specs</span>
251
+ </li>
252
+ <li className="flex items-start gap-3">
253
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
254
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
255
+ </svg>
256
+ <span className="font-medium">Export agents as OpenAPI</span>
257
+ </li>
258
+ <li className="flex items-start gap-3">
259
+ <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
260
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
261
+ </svg>
262
+ <span className="font-medium">Unified API and agent standards</span>
263
+ </li>
264
+ </ul>
265
+ </Card>
266
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
267
+ <h4 className="text-xl font-bold mb-5 text-secondary pb-3 border-b-2 border-cyan-100">API-to-Agent Bridge</h4>
268
+ <ul className="space-y-3 text-gray-700">
269
+ <li className="flex items-start gap-3">
270
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
271
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
272
+ </svg>
273
+ <span className="font-medium">Connect REST APIs to agents</span>
274
+ </li>
275
+ <li className="flex items-start gap-3">
276
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
277
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
278
+ </svg>
279
+ <span className="font-medium">Use OpenAPI as agent tools</span>
280
+ </li>
281
+ <li className="flex items-start gap-3">
282
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
283
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
284
+ </svg>
285
+ <span className="font-medium">Automatic API discovery</span>
286
+ </li>
287
+ <li className="flex items-start gap-3">
288
+ <svg className="w-5 h-5 text-secondary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
289
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
290
+ </svg>
291
+ <span className="font-medium">Bidirectional integration</span>
292
+ </li>
293
+ </ul>
294
+ </Card>
222
295
  </div>
223
296
  </div>
224
297
  </div>
225
298
  </section>
226
299
 
300
+ {/* Why OSSA - The Problem Section */}
301
+ <section className="py-16 px-4 bg-white">
302
+ <div className="container mx-auto max-w-5xl">
303
+ <div className="text-center mb-12">
304
+ <h2 className="text-4xl md:text-5xl font-bold mb-4 text-gray-900">Why Does This Matter?</h2>
305
+ <p className="text-xl text-gray-600">Leading with portability, regulatory compliance, and vendor independence</p>
306
+ </div>
307
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
308
+ <Card variant="default" padding="lg" elevation={1}>
309
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Portability: Avoid Vendor Lock-in</h3>
310
+ <p className="text-lg text-gray-700 leading-relaxed">
311
+ Switch between AI providers (OpenAI, Anthropic, Azure) without rewriting code. Define your agent once in OSSA format,
312
+ deploy anywhere. No more complete rewrites when changing frameworks.
313
+ </p>
314
+ </Card>
315
+ <Card variant="default" padding="lg" elevation={1}>
316
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Regulatory Compliance: Built-in Frameworks</h3>
317
+ <p className="text-lg text-gray-700 leading-relaxed">
318
+ Meet SOC2, FedRAMP, HIPAA, and GDPR requirements with standardized security models, audit trails,
319
+ and data boundary controls. Compliance-ready from day one.
320
+ </p>
321
+ </Card>
322
+ <Card variant="default" padding="lg" elevation={1}>
323
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Vendor Independence: True Interoperability</h3>
324
+ <p className="text-lg text-gray-700 leading-relaxed">
325
+ Community-driven standard, not controlled by any single company. Works with LangChain, CrewAI, AutoGen,
326
+ and any framework. Your agents, your choice.
327
+ </p>
328
+ </Card>
329
+ </div>
330
+ <Card variant="featured" padding="lg" elevation={3}>
331
+ <p className="text-2xl text-gray-900 font-bold mb-4">
332
+ OSSA solves this for AI agents.
333
+ </p>
334
+ <p className="text-xl text-gray-700">
335
+ <strong>One standard. Any framework. True portability.</strong> Define your agent once in OSSA format,
336
+ then deploy it with LangChain, CrewAI, Anthropic, OpenAI, or any other framework. Just like OpenAPI
337
+ unified REST APIs, OSSA unifies AI agents.
338
+ </p>
339
+ </Card>
340
+ </div>
341
+ </section>
342
+
227
343
  {/* Quick Start Section */}
228
344
  <section id="get-started" className="py-20 px-4 bg-gray-50 scroll-mt-20">
229
- <div className="container mx-auto max-w-7xl">
345
+ <div className="container mx-auto max-w-[1440px]">
230
346
  <div className="text-center mb-12">
231
- <h2 className="text-5xl font-bold mb-6">Get Started in Minutes</h2>
347
+ <div className="flex items-center justify-center mb-6">
348
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
349
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
350
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
351
+ </svg>
352
+ </div>
353
+ <h2 className="text-5xl font-bold text-primary">Get Started in Minutes</h2>
354
+ </div>
232
355
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
233
356
  Install the CLI, create your first agent, and start building with Open Standard Agents.
234
357
  </p>
235
358
  </div>
236
-
359
+
237
360
  <div className="grid md:grid-cols-2 gap-8 max-w-5xl mx-auto mb-12">
238
- <div className="card p-8">
239
- <h3 className="text-2xl font-semibold mb-4 text-primary">1. Install CLI</h3>
240
- <div className="bg-code-bg rounded-lg p-4 mb-4">
241
- <pre className="text-code-text text-sm overflow-x-auto">
242
- <code>npm install -g @bluefly/openstandardagents</code>
243
- </pre>
244
- </div>
245
- </div>
246
- <div className="card p-8">
247
- <h3 className="text-2xl font-semibold mb-4 text-primary">2. Create Agent</h3>
248
- <div className="bg-code-bg rounded-lg p-4 mb-4">
249
- <pre className="text-code-text text-sm overflow-x-auto">
250
- <code>{`osa init my-agent
361
+ <Card variant="default" padding="lg" elevation={2}>
362
+ <CardHeader>
363
+ <CardTitle className="text-primary">1. Install CLI</CardTitle>
364
+ </CardHeader>
365
+ <CardContent>
366
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
367
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
368
+ <code>npm install -g @bluefly/openstandardagents</code>
369
+ </pre>
370
+ </div>
371
+ </CardContent>
372
+ </Card>
373
+ <Card variant="default" padding="lg" elevation={2}>
374
+ <CardHeader>
375
+ <CardTitle className="text-primary">2. Create Agent</CardTitle>
376
+ </CardHeader>
377
+ <CardContent>
378
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
379
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
380
+ <code>{`osa init my-agent
251
381
  cd my-agent`}</code>
252
- </pre>
253
- </div>
254
- </div>
255
- <div className="card p-8">
256
- <h3 className="text-2xl font-semibold mb-4 text-primary">3. Validate</h3>
257
- <div className="bg-code-bg rounded-lg p-4 mb-4">
258
- <pre className="text-code-text text-sm overflow-x-auto">
259
- <code>osa validate my-agent.ossa.yaml</code>
260
- </pre>
261
- </div>
262
- </div>
263
- <div className="card p-8">
264
- <h3 className="text-2xl font-semibold mb-4 text-primary">4. Export</h3>
265
- <div className="bg-code-bg rounded-lg p-4 mb-4">
266
- <pre className="text-code-text text-sm overflow-x-auto">
267
- <code>{`osa export --to cursor
382
+ </pre>
383
+ </div>
384
+ </CardContent>
385
+ </Card>
386
+ <Card variant="default" padding="lg" elevation={2}>
387
+ <CardHeader>
388
+ <CardTitle className="text-primary">3. Validate</CardTitle>
389
+ </CardHeader>
390
+ <CardContent>
391
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
392
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
393
+ <code>osa validate my-agent.ossa.yaml</code>
394
+ </pre>
395
+ </div>
396
+ </CardContent>
397
+ </Card>
398
+ <Card variant="default" padding="lg" elevation={2}>
399
+ <CardHeader>
400
+ <CardTitle className="text-primary">4. Export</CardTitle>
401
+ </CardHeader>
402
+ <CardContent>
403
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
404
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
405
+ <code>{`osa export --to cursor
268
406
  osa export --to langchain`}</code>
269
- </pre>
270
- </div>
271
- </div>
407
+ </pre>
408
+ </div>
409
+ </CardContent>
410
+ </Card>
272
411
  </div>
273
-
412
+
274
413
  <div className="text-center">
275
- <Link href="/docs/getting-started/5-minute-overview" className="btn-primary text-lg px-8 py-4">
414
+ <Link href="/docs/getting-started/5-minute-overview/" className="btn-primary text-lg px-8 py-4">
276
415
  Read Full Getting Started Guide
277
416
  </Link>
278
417
  </div>
279
418
  </div>
280
419
  </section>
281
420
 
421
+ {/* Comparison Matrix Section */}
422
+ <section className="py-20 px-4 bg-gradient-to-br from-gray-50 to-blue-50">
423
+ <div className="container mx-auto max-w-[1440px]">
424
+ <div className="text-center mb-12">
425
+ <h2 className="text-4xl md:text-5xl font-bold mb-4">How OSSA Compares</h2>
426
+ <p className="text-xl text-gray-600 max-w-3xl mx-auto">
427
+ OSSA is a specification standard, not a framework. See how it enables true interoperability.
428
+ </p>
429
+ </div>
430
+
431
+ {/* Desktop Table */}
432
+ <div className="hidden lg:block overflow-x-auto">
433
+ <table className="w-full bg-white rounded-lg shadow-lg overflow-hidden">
434
+ <thead className="bg-gradient-to-r from-primary to-secondary text-white">
435
+ <tr>
436
+ <th className="px-6 py-4 text-left font-bold">Feature</th>
437
+ <th className="px-6 py-4 text-center font-bold">OSSA</th>
438
+ <th className="px-6 py-4 text-center font-bold">LangChain</th>
439
+ <th className="px-6 py-4 text-center font-bold">AutoGen</th>
440
+ <th className="px-6 py-4 text-center font-bold">MCP</th>
441
+ <th className="px-6 py-4 text-center font-bold">Semantic Kernel</th>
442
+ </tr>
443
+ </thead>
444
+ <tbody className="divide-y divide-gray-200">
445
+ <tr className="hover:bg-gray-50">
446
+ <td className="px-6 py-4 font-medium text-gray-900">Vendor Neutral<br/><span className="text-sm font-normal text-gray-600">Not controlled by any single company</span></td>
447
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
448
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
449
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
450
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
451
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
452
+ </tr>
453
+ <tr className="hover:bg-gray-50 bg-blue-50">
454
+ <td className="px-6 py-4 font-medium text-gray-900">Formal Standard<br/><span className="text-sm font-normal text-gray-600">JSON Schema validated specification</span></td>
455
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
456
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
457
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
458
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
459
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
460
+ </tr>
461
+ <tr className="hover:bg-gray-50">
462
+ <td className="px-6 py-4 font-medium text-gray-900">Multi-runtime<br/><span className="text-sm font-normal text-gray-600">Works across Node.js, Python, and more</span></td>
463
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
464
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
465
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
466
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
467
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
468
+ </tr>
469
+ <tr className="hover:bg-gray-50 bg-blue-50">
470
+ <td className="px-6 py-4 font-medium text-gray-900">Enterprise Governance<br/><span className="text-sm font-normal text-gray-600">Built-in audit trails and policy controls</span></td>
471
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
472
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
473
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
474
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
475
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
476
+ </tr>
477
+ <tr className="hover:bg-gray-50">
478
+ <td className="px-6 py-4 font-medium text-gray-900">Compliance Ready<br/><span className="text-sm font-normal text-gray-600">SOC2, FedRAMP, HIPAA, GDPR frameworks</span></td>
479
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
480
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
481
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
482
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
483
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
484
+ </tr>
485
+ <tr className="hover:bg-gray-50 bg-blue-50">
486
+ <td className="px-6 py-4 font-medium text-gray-900">Open Source<br/><span className="text-sm font-normal text-gray-600">Community-driven development</span></td>
487
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
488
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
489
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
490
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
491
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
492
+ </tr>
493
+ </tbody>
494
+ </table>
495
+ </div>
496
+
497
+ {/* Mobile Cards */}
498
+ <div className="lg:hidden space-y-4">
499
+ <Card variant="featured" padding="lg" elevation={2}>
500
+ <h3 className="text-xl font-bold mb-4 text-primary">OSSA</h3>
501
+ <div className="space-y-2 text-sm">
502
+ <div className="flex justify-between"><span>Vendor Neutral</span><span className="text-xl">✅</span></div>
503
+ <div className="flex justify-between"><span>Formal Standard</span><span className="text-xl">✅</span></div>
504
+ <div className="flex justify-between"><span>Multi-runtime</span><span className="text-xl">✅</span></div>
505
+ <div className="flex justify-between"><span>Enterprise Governance</span><span className="text-xl">✅</span></div>
506
+ <div className="flex justify-between"><span>Compliance Ready</span><span className="text-xl">✅</span></div>
507
+ <div className="flex justify-between"><span>Open Source</span><span className="text-xl">✅</span></div>
508
+ </div>
509
+ </Card>
510
+ <Card variant="default" padding="md" elevation={1}>
511
+ <h3 className="text-lg font-bold mb-3">LangChain / AutoGen / Semantic Kernel</h3>
512
+ <p className="text-sm text-gray-600">Framework-specific implementations. Open source but vendor-controlled.</p>
513
+ </Card>
514
+ <Card variant="default" padding="md" elevation={1}>
515
+ <h3 className="text-lg font-bold mb-3">MCP (Model Context Protocol)</h3>
516
+ <p className="text-sm text-gray-600">Formal standard with multi-runtime support. Focused on context, not full agent lifecycle.</p>
517
+ </Card>
518
+ </div>
519
+ </div>
520
+ </section>
521
+
282
522
  {/* Integrations & Adoption Section */}
283
523
  <section className="py-16 px-4 bg-gray-50">
284
- <div className="container mx-auto max-w-7xl">
524
+ <div className="container mx-auto max-w-[1440px]">
285
525
  <div className="text-center mb-12">
286
526
  <h2 className="text-4xl font-bold mb-4">Works With Your Favorite Tools</h2>
287
527
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -290,19 +530,29 @@ osa export --to langchain`}</code>
290
530
  </p>
291
531
  </div>
292
532
 
293
- {/* Logos Grid */}
294
- <div className="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-8 items-center justify-items-center mb-12">
533
+ {/* Logos Grid - Row 1 */}
534
+ <div className="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-8 items-center justify-items-center mb-8">
295
535
  <Logo domain="openai.com" name="OpenAI" />
296
536
  <Logo domain="anthropic.com" name="Anthropic" />
297
- <Logo domain="google.com" name="Google" />
537
+ <Logo domain="deepmind.google" name="Gemini" />
298
538
  <Logo domain="microsoft.com" name="Microsoft" />
299
539
  <Logo domain="langchain.com" name="LangChain" />
300
540
  <Logo domain="huggingface.co" name="Hugging Face" />
301
- <Logo domain="kagent.dev" name="Kagent" />
541
+ </div>
542
+
543
+ {/* Logos Grid - Row 2 */}
544
+ <div className="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-8 items-center justify-items-center mb-12">
545
+ <Logo domain="kagent.dev" name="kAgent" />
546
+ <Logo domain="crewai.com" name="CrewAI" />
547
+ <Logo domain="langflow.com" name="Langflow" />
548
+ <Logo domain="llamaindex.ai" name="LlamaIndex" />
549
+ <Logo domain="langchain.com" name="LangGraph" />
550
+ <Logo domain="modelcontextprotocol.io" name="MCP" />
551
+ <Logo domain="drupal.org" name="Drupal" />
552
+ <Logo domain="librechat.com" name="LibreChat" />
302
553
  <Logo domain="docker.com" name="Docker" />
303
554
  <Logo domain="kubernetes.io" name="Kubernetes" />
304
555
  <Logo domain="aws.amazon.com" name="AWS" />
305
- <Logo domain="cursor.sh" name="Cursor" />
306
556
  <Logo domain="github.com" name="GitHub" />
307
557
  </div>
308
558
 
@@ -310,7 +560,7 @@ osa export --to langchain`}</code>
310
560
  <p className="text-lg text-gray-600 mb-6">
311
561
  And many more frameworks, platforms, and tools...
312
562
  </p>
313
- <Link href="/docs/ecosystem/framework-support" className="btn-primary">
563
+ <Link href="/docs/ecosystem/framework-support/" className="btn-primary">
314
564
  View All Integrations
315
565
  </Link>
316
566
  </div>
@@ -319,7 +569,7 @@ osa export --to langchain`}</code>
319
569
 
320
570
  {/* Features Section */}
321
571
  <section className="py-20 px-4 bg-white">
322
- <div className="container mx-auto max-w-7xl">
572
+ <div className="container mx-auto max-w-[1440px]">
323
573
  <div className="text-center mb-16">
324
574
  <h2 className="text-5xl font-bold mb-6">Why Open Standard Agents?</h2>
325
575
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -327,61 +577,89 @@ osa export --to langchain`}</code>
327
577
  frameworks, teams, and infrastructures.
328
578
  </p>
329
579
  </div>
330
-
580
+
331
581
  <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
332
- <div className="card-hover p-6 text-center">
333
- <h3 className="text-xl font-semibold mb-3">Framework-Agnostic</h3>
334
- <p className="text-gray-700">
335
- Works with LangChain, Anthropic, OpenAI, CrewAI, Langflow, AutoGen, and more.
336
- No vendor lock-in.
337
- </p>
338
- </div>
339
- <div className="card-hover p-6 text-center">
340
-
341
- <h3 className="text-xl font-semibold mb-3">Portable</h3>
342
- <p className="text-gray-700">
343
- Move agents between teams, organizations, and infrastructures without rewriting code.
344
- </p>
345
- </div>
346
- <div className="card-hover p-6 text-center">
347
- <h3 className="text-xl font-semibold mb-3">Validatable</h3>
348
- <p className="text-gray-700">
349
- JSON Schema validation ensures correctness before deployment. Catch errors early.
350
- </p>
351
- </div>
352
- <div className="card-hover p-6 text-center">
353
- <h3 className="text-xl font-semibold mb-3">Well-Documented</h3>
354
- <p className="text-gray-700">
355
- Comprehensive documentation, examples, and tooling. Built for developers, by developers.
356
- </p>
357
- </div>
358
- <div className="card-hover p-6 text-center">
359
-
360
- <h3 className="text-xl font-semibold mb-3">Open Source</h3>
361
- <p className="text-gray-700">
362
- Apache 2.0 licensed. Community-driven. Transparent development process.
363
- </p>
364
- </div>
365
- <div className="card-hover p-6 text-center">
366
-
367
- <h3 className="text-xl font-semibold mb-3">Fast Integration</h3>
368
- <p className="text-gray-700">
369
- Export to any framework format. Import existing agents. Seamless migration paths.
370
- </p>
371
- </div>
372
- <div className="card-hover p-6 text-center">
373
-
374
- <h3 className="text-xl font-semibold mb-3">Secure by Design</h3>
375
- <p className="text-gray-700">
376
- Built-in security patterns, authentication, and compliance features.
377
- </p>
378
- </div>
379
- <div className="card-hover p-6 text-center">
380
- <h3 className="text-xl font-semibold mb-3">Observable</h3>
381
- <p className="text-gray-700">
382
- Built-in observability, logging, and monitoring. Track agent performance and behavior.
383
- </p>
384
- </div>
582
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
583
+ <CardHeader>
584
+ <CardTitle className="text-xl">Framework-Agnostic</CardTitle>
585
+ </CardHeader>
586
+ <CardContent>
587
+ <p className="text-gray-700">
588
+ Works with LangChain, Anthropic, OpenAI, CrewAI, Langflow, AutoGen, and more.
589
+ No vendor lock-in.
590
+ </p>
591
+ </CardContent>
592
+ </Card>
593
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
594
+ <CardHeader>
595
+ <CardTitle className="text-xl">Portable</CardTitle>
596
+ </CardHeader>
597
+ <CardContent>
598
+ <p className="text-gray-700">
599
+ Move agents between teams, organizations, and infrastructures without rewriting code.
600
+ </p>
601
+ </CardContent>
602
+ </Card>
603
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
604
+ <CardHeader>
605
+ <CardTitle className="text-xl">Validatable</CardTitle>
606
+ </CardHeader>
607
+ <CardContent>
608
+ <p className="text-gray-700">
609
+ JSON Schema validation ensures correctness before deployment. Catch errors early.
610
+ </p>
611
+ </CardContent>
612
+ </Card>
613
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
614
+ <CardHeader>
615
+ <CardTitle className="text-xl">Well-Documented</CardTitle>
616
+ </CardHeader>
617
+ <CardContent>
618
+ <p className="text-gray-700">
619
+ Comprehensive documentation, examples, and tooling. Built for developers, by developers.
620
+ </p>
621
+ </CardContent>
622
+ </Card>
623
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
624
+ <CardHeader>
625
+ <CardTitle className="text-xl">Open Source</CardTitle>
626
+ </CardHeader>
627
+ <CardContent>
628
+ <p className="text-gray-700">
629
+ Apache 2.0 licensed. Community-driven. Transparent development process.
630
+ </p>
631
+ </CardContent>
632
+ </Card>
633
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
634
+ <CardHeader>
635
+ <CardTitle className="text-xl">Fast Integration</CardTitle>
636
+ </CardHeader>
637
+ <CardContent>
638
+ <p className="text-gray-700">
639
+ Export to any framework format. Import existing agents. Seamless migration paths.
640
+ </p>
641
+ </CardContent>
642
+ </Card>
643
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
644
+ <CardHeader>
645
+ <CardTitle className="text-xl">Secure by Design</CardTitle>
646
+ </CardHeader>
647
+ <CardContent>
648
+ <p className="text-gray-700">
649
+ Built-in security patterns, authentication, and compliance features.
650
+ </p>
651
+ </CardContent>
652
+ </Card>
653
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
654
+ <CardHeader>
655
+ <CardTitle className="text-xl">Observable</CardTitle>
656
+ </CardHeader>
657
+ <CardContent>
658
+ <p className="text-gray-700">
659
+ Built-in observability, logging, and monitoring. Track agent performance and behavior.
660
+ </p>
661
+ </CardContent>
662
+ </Card>
385
663
  </div>
386
664
  </div>
387
665
  </section>
@@ -394,7 +672,7 @@ osa export --to langchain`}</code>
394
672
  Join the community and start building with Open Standard Agents today.
395
673
  </p>
396
674
  <div className="flex flex-col sm:flex-row gap-4 justify-center">
397
- <Link href="/examples" className="btn-secondary bg-white text-primary hover:bg-gray-100">
675
+ <Link href="/examples/" className="btn-secondary">
398
676
  View Examples
399
677
  </Link>
400
678
  <Link href="https://github.com/blueflyio/openstandardagents/issues" className="btn-outline border-white text-white hover:bg-white hover:text-primary" target="_blank" rel="noopener noreferrer">
@@ -406,4 +684,3 @@ osa export --to langchain`}</code>
406
684
  </div>
407
685
  );
408
686
  }
409
-