@bluefly/openstandardagents 0.2.5-RC → 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 (365) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  5. package/.github/workflows/dependabot-comment.yml +34 -0
  6. package/.github/workflows/pr-comment.yml +33 -0
  7. package/.husky/pre-commit +5 -0
  8. package/.kiro/config.json +21 -0
  9. package/.kiro/settings/mcp.json +61 -0
  10. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  11. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  12. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  13. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  14. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  15. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  16. package/.version.json +2 -2
  17. package/.wiki-config.json +24 -0
  18. package/CHANGELOG.md +34 -18
  19. package/CODEOWNERS +75 -0
  20. package/CONTRIBUTING.md +1 -1
  21. package/README.md +176 -239
  22. package/bin/ossa-dev +42 -0
  23. package/bin/ossa-export +32 -0
  24. package/bin/ossa-generate +60 -0
  25. package/bin/ossa-health +40 -0
  26. package/bin/ossa-init +26 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/repositories/schema.repository.d.ts +6 -1
  32. package/dist/repositories/schema.repository.d.ts.map +1 -1
  33. package/dist/repositories/schema.repository.js +63 -36
  34. package/dist/repositories/schema.repository.js.map +1 -1
  35. package/dist/services/github-sync/github-client.d.ts +14 -0
  36. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  37. package/dist/services/github-sync/github-client.js +41 -0
  38. package/dist/services/github-sync/github-client.js.map +1 -0
  39. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  40. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  41. package/dist/services/github-sync/gitlab-client.js +42 -0
  42. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  43. package/dist/services/github-sync/schemas.d.ts +46 -0
  44. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  45. package/dist/services/github-sync/schemas.js +36 -0
  46. package/dist/services/github-sync/schemas.js.map +1 -0
  47. package/dist/services/github-sync/sync.service.d.ts +27 -0
  48. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  49. package/dist/services/github-sync/sync.service.js +99 -0
  50. package/dist/services/github-sync/sync.service.js.map +1 -0
  51. package/dist/services/migration.service.d.ts +4 -3
  52. package/dist/services/migration.service.d.ts.map +1 -1
  53. package/dist/services/migration.service.js +11 -10
  54. package/dist/services/migration.service.js.map +1 -1
  55. package/dist/services/release-automation/release.service.js +1 -1
  56. package/dist/services/release-automation/release.service.js.map +1 -1
  57. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  58. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  59. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  60. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  61. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  62. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  63. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  64. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  65. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  66. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  67. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  68. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  69. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  70. package/dist/services/runtime/claude/types.d.ts +115 -0
  71. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  72. package/dist/services/runtime/claude/types.js +6 -0
  73. package/dist/services/runtime/claude/types.js.map +1 -0
  74. package/dist/services/validation.service.d.ts.map +1 -1
  75. package/dist/services/validation.service.js +12 -1
  76. package/dist/services/validation.service.js.map +1 -1
  77. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  78. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  79. package/dist/spec/v0.2.6/README.md +72 -0
  80. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  81. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  82. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  83. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  84. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  85. package/dist/spec/v0.2.6-dev/README.md +75 -0
  86. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  87. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  88. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  89. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  90. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  91. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  92. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  93. package/dist/spec/v0.2.8/README.md +72 -0
  94. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  95. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  96. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  97. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  98. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  99. package/dist/types/index.d.ts +3 -2
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/utils/index.d.ts +6 -0
  102. package/dist/utils/index.d.ts.map +1 -0
  103. package/dist/utils/index.js +6 -0
  104. package/dist/utils/index.js.map +1 -0
  105. package/dist/utils/version.d.ts +68 -0
  106. package/dist/utils/version.d.ts.map +1 -0
  107. package/dist/utils/version.js +156 -0
  108. package/dist/utils/version.js.map +1 -0
  109. package/docs/brand-guide/01-brand-overview.md +37 -0
  110. package/docs/brand-guide/02-logo-usage.md +43 -0
  111. package/docs/brand-guide/03-color-palette.md +70 -0
  112. package/docs/brand-guide/04-typography.md +82 -0
  113. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  114. package/docs/brand-guide/06-visual-elements.md +137 -0
  115. package/docs/brand-guide/07-application-examples.md +153 -0
  116. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  117. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  118. package/docs/brand-guide/README.md +107 -0
  119. package/docs/comparison.md +315 -0
  120. package/docs/operations/automation-roadmap.md +245 -0
  121. package/docs/operations/github-sync-strategy.md +357 -0
  122. package/eslint-report.json +1 -0
  123. package/examples/adk-integration/code-review-workflow.yml +1 -1
  124. package/examples/adk-integration/customer-support.yml +1 -1
  125. package/examples/adk-integration/data-pipeline.yml +1 -1
  126. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  127. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  128. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  129. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  130. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  131. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  132. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  133. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  134. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  135. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  136. package/examples/autogen/multi-agent.ossa.json +6 -4
  137. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  138. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  139. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  140. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  141. package/examples/crewai/research-team.ossa.json +14 -5
  142. package/examples/cursor/code-review-agent.ossa.json +21 -6
  143. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  144. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  145. package/examples/extensions/drupal-v1.yml +1 -1
  146. package/examples/extensions/kagent-v1.yml +1 -1
  147. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  148. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  149. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  150. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  151. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  152. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  153. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  154. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  155. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  156. package/examples/langchain/chain-agent.ossa.json +21 -5
  157. package/examples/langflow/workflow-agent.ossa.json +2 -3
  158. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  159. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  160. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  161. package/examples/multi-agent/README.md +74 -0
  162. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  163. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  164. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  165. package/examples/openai/basic-agent.ossa.yaml +1 -1
  166. package/examples/openai/multi-tool-agent.ossa.json +33 -10
  167. package/examples/openai/swarm-agent.ossa.json +18 -5
  168. package/examples/production/document-analyzer-openai.yml +1 -1
  169. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  170. package/examples/spec-examples/audit-agent.yml +1 -1
  171. package/examples/spec-examples/chat-agent.yml +1 -1
  172. package/examples/spec-examples/compliance-agent.yml +1 -1
  173. package/examples/spec-examples/monitoring-agent.yml +1 -1
  174. package/examples/spec-examples/workflow-agent.yml +1 -1
  175. package/examples/templates/ossa-compliance.yaml +1 -1
  176. package/examples/vercel/edge-agent.ossa.json +5 -4
  177. package/gl-code-quality-report.json +62 -0
  178. package/llms-ctx-full.txt +39 -0
  179. package/llms-ctx.txt +39 -0
  180. package/llms.txt +47 -0
  181. package/openapi/github-sync.yaml +115 -0
  182. package/package.json +26 -4
  183. package/scripts/README.md +103 -0
  184. package/scripts/auto-rebase-mrs.ts +106 -0
  185. package/scripts/batch-dependabot.sh +57 -0
  186. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  187. package/scripts/create-issue-helper.ts +238 -0
  188. package/scripts/create-milestone-issue.ts +73 -0
  189. package/scripts/eslint-to-codequality.cjs +34 -0
  190. package/scripts/fix-schema-formats.js +82 -0
  191. package/scripts/generate-agents-catalog.ts +77 -0
  192. package/scripts/generate-api-docs.ts +218 -0
  193. package/scripts/generate-cli-docs.ts +410 -0
  194. package/scripts/generate-config-docs.ts +109 -0
  195. package/scripts/generate-errors-docs.ts +76 -0
  196. package/scripts/generate-examples-docs.ts +99 -0
  197. package/scripts/generate-llms-ctx.sh +17 -0
  198. package/scripts/generate-schema-docs.ts +317 -0
  199. package/scripts/generate-types-docs.ts +48 -0
  200. package/scripts/lowercase-docs.ts +43 -0
  201. package/scripts/manage-milestone-mrs.ts +279 -0
  202. package/scripts/rebase-all-mrs.sh +75 -0
  203. package/scripts/sync-github-pr.sh +48 -0
  204. package/scripts/sync-version.js +32 -0
  205. package/scripts/sync-wiki.sh +50 -0
  206. package/scripts/validate-all.js +127 -0
  207. package/scripts/validate-schema.ts +2 -1
  208. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  209. package/spec/v0.2.6/CHANGELOG.md +401 -0
  210. package/spec/v0.2.6/README.md +72 -0
  211. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  212. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  213. package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  214. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  215. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  216. package/spec/v0.2.6-dev/README.md +75 -0
  217. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  218. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  220. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  221. package/spec/v0.2.7/core/agentgraph.md +324 -0
  222. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  223. package/spec/v0.2.8/CHANGELOG.md +401 -0
  224. package/spec/v0.2.8/README.md +72 -0
  225. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  226. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  227. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  228. package/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  229. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  230. package/test-results/junit.xml +299 -0
  231. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  232. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  233. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  234. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  235. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  236. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  237. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  238. package/docs/issue-19-completion-summary.md +0 -648
  239. package/docs/issue-19-validation.md +0 -351
  240. package/scripts/lib/exec.ts +0 -37
  241. package/scripts/lib/file-ops.ts +0 -58
  242. package/scripts/lib/version.ts +0 -83
  243. package/website/.lighthouserc.ts +0 -24
  244. package/website/.prettierrc +0 -10
  245. package/website/Dockerfile +0 -30
  246. package/website/app/about/page.tsx +0 -295
  247. package/website/app/blog/[slug]/page.tsx +0 -208
  248. package/website/app/blog/page.tsx +0 -249
  249. package/website/app/design-guide/page.tsx +0 -511
  250. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  251. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  252. package/website/app/ecosystem/page.tsx +0 -375
  253. package/website/app/examples/page.tsx +0 -133
  254. package/website/app/globals.scss +0 -135
  255. package/website/app/layout.tsx +0 -106
  256. package/website/app/license/page.tsx +0 -183
  257. package/website/app/not-found.tsx +0 -18
  258. package/website/app/page.tsx +0 -474
  259. package/website/app/playground/page.tsx +0 -487
  260. package/website/app/robots.ts +0 -19
  261. package/website/app/rss.xml/route.ts +0 -74
  262. package/website/app/schema/page.tsx +0 -1001
  263. package/website/app/sitemap.ts +0 -56
  264. package/website/app/specification/page.tsx +0 -287
  265. package/website/components/InstallCommand.tsx +0 -96
  266. package/website/components/Logo.tsx +0 -97
  267. package/website/components/StructuredData.tsx +0 -65
  268. package/website/components/docs/DocsSearch.tsx +0 -104
  269. package/website/components/docs/DocsSidebar.tsx +0 -155
  270. package/website/components/docs/MarkdownContent.tsx +0 -401
  271. package/website/components/docs/VersionSelector.tsx +0 -105
  272. package/website/components/examples/ExamplesViewer.tsx +0 -293
  273. package/website/components/layout/Footer.tsx +0 -116
  274. package/website/components/layout/Header.tsx +0 -168
  275. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  276. package/website/components/schema/SchemaExplorer.tsx +0 -213
  277. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  278. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  279. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  280. package/website/content/blog/introducing-ossa-framework.md +0 -328
  281. package/website/content/blog/ossa-production-results.md +0 -279
  282. package/website/content/blog/welcome-to-ossa.md +0 -43
  283. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  284. package/website/content/docs/00-HOME.md +0 -153
  285. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  286. package/website/content/docs/Examples.md +0 -71
  287. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  288. package/website/content/docs/adapters/openai-adapter.md +0 -693
  289. package/website/content/docs/architecture/execution-flow.md +0 -335
  290. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  291. package/website/content/docs/architecture/overview.md +0 -121
  292. package/website/content/docs/architecture/stack-integration.md +0 -461
  293. package/website/content/docs/changelog.md +0 -246
  294. package/website/content/docs/contributing.md +0 -599
  295. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  296. package/website/content/docs/ecosystem/framework-support.md +0 -819
  297. package/website/content/docs/ecosystem/overview.md +0 -366
  298. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  299. package/website/content/docs/examples/Migration-Guides.md +0 -214
  300. package/website/content/docs/for-audiences/Architects.md +0 -224
  301. package/website/content/docs/for-audiences/Developers.md +0 -220
  302. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  303. package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
  304. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  305. package/website/content/docs/getting-started/First-Agent.md +0 -196
  306. package/website/content/docs/getting-started/Hello-World.md +0 -184
  307. package/website/content/docs/getting-started/Installation.md +0 -155
  308. package/website/content/docs/getting-started/index.md +0 -92
  309. package/website/content/docs/getting-started/running-agents.md +0 -309
  310. package/website/content/docs/getting-started.md +0 -91
  311. package/website/content/docs/integrations/aiflow.md +0 -104
  312. package/website/content/docs/integrations/drupal.md +0 -105
  313. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  314. package/website/content/docs/migration-guides/README.md +0 -133
  315. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  316. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  317. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  318. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  319. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  320. package/website/content/docs/migration-guides/index.md +0 -133
  321. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  322. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  323. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  324. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  325. package/website/content/docs/openapi-extensions/examples.md +0 -550
  326. package/website/content/docs/openapi-extensions/index.md +0 -551
  327. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  328. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  329. package/website/content/docs/ossa-compliant-badge.md +0 -251
  330. package/website/content/docs/pre-release/index.md +0 -175
  331. package/website/content/docs/quick-reference.md +0 -17
  332. package/website/content/docs/readme.md +0 -35
  333. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  334. package/website/content/docs/schema-reference/autonomy.md +0 -568
  335. package/website/content/docs/schema-reference/constraints.md +0 -543
  336. package/website/content/docs/schema-reference/index.md +0 -176
  337. package/website/content/docs/schema-reference/llm-config.md +0 -445
  338. package/website/content/docs/schema-reference/observability.md +0 -654
  339. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  340. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  341. package/website/content/docs/schema-reference/tools.md +0 -628
  342. package/website/content/docs/templates/blog-post.md +0 -43
  343. package/website/content/docs/use-cases/00-index.md +0 -395
  344. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  345. package/website/content/docs/use-cases/customer-support.md +0 -1234
  346. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  347. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  348. package/website/content/docs/versioning.md +0 -288
  349. package/website/lib/version.ts +0 -35
  350. package/website/lib/versions.json +0 -78
  351. package/website/next.config.ts +0 -18
  352. package/website/nginx.conf +0 -32
  353. package/website/package-lock.json +0 -9679
  354. package/website/package.json +0 -59
  355. package/website/postcss.config.mjs +0 -9
  356. package/website/scripts/fetch-versions.js +0 -166
  357. package/website/scripts/generate-examples-index.js +0 -163
  358. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  359. package/website/scripts/sync-version.js +0 -72
  360. package/website/scripts/sync-wiki.ts +0 -322
  361. package/website/scripts/upload-wiki.ts +0 -199
  362. package/website/styles/_variables.scss +0 -36
  363. package/website/tailwind.config.ts +0 -136
  364. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  365. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -0,0 +1,410 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Generate CLI documentation from command source files
4
+ *
5
+ * Usage: npm run docs:cli:generate
6
+ */
7
+
8
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'fs';
9
+ import { join, basename } from 'path';
10
+
11
+ interface CommandInfo {
12
+ name: string;
13
+ description: string;
14
+ arguments: Array<{ name: string; description: string; required: boolean }>;
15
+ options: Array<{ flag: string; description: string; default?: string }>;
16
+ examples: string[];
17
+ apiEndpoint?: string;
18
+ }
19
+
20
+ const CLI_DIR = join(process.cwd(), 'src/cli/commands');
21
+ const OUTPUT_DIR = join(process.cwd(), 'website/content/docs/cli-reference');
22
+
23
+ // Command metadata (extracted from source or defined here)
24
+ const COMMANDS: Record<string, CommandInfo> = {
25
+ validate: {
26
+ name: 'validate',
27
+ description: 'Validate OSSA agent manifests against the schema',
28
+ arguments: [
29
+ { name: 'path', description: 'Path to agent manifest file or directory', required: true }
30
+ ],
31
+ options: [
32
+ { flag: '--version <version>', description: 'Specify OSSA version', default: 'latest' },
33
+ { flag: '--strict', description: 'Enable strict validation mode' },
34
+ { flag: '--format <format>', description: 'Output format: json, yaml, table', default: 'table' },
35
+ { flag: '--verbose', description: 'Show detailed validation errors' }
36
+ ],
37
+ examples: [
38
+ 'ossa validate agent.ossa.yaml',
39
+ 'ossa validate ./agents/',
40
+ 'ossa validate agent.ossa.yaml --strict',
41
+ 'ossa validate agent.ossa.yaml --format json'
42
+ ],
43
+ apiEndpoint: 'POST /api/v1/validate'
44
+ },
45
+ generate: {
46
+ name: 'generate',
47
+ description: 'Generate OSSA agent manifests from templates',
48
+ arguments: [
49
+ { name: 'type', description: 'Agent type: worker, orchestrator, compliance, chat', required: true }
50
+ ],
51
+ options: [
52
+ { flag: '--name <name>', description: 'Agent name', default: 'My Agent' },
53
+ { flag: '--id <id>', description: 'Agent ID (DNS-1123 format)' },
54
+ { flag: '--output <path>', description: 'Output file path', default: 'agent.ossa.yaml' },
55
+ { flag: '--interactive', description: 'Interactive mode with prompts' }
56
+ ],
57
+ examples: [
58
+ 'ossa generate worker --name "Data Processor"',
59
+ 'ossa generate orchestrator --id my-orchestrator',
60
+ 'ossa generate compliance --interactive',
61
+ 'ossa generate chat --output chat-agent.yaml'
62
+ ],
63
+ apiEndpoint: 'POST /api/v1/agents/generate'
64
+ },
65
+ migrate: {
66
+ name: 'migrate',
67
+ description: 'Migrate agent manifests between OSSA versions',
68
+ arguments: [
69
+ { name: 'source', description: 'Source manifest file', required: true }
70
+ ],
71
+ options: [
72
+ { flag: '--from <version>', description: 'Source OSSA version' },
73
+ { flag: '--to <version>', description: 'Target OSSA version', default: 'latest' },
74
+ { flag: '--output <path>', description: 'Output file path' },
75
+ { flag: '--dry-run', description: 'Show changes without writing' }
76
+ ],
77
+ examples: [
78
+ 'ossa migrate agent.yaml --from 0.2.4 --to 0.2.5',
79
+ 'ossa migrate agent.yaml --dry-run',
80
+ 'ossa migrate agent.yaml --output migrated-agent.yaml'
81
+ ],
82
+ apiEndpoint: 'POST /api/v1/migrate'
83
+ },
84
+ run: {
85
+ name: 'run',
86
+ description: 'Run an OSSA agent locally',
87
+ arguments: [
88
+ { name: 'manifest', description: 'Path to agent manifest', required: true }
89
+ ],
90
+ options: [
91
+ { flag: '--env <file>', description: 'Environment variables file' },
92
+ { flag: '--port <port>', description: 'Port to run on', default: '3000' },
93
+ { flag: '--watch', description: 'Watch for changes and reload' },
94
+ { flag: '--debug', description: 'Enable debug logging' }
95
+ ],
96
+ examples: [
97
+ 'ossa run agent.ossa.yaml',
98
+ 'ossa run agent.ossa.yaml --port 8080',
99
+ 'ossa run agent.ossa.yaml --watch --debug',
100
+ 'ossa run agent.ossa.yaml --env .env.local'
101
+ ],
102
+ apiEndpoint: 'POST /api/v1/agents/{id}/execute'
103
+ },
104
+ init: {
105
+ name: 'init',
106
+ description: 'Initialize a new OSSA project',
107
+ arguments: [],
108
+ options: [
109
+ { flag: '--name <name>', description: 'Project name' },
110
+ { flag: '--template <template>', description: 'Project template: minimal, full, enterprise' },
111
+ { flag: '--typescript', description: 'Use TypeScript' },
112
+ { flag: '--git', description: 'Initialize git repository' }
113
+ ],
114
+ examples: [
115
+ 'ossa init',
116
+ 'ossa init --name my-agent-project',
117
+ 'ossa init --template enterprise --typescript',
118
+ 'ossa init --git'
119
+ ]
120
+ },
121
+ setup: {
122
+ name: 'setup',
123
+ description: 'Set up OSSA development environment',
124
+ arguments: [],
125
+ options: [
126
+ { flag: '--gitlab', description: 'Configure GitLab integration' },
127
+ { flag: '--kubernetes', description: 'Configure Kubernetes deployment' },
128
+ { flag: '--registry <url>', description: 'Configure agent registry' },
129
+ { flag: '--interactive', description: 'Interactive setup wizard' }
130
+ ],
131
+ examples: [
132
+ 'ossa setup --interactive',
133
+ 'ossa setup --gitlab',
134
+ 'ossa setup --kubernetes',
135
+ 'ossa setup --registry https://registry.ossa.dev'
136
+ ]
137
+ },
138
+ export: {
139
+ name: 'export',
140
+ description: 'Export agent manifest to different formats',
141
+ arguments: [
142
+ { name: 'manifest', description: 'Path to agent manifest', required: true }
143
+ ],
144
+ options: [
145
+ { flag: '--format <format>', description: 'Export format: json, yaml, openapi, k8s', default: 'json' },
146
+ { flag: '--output <path>', description: 'Output file path' },
147
+ { flag: '--pretty', description: 'Pretty print output' }
148
+ ],
149
+ examples: [
150
+ 'ossa export agent.ossa.yaml --format json',
151
+ 'ossa export agent.ossa.yaml --format k8s --output deployment.yaml',
152
+ 'ossa export agent.ossa.yaml --format openapi --pretty'
153
+ ]
154
+ },
155
+ import: {
156
+ name: 'import',
157
+ description: 'Import agents from other frameworks',
158
+ arguments: [
159
+ { name: 'source', description: 'Source file or URL', required: true }
160
+ ],
161
+ options: [
162
+ { flag: '--from <framework>', description: 'Source framework: langchain, crewai, openai, mcp' },
163
+ { flag: '--output <path>', description: 'Output file path', default: 'agent.ossa.yaml' },
164
+ { flag: '--validate', description: 'Validate after import' }
165
+ ],
166
+ examples: [
167
+ 'ossa import langchain-agent.py --from langchain',
168
+ 'ossa import crew.yaml --from crewai --validate',
169
+ 'ossa import https://example.com/agent.json --from openai'
170
+ ]
171
+ },
172
+ schema: {
173
+ name: 'schema',
174
+ description: 'View and manage OSSA schemas',
175
+ arguments: [],
176
+ options: [
177
+ { flag: '--version <version>', description: 'Schema version', default: 'latest' },
178
+ { flag: '--format <format>', description: 'Output format: json, yaml', default: 'yaml' },
179
+ { flag: '--field <field>', description: 'Show specific field documentation' },
180
+ { flag: '--list', description: 'List available schema versions' }
181
+ ],
182
+ examples: [
183
+ 'ossa schema',
184
+ 'ossa schema --version 0.2.5',
185
+ 'ossa schema --field agent.id',
186
+ 'ossa schema --list'
187
+ ]
188
+ },
189
+ 'gitlab-agent': {
190
+ name: 'gitlab-agent',
191
+ description: 'Manage GitLab agent integration',
192
+ arguments: [],
193
+ options: [
194
+ { flag: '--configure', description: 'Configure GitLab agent' },
195
+ { flag: '--deploy', description: 'Deploy agent to GitLab' },
196
+ { flag: '--status', description: 'Check agent status' },
197
+ { flag: '--logs', description: 'View agent logs' }
198
+ ],
199
+ examples: [
200
+ 'ossa gitlab-agent --configure',
201
+ 'ossa gitlab-agent --deploy',
202
+ 'ossa gitlab-agent --status',
203
+ 'ossa gitlab-agent --logs'
204
+ ]
205
+ },
206
+ agents: {
207
+ name: 'agents',
208
+ description: 'Manage OSSA agents',
209
+ arguments: [
210
+ { name: 'action', description: 'Action: list, get, create, update, delete', required: true }
211
+ ],
212
+ options: [
213
+ { flag: '--id <id>', description: 'Agent ID' },
214
+ { flag: '--role <role>', description: 'Filter by role' },
215
+ { flag: '--status <status>', description: 'Filter by status' },
216
+ { flag: '--format <format>', description: 'Output format: json, yaml, table', default: 'table' }
217
+ ],
218
+ examples: [
219
+ 'ossa agents list',
220
+ 'ossa agents list --role worker',
221
+ 'ossa agents get --id my-agent',
222
+ 'ossa agents create agent.ossa.yaml',
223
+ 'ossa agents delete --id my-agent'
224
+ ],
225
+ apiEndpoint: 'GET /api/v1/agents'
226
+ }
227
+ };
228
+
229
+ function generateCommandDoc(cmd: CommandInfo): string {
230
+ let doc = `# ossa ${cmd.name}\n\n`;
231
+ doc += `**Purpose**: ${cmd.description}\n\n`;
232
+
233
+ // Synopsis
234
+ doc += '## Synopsis\n\n';
235
+ doc += '```bash\n';
236
+ doc += `ossa ${cmd.name}`;
237
+ if (cmd.arguments.length > 0) {
238
+ for (const arg of cmd.arguments) {
239
+ doc += arg.required ? ` <${arg.name}>` : ` [${arg.name}]`;
240
+ }
241
+ }
242
+ doc += ' [options]\n';
243
+ doc += '```\n\n';
244
+
245
+ // Description
246
+ doc += '## Description\n\n';
247
+ doc += `${cmd.description}\n\n`;
248
+
249
+ // Arguments
250
+ if (cmd.arguments.length > 0) {
251
+ doc += '## Arguments\n\n';
252
+ for (const arg of cmd.arguments) {
253
+ const required = arg.required ? ' (required)' : ' (optional)';
254
+ doc += `- \`<${arg.name}>\`${required} - ${arg.description}\n`;
255
+ }
256
+ doc += '\n';
257
+ }
258
+
259
+ // Options
260
+ if (cmd.options.length > 0) {
261
+ doc += '## Options\n\n';
262
+ for (const opt of cmd.options) {
263
+ doc += `- \`${opt.flag}\` - ${opt.description}`;
264
+ if (opt.default) {
265
+ doc += ` (default: ${opt.default})`;
266
+ }
267
+ doc += '\n';
268
+ }
269
+ doc += '\n';
270
+ }
271
+
272
+ // Examples
273
+ if (cmd.examples.length > 0) {
274
+ doc += '## Examples\n\n';
275
+ for (const example of cmd.examples) {
276
+ doc += '```bash\n';
277
+ doc += example + '\n';
278
+ doc += '```\n\n';
279
+ }
280
+ }
281
+
282
+ // API endpoint connection
283
+ if (cmd.apiEndpoint) {
284
+ doc += '## API Endpoint Connection\n\n';
285
+ doc += `This command uses the following API endpoint:\n`;
286
+ doc += `- \`${cmd.apiEndpoint}\` - [API Reference](../api-reference/index.md)\n\n`;
287
+ }
288
+
289
+ // Exit codes
290
+ doc += '## Exit Codes\n\n';
291
+ doc += '- `0` - Success\n';
292
+ doc += '- `1` - General error\n';
293
+ doc += '- `2` - Invalid arguments\n';
294
+ doc += '- `3` - File not found\n\n';
295
+
296
+ // Related commands
297
+ doc += '## Related Commands\n\n';
298
+ const relatedCommands = Object.keys(COMMANDS).filter(c => c !== cmd.name).slice(0, 3);
299
+ for (const related of relatedCommands) {
300
+ doc += `- [ossa ${related}](./ossa-${related}.md)\n`;
301
+ }
302
+ doc += '\n';
303
+
304
+ // Related documentation
305
+ doc += '## Related Documentation\n\n';
306
+ doc += '- [API Reference](../api-reference/index.md)\n';
307
+ doc += '- [Schema Reference](../schema-reference/index.md)\n';
308
+ doc += '- [Getting Started](../getting-started/index.md)\n';
309
+
310
+ return doc;
311
+ }
312
+
313
+ function main() {
314
+ console.log('🚀 Generating CLI documentation...\n');
315
+
316
+ // Create output directory
317
+ mkdirSync(OUTPUT_DIR, { recursive: true });
318
+
319
+ console.log(`📁 Processing ${Object.keys(COMMANDS).length} CLI commands...\n`);
320
+
321
+ // Generate documentation for each command
322
+ for (const [name, cmd] of Object.entries(COMMANDS)) {
323
+ const docContent = generateCommandDoc(cmd);
324
+ const outputFile = join(OUTPUT_DIR, `ossa-${name}.md`);
325
+
326
+ writeFileSync(outputFile, docContent);
327
+ console.log(`✅ Generated: ossa-${name}.md`);
328
+ }
329
+
330
+ // Generate index
331
+ const indexContent = `# CLI Reference
332
+
333
+ The OSSA CLI provides commands for managing AI agents throughout their lifecycle.
334
+
335
+ ## Installation
336
+
337
+ \`\`\`bash
338
+ npm install -g @bluefly/openstandardagents
339
+ \`\`\`
340
+
341
+ ## Quick Start
342
+
343
+ \`\`\`bash
344
+ # Validate an agent manifest
345
+ ossa validate agent.ossa.yaml
346
+
347
+ # Generate a new agent
348
+ ossa generate worker --name "My Agent"
349
+
350
+ # Run an agent locally
351
+ ossa run agent.ossa.yaml
352
+ \`\`\`
353
+
354
+ ## Commands
355
+
356
+ ${Object.entries(COMMANDS).map(([name, cmd]) => {
357
+ return `### [ossa ${name}](./ossa-${name}.md)\n\n${cmd.description}\n`;
358
+ }).join('\n')}
359
+
360
+ ## Global Options
361
+
362
+ - \`--help\` - Show help for any command
363
+ - \`--version\` - Show OSSA CLI version
364
+ - \`--config <path>\` - Path to config file
365
+ - \`--verbose\` - Enable verbose logging
366
+ - \`--quiet\` - Suppress output
367
+
368
+ ## Configuration
369
+
370
+ The OSSA CLI can be configured via:
371
+
372
+ 1. **Config file**: \`.ossarc.json\` or \`.ossarc.yaml\`
373
+ 2. **Environment variables**: \`OSSA_*\`
374
+ 3. **Command-line flags**
375
+
376
+ Example \`.ossarc.json\`:
377
+
378
+ \`\`\`json
379
+ {
380
+ "registry": "https://registry.ossa.dev",
381
+ "defaultVersion": "0.2.5-RC",
382
+ "validation": {
383
+ "strict": true
384
+ }
385
+ }
386
+ \`\`\`
387
+
388
+ ## Environment Variables
389
+
390
+ - \`OSSA_REGISTRY\` - Agent registry URL
391
+ - \`OSSA_API_KEY\` - API authentication key
392
+ - \`OSSA_VERSION\` - Default OSSA version
393
+ - \`OSSA_DEBUG\` - Enable debug mode
394
+
395
+ ## Related Documentation
396
+
397
+ - [API Reference](../api-reference/index.md)
398
+ - [Schema Reference](../schema-reference/index.md)
399
+ - [Getting Started](../getting-started/index.md)
400
+ - [Guides](../guides/index.md)
401
+ `;
402
+
403
+ writeFileSync(join(OUTPUT_DIR, 'index.md'), indexContent);
404
+ console.log(`✅ Generated: index.md`);
405
+
406
+ console.log(`\n✨ CLI documentation generated successfully!`);
407
+ console.log(`📂 Output: ${OUTPUT_DIR}`);
408
+ }
409
+
410
+ main();
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env tsx
2
+ import { writeFileSync, mkdirSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/configuration/index.md');
6
+
7
+ const doc = `# Configuration Reference
8
+
9
+ Configure OSSA CLI and runtime behavior.
10
+
11
+ ## Configuration File
12
+
13
+ Create \`.ossarc.json\` or \`.ossarc.yaml\` in your project root:
14
+
15
+ \`\`\`json
16
+ {
17
+ "registry": "https://registry.ossa.dev",
18
+ "defaultVersion": "0.2.5-RC",
19
+ "validation": {
20
+ "strict": true,
21
+ "allowUnknownFields": false
22
+ },
23
+ "runtime": {
24
+ "timeout": 30000,
25
+ "retries": 3
26
+ }
27
+ }
28
+ \`\`\`
29
+
30
+ ## Configuration Options
31
+
32
+ ### registry
33
+ - **Type**: \`string\`
34
+ - **Default**: \`"https://registry.ossa.dev"\`
35
+ - **Description**: Agent registry URL
36
+
37
+ ### defaultVersion
38
+ - **Type**: \`string\`
39
+ - **Default**: \`"latest"\`
40
+ - **Description**: Default OSSA schema version
41
+
42
+ ### validation.strict
43
+ - **Type**: \`boolean\`
44
+ - **Default**: \`false\`
45
+ - **Description**: Enable strict validation mode
46
+
47
+ ### validation.allowUnknownFields
48
+ - **Type**: \`boolean\`
49
+ - **Default**: \`true\`
50
+ - **Description**: Allow unknown fields in manifests
51
+
52
+ ### runtime.timeout
53
+ - **Type**: \`number\`
54
+ - **Default**: \`30000\`
55
+ - **Description**: Execution timeout in milliseconds
56
+
57
+ ### runtime.retries
58
+ - **Type**: \`number\`
59
+ - **Default**: \`3\`
60
+ - **Description**: Number of retry attempts
61
+
62
+ ## Environment Variables
63
+
64
+ Override configuration with environment variables:
65
+
66
+ - \`OSSA_REGISTRY\` - Registry URL
67
+ - \`OSSA_VERSION\` - Default version
68
+ - \`OSSA_API_KEY\` - API authentication key
69
+ - \`OSSA_DEBUG\` - Enable debug logging
70
+
71
+ ## Examples
72
+
73
+ ### Development Configuration
74
+
75
+ \`\`\`json
76
+ {
77
+ "registry": "http://localhost:3000",
78
+ "validation": {
79
+ "strict": false
80
+ }
81
+ }
82
+ \`\`\`
83
+
84
+ ### Production Configuration
85
+
86
+ \`\`\`json
87
+ {
88
+ "registry": "https://registry.ossa.dev",
89
+ "validation": {
90
+ "strict": true,
91
+ "allowUnknownFields": false
92
+ },
93
+ "runtime": {
94
+ "timeout": 60000,
95
+ "retries": 5
96
+ }
97
+ }
98
+ \`\`\`
99
+
100
+ ## Related
101
+
102
+ - [CLI Reference](../cli-reference/)
103
+ - [Environment Setup](../getting-started/installation)
104
+ `;
105
+
106
+ mkdirSync(join(process.cwd(), 'website/content/docs/configuration'), { recursive: true });
107
+ writeFileSync(OUTPUT_FILE, doc);
108
+
109
+ console.log(`✅ Generated configuration reference`);
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env tsx
2
+ import { readdirSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const SRC_DIR = join(process.cwd(), 'src');
6
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/errors/index.md');
7
+
8
+ interface ErrorInfo {
9
+ code: string;
10
+ message: string;
11
+ file: string;
12
+ }
13
+
14
+ function findErrors(dir: string, errors: ErrorInfo[] = []): ErrorInfo[] {
15
+ const entries = readdirSync(dir, { withFileTypes: true });
16
+
17
+ for (const entry of entries) {
18
+ const fullPath = join(dir, entry.name);
19
+
20
+ if (entry.isDirectory()) {
21
+ findErrors(fullPath, errors);
22
+ } else if (entry.name.endsWith('.ts')) {
23
+ const content = readFileSync(fullPath, 'utf-8');
24
+
25
+ // Find throw new Error patterns
26
+ const matches = content.matchAll(/throw new (\w+Error)\(['"`]([^'"`]+)['"`]\)/g);
27
+ for (const match of matches) {
28
+ errors.push({
29
+ code: match[1],
30
+ message: match[2],
31
+ file: fullPath.replace(process.cwd(), '')
32
+ });
33
+ }
34
+ }
35
+ }
36
+
37
+ return errors;
38
+ }
39
+
40
+ const errors = findErrors(SRC_DIR);
41
+ const byCode = errors.reduce((acc, err) => {
42
+ if (!acc[err.code]) acc[err.code] = [];
43
+ acc[err.code].push(err);
44
+ return acc;
45
+ }, {} as Record<string, ErrorInfo[]>);
46
+
47
+ let doc = `# Error Reference
48
+
49
+ Common errors and solutions.
50
+
51
+ **Total Error Types**: ${Object.keys(byCode).length}
52
+
53
+ `;
54
+
55
+ for (const [code, instances] of Object.entries(byCode).sort()) {
56
+ doc += `## ${code}\n\n`;
57
+
58
+ const uniqueMessages = [...new Set(instances.map(e => e.message))];
59
+ for (const msg of uniqueMessages) {
60
+ doc += `### "${msg}"\n\n`;
61
+ doc += `**Cause**: Check the error context for details\n\n`;
62
+ doc += `**Solution**: \n`;
63
+ doc += `\`\`\`bash\n# Enable debug mode\nDEBUG=* ossa <command>\n\`\`\`\n\n`;
64
+ }
65
+ }
66
+
67
+ doc += `## Getting Help
68
+
69
+ - Check [Troubleshooting Guide](../troubleshooting/)
70
+ - Open an issue on [GitLab](https://gitlab.com/blueflyio/openstandardagents/-/issues)
71
+ `;
72
+
73
+ mkdirSync(join(process.cwd(), 'website/content/docs/errors'), { recursive: true });
74
+ writeFileSync(OUTPUT_FILE, doc);
75
+
76
+ console.log(`✅ Generated error reference: ${Object.keys(byCode).length} error types`);
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Generate examples documentation from YAML files
4
+ */
5
+
6
+ import { readdirSync, readFileSync, writeFileSync, statSync, mkdirSync } from 'fs';
7
+ import { join, relative, basename } from 'path';
8
+ import yaml from 'js-yaml';
9
+
10
+ const EXAMPLES_DIR = join(process.cwd(), 'examples');
11
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/examples/catalog.md');
12
+
13
+ interface Example {
14
+ path: string;
15
+ name: string;
16
+ role?: string;
17
+ description?: string;
18
+ category: string;
19
+ }
20
+
21
+ function findYamlFiles(dir: string, category: string = ''): Example[] {
22
+ const examples: Example[] = [];
23
+ const entries = readdirSync(dir);
24
+
25
+ for (const entry of entries) {
26
+ const fullPath = join(dir, entry);
27
+ const stat = statSync(fullPath);
28
+
29
+ if (stat.isDirectory()) {
30
+ examples.push(...findYamlFiles(fullPath, category || entry));
31
+ } else if (entry.match(/\.(yaml|yml)$/)) {
32
+ try {
33
+ const content = readFileSync(fullPath, 'utf-8');
34
+ const data = yaml.load(content) as any;
35
+
36
+ if (data?.agent) {
37
+ examples.push({
38
+ path: relative(EXAMPLES_DIR, fullPath),
39
+ name: data.agent.name || basename(entry, '.yaml'),
40
+ role: data.agent.role,
41
+ description: data.agent.description,
42
+ category: category || 'general'
43
+ });
44
+ }
45
+ } catch (error) {
46
+ // Skip invalid YAML
47
+ }
48
+ }
49
+ }
50
+
51
+ return examples;
52
+ }
53
+
54
+ function generateDocs(examples: Example[]): string {
55
+ const byCategory = examples.reduce((acc, ex) => {
56
+ if (!acc[ex.category]) acc[ex.category] = [];
57
+ acc[ex.category].push(ex);
58
+ return acc;
59
+ }, {} as Record<string, Example[]>);
60
+
61
+ let doc = `# Examples Catalog
62
+
63
+ Auto-generated catalog of all OSSA agent examples.
64
+
65
+ **Total Examples**: ${examples.length}
66
+
67
+ `;
68
+
69
+ for (const [category, items] of Object.entries(byCategory).sort()) {
70
+ doc += `## ${category.charAt(0).toUpperCase() + category.slice(1)}\n\n`;
71
+
72
+ for (const item of items.sort((a, b) => a.name.localeCompare(b.name))) {
73
+ doc += `### ${item.name}\n\n`;
74
+ if (item.role) doc += `**Role**: \`${item.role}\`\n\n`;
75
+ if (item.description) doc += `${item.description}\n\n`;
76
+ doc += `**File**: [\`${item.path}\`](https://github.com/blueflyio/openstandardagents/blob/main/examples/${item.path})\n\n`;
77
+ doc += `\`\`\`bash\nossa validate examples/${item.path}\n\`\`\`\n\n`;
78
+ }
79
+ }
80
+
81
+ doc += `## Usage\n\n`;
82
+ doc += `\`\`\`bash\n# Validate any example\nossa validate examples/<path>\n\n`;
83
+ doc += `# Run an example\nossa run examples/<path>\n\`\`\`\n`;
84
+
85
+ return doc;
86
+ }
87
+
88
+ console.log('🚀 Generating examples documentation...\n');
89
+
90
+ const examples = findYamlFiles(EXAMPLES_DIR);
91
+ console.log(`📁 Found ${examples.length} examples\n`);
92
+
93
+ const doc = generateDocs(examples);
94
+
95
+ mkdirSync(join(process.cwd(), 'website/content/docs/examples'), { recursive: true });
96
+ writeFileSync(OUTPUT_FILE, doc);
97
+
98
+ console.log(`✅ Generated: ${relative(process.cwd(), OUTPUT_FILE)}`);
99
+ console.log(`\n✨ Examples documentation generated successfully!`);