@bluefly/openstandardagents 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.version.json +2 -2
  4. package/.wiki-config.json +24 -0
  5. package/CHANGELOG.md +11 -18
  6. package/CODEOWNERS +75 -0
  7. package/CONTRIBUTING.md +1 -1
  8. package/README.md +171 -243
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/repositories/schema.repository.d.ts +6 -1
  14. package/dist/repositories/schema.repository.d.ts.map +1 -1
  15. package/dist/repositories/schema.repository.js +49 -27
  16. package/dist/repositories/schema.repository.js.map +1 -1
  17. package/dist/services/migration.service.d.ts +4 -3
  18. package/dist/services/migration.service.d.ts.map +1 -1
  19. package/dist/services/migration.service.js +11 -10
  20. package/dist/services/migration.service.js.map +1 -1
  21. package/dist/services/release-automation/release.service.js +1 -1
  22. package/dist/services/release-automation/release.service.js.map +1 -1
  23. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  24. package/dist/services/runtime/claude/claude-adapter.js +1 -1
  25. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  26. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  27. package/dist/spec/v0.2.8/README.md +72 -0
  28. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  29. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  30. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  31. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  32. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  33. package/dist/types/index.d.ts +3 -2
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/utils/index.d.ts +6 -0
  36. package/dist/utils/index.d.ts.map +1 -0
  37. package/dist/utils/index.js +6 -0
  38. package/dist/utils/index.js.map +1 -0
  39. package/dist/utils/version.d.ts +68 -0
  40. package/dist/utils/version.d.ts.map +1 -0
  41. package/dist/utils/version.js +156 -0
  42. package/dist/utils/version.js.map +1 -0
  43. package/eslint-report.json +1 -0
  44. package/examples/adk-integration/code-review-workflow.yml +1 -1
  45. package/examples/adk-integration/customer-support.yml +1 -1
  46. package/examples/adk-integration/data-pipeline.yml +1 -1
  47. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  48. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  49. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  50. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  51. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  52. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  53. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  54. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  55. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  56. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  57. package/examples/autogen/multi-agent.ossa.json +1 -1
  58. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  59. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  60. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  61. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  62. package/examples/crewai/research-team.ossa.json +1 -1
  63. package/examples/cursor/code-review-agent.ossa.json +1 -1
  64. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  65. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  66. package/examples/extensions/drupal-v1.yml +1 -1
  67. package/examples/extensions/kagent-v1.yml +1 -1
  68. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  69. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  70. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  71. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  72. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  73. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  74. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  75. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  76. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  77. package/examples/langchain/chain-agent.ossa.json +1 -1
  78. package/examples/langflow/workflow-agent.ossa.json +1 -1
  79. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  80. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  81. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  82. package/examples/multi-agent/README.md +74 -0
  83. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  84. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  85. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  86. package/examples/openai/basic-agent.ossa.yaml +1 -1
  87. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  88. package/examples/openai/swarm-agent.ossa.json +1 -1
  89. package/examples/production/document-analyzer-openai.yml +1 -1
  90. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  91. package/examples/spec-examples/audit-agent.yml +1 -1
  92. package/examples/spec-examples/chat-agent.yml +1 -1
  93. package/examples/spec-examples/compliance-agent.yml +1 -1
  94. package/examples/spec-examples/monitoring-agent.yml +1 -1
  95. package/examples/spec-examples/workflow-agent.yml +1 -1
  96. package/examples/templates/ossa-compliance.yaml +1 -1
  97. package/examples/vercel/edge-agent.ossa.json +1 -1
  98. package/gl-code-quality-report.json +62 -0
  99. package/llms-ctx-full.txt +39 -0
  100. package/llms-ctx.txt +39 -0
  101. package/llms.txt +47 -0
  102. package/package.json +3 -2
  103. package/scripts/eslint-to-codequality.cjs +34 -0
  104. package/scripts/generate-llms-ctx.sh +17 -0
  105. package/scripts/generate-schema-docs.ts +31 -10
  106. package/scripts/sync-version.js +4 -12
  107. package/scripts/validate-schema.ts +2 -1
  108. package/spec/v0.2.8/CHANGELOG.md +401 -0
  109. package/spec/v0.2.8/README.md +72 -0
  110. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  111. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  112. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  113. package/{dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json → spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  114. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  115. package/test-results/junit.xml +299 -0
  116. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  117. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  118. package/scripts/lib/exec.ts +0 -37
  119. package/scripts/lib/file-ops.ts +0 -58
  120. package/scripts/lib/version.ts +0 -83
  121. package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  122. package/website/.lighthouserc.ts +0 -24
  123. package/website/.prettierrc +0 -10
  124. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  125. package/website/Dockerfile +0 -30
  126. package/website/app/about/page.tsx +0 -304
  127. package/website/app/blog/[slug]/page.tsx +0 -208
  128. package/website/app/blog/page.tsx +0 -249
  129. package/website/app/design-guide/page.tsx +0 -511
  130. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  131. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  132. package/website/app/ecosystem/page.tsx +0 -410
  133. package/website/app/examples/page.tsx +0 -133
  134. package/website/app/globals.scss +0 -370
  135. package/website/app/layout.tsx +0 -106
  136. package/website/app/license/page.tsx +0 -183
  137. package/website/app/not-found.tsx +0 -18
  138. package/website/app/page.tsx +0 -686
  139. package/website/app/page.tsx.bak +0 -679
  140. package/website/app/page.tsx.bak2 +0 -649
  141. package/website/app/playground/page.tsx +0 -487
  142. package/website/app/robots.ts +0 -19
  143. package/website/app/rss.xml/route.ts +0 -74
  144. package/website/app/schema/page.tsx +0 -1001
  145. package/website/app/sitemap.ts +0 -56
  146. package/website/app/specification/page.tsx +0 -287
  147. package/website/components/InstallCommand.tsx +0 -96
  148. package/website/components/Logo.tsx +0 -97
  149. package/website/components/StructuredData.tsx +0 -65
  150. package/website/components/docs/DocsSearch.tsx +0 -104
  151. package/website/components/docs/DocsSidebar.tsx +0 -155
  152. package/website/components/docs/MarkdownContent.tsx +0 -401
  153. package/website/components/docs/VersionSelector.tsx +0 -105
  154. package/website/components/examples/ExamplesViewer.tsx +0 -293
  155. package/website/components/layout/Footer.tsx +0 -116
  156. package/website/components/layout/Header.tsx +0 -172
  157. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  158. package/website/components/schema/SchemaExplorer.tsx +0 -213
  159. package/website/components/ui/Badge.tsx +0 -82
  160. package/website/components/ui/Button.tsx +0 -116
  161. package/website/components/ui/Card.tsx +0 -167
  162. package/website/components/ui/Checkbox.tsx +0 -141
  163. package/website/components/ui/Input.tsx +0 -169
  164. package/website/components/ui/Radio.tsx +0 -141
  165. package/website/components/ui/Select.tsx +0 -182
  166. package/website/components/ui/Tag.tsx +0 -158
  167. package/website/components/ui/Textarea.tsx +0 -195
  168. package/website/components/ui/index.ts +0 -11
  169. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  170. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  171. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  172. package/website/content/blog/introducing-ossa-framework.md +0 -328
  173. package/website/content/blog/ossa-production-results.md +0 -279
  174. package/website/content/blog/welcome-to-ossa.md +0 -43
  175. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  176. package/website/content/docs/00-home.md +0 -153
  177. package/website/content/docs/adapters/openai-adapter.md +0 -693
  178. package/website/content/docs/agents/catalog.md +0 -28
  179. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  180. package/website/content/docs/api-reference/index.md +0 -38
  181. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  182. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  183. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  184. package/website/content/docs/architecture/execution-flow.md +0 -335
  185. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  186. package/website/content/docs/architecture/overview.md +0 -121
  187. package/website/content/docs/architecture/stack-integration.md +0 -461
  188. package/website/content/docs/changelog.md +0 -246
  189. package/website/content/docs/cli-reference/index.md +0 -111
  190. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  191. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  192. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  193. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  194. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  195. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  196. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  197. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  198. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  199. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  200. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  201. package/website/content/docs/configuration/index.md +0 -97
  202. package/website/content/docs/contributing.md +0 -599
  203. package/website/content/docs/deployment/github-mirroring.md +0 -924
  204. package/website/content/docs/documentation.md +0 -100
  205. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  206. package/website/content/docs/ecosystem/overview.md +0 -366
  207. package/website/content/docs/errors/index.md +0 -10
  208. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  209. package/website/content/docs/examples/catalog.md +0 -300
  210. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  211. package/website/content/docs/getting-started/index.md +0 -92
  212. package/website/content/docs/getting-started/installation.md +0 -155
  213. package/website/content/docs/getting-started/running-agents.md +0 -309
  214. package/website/content/docs/getting-started.md +0 -91
  215. package/website/content/docs/integrations/aiflow.md +0 -104
  216. package/website/content/docs/integrations/drupal.md +0 -105
  217. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  218. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  219. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  220. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  221. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  222. package/website/content/docs/migration-guides/index.md +0 -133
  223. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  224. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  225. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  226. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  227. package/website/content/docs/openapi-extensions/examples.md +0 -550
  228. package/website/content/docs/openapi-extensions/index.md +0 -551
  229. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  230. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  231. package/website/content/docs/ossa-compliant-badge.md +0 -251
  232. package/website/content/docs/pre-release/index.md +0 -175
  233. package/website/content/docs/quick-reference.md +0 -17
  234. package/website/content/docs/readme.md +0 -35
  235. package/website/content/docs/releases/v0.2.6.md +0 -99
  236. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  237. package/website/content/docs/schema-reference/agent-id.md +0 -52
  238. package/website/content/docs/schema-reference/agent-name.md +0 -50
  239. package/website/content/docs/schema-reference/agent-role.md +0 -54
  240. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  241. package/website/content/docs/schema-reference/agent-version.md +0 -50
  242. package/website/content/docs/schema-reference/autonomy.md +0 -568
  243. package/website/content/docs/schema-reference/constraints.md +0 -543
  244. package/website/content/docs/schema-reference/index.md +0 -45
  245. package/website/content/docs/schema-reference/llm-config.md +0 -445
  246. package/website/content/docs/schema-reference/observability.md +0 -654
  247. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  248. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  249. package/website/content/docs/schema-reference/tools.md +0 -628
  250. package/website/content/docs/templates/blog-post.md +0 -43
  251. package/website/content/docs/types-reference/index.md +0 -105
  252. package/website/content/docs/use-cases/00-index.md +0 -395
  253. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  254. package/website/content/docs/use-cases/customer-support.md +0 -1234
  255. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  256. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  257. package/website/content/docs/versioning.md +0 -288
  258. package/website/dev.sh +0 -53
  259. package/website/docker-compose.dev.yml +0 -36
  260. package/website/lib/version.ts +0 -35
  261. package/website/lib/versions.json +0 -103
  262. package/website/next.config.ts +0 -18
  263. package/website/nginx.conf +0 -32
  264. package/website/package-lock.json +0 -9679
  265. package/website/package.json +0 -59
  266. package/website/postcss.config.mjs +0 -9
  267. package/website/scripts/fetch-versions.js +0 -166
  268. package/website/scripts/generate-examples-index.js +0 -163
  269. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  270. package/website/scripts/sync-version.js +0 -72
  271. package/website/scripts/sync-wiki.ts +0 -322
  272. package/website/scripts/upload-wiki.ts +0 -199
  273. package/website/styles/_spacing.scss +0 -453
  274. package/website/styles/_tokens.scss +0 -245
  275. package/website/styles/_typography.scss +0 -361
  276. package/website/styles/_variables.scss +0 -287
  277. package/website/tailwind.config.ts +0 -170
@@ -0,0 +1,39 @@
1
+ <project title="Open Standard for Scalable Agents (OSSA)" summary="OSSA is a vendor-neutral, open specification for defining, deploying, and orchestrating AI agents across platforms. It provides a standardized schema for agent capabilities, triggers, outputs, and lifecycle management integrated with GitLab Ultimate and Duo Platform.">Key features:
2
+ - Vendor-neutral agent definitions using YAML schemas
3
+ - GitLab Duo Platform integration with 12 specialized agents
4
+ - Kubernetes-native deployment with GitOps
5
+ - Multi-agent orchestration with meta-orchestrator
6
+ - Self-healing automation across 8 healing agents
7
+ - AgentFlow lifecycle with custom fields
8
+ - Semantic versioning and milestone-driven releases<core specification><doc title="OSSA Schema v0.2.8" desc="Complete agent definition schema with capabilities, triggers, and outputs"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="AgentFlow Lifecycle" desc="9-state workflow (Triage → To Do → In Progress → Done/Canceled)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Custom Fields" desc="8 fields for agent coordination (agent_assigned, agent_status, commit_type, priority, release_type)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Bot Waves" desc="5-wave orchestration model for parallel agent execution"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></core specification><agents><doc title="12 OSSA Agents Registry" desc="Canonical list (wiki-aggregator, ts-prod, ts-local, ossa-local, native-local, ml-prod, ml-local, infra-prod, gitlab-lib-ci, gitlab-lib-local, drupal-prod, drupal-local)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Meta-Orchestrator" desc="Agent that manages all other agents with routing logic and wave coordination"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Wiki Healer" desc="Autonomous documentation agent with continuous wiki sync"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Security Healer" desc="Vulnerability scanning with SAST, DAST, dependency, secret, and container scanning"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Test Generator" desc="Coverage-driven test generation with property-based testing"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></agents><integration><doc title="GitLab Duo Platform" desc="Complete integration with Issue-to-MR flow, Software Development flow, and Security Analyst"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="AutoDevOps" desc="Auto Build, Test, Deploy, Security scanning, Review Apps, and Release Evidence"><!doctype html><html lang=en-us dir=ltr><head><script src=https://cdn.cookielaw.org/consent/7f944245-c5cd-4eed-a90e-dd955adfdd08/OtAutoBlock.js></script><script src=https://cdn.cookielaw.org/scripttemplates/otSDKStub.js data-domain-script=7f944245-c5cd-4eed-a90e-dd955adfdd08></script><script type=text/javascript>function OptanonWrapper(){}</script><script>const callback=(e)=>{for(const t of e)t.type==="childList"&&t.addedNodes.forEach(e=>{e.nodeName==="IMG"&&document.querySelectorAll('img:not([src^="http"]):not([data-ot-ignore])').forEach(e=>{e.setAttribute("data-ot-ignore","")})})},config={attributes:!0,childList:!0,subtree:!0,attributeFilter:["src"]},observer=new MutationObserver(callback);observer.observe(document.documentElement,config)</script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","GTM-NJXWQL"),gtag("consent","default",{analytics_storage:"granted",ad_storage:"granted",functionality_storage:"granted",wait_for_update:500}),gtag("consent","default",{analytics_storage:"denied",ad_storage:"denied",functionality_storage:"denied",region:["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","PE","RU"],wait_for_update:500}),window.geofeed=e=>{dataLayer.push({event:"OneTrustCountryLoad",oneTrustCountryId:e.country.toString()})};const json=document.createElement("script");json.setAttribute("src","https://geolocation.onetrust.com/cookieconsentpub/v1/geo/location/geofeed"),document.head.appendChild(json)</script><meta charset=utf-8><meta name=viewport content="width=device-width"><title>Auto DevOps | GitLab Docs</title><link rel=icon href=/favicon.ico sizes=any><link rel=icon href=/favicon.svg type=image/svg+xml><link rel=apple-touch-icon href=/apple-touch-icon.png><link rel=manifest href=/manifests/manifest.webmanifest><meta name=theme-color content="#FC6D26"><link rel=canonical href=https://docs.gitlab.com/topics/autodevops/><link rel=alternate hreflang=en-us href=https://docs.gitlab.com/topics/autodevops/><link rel=alternate hreflang=x-default href=https://docs.gitlab.com/topics/autodevops/><meta name=description content="Automated DevOps, language detection, deployment, and customization."><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebSite","name":"GitLab Docs","url":"https://docs.gitlab.com/"}</script><link rel=preload href=/gitlab_ui/fonts/GitLabSans.woff2 type=font/woff2 as=font crossorigin><link rel=prefetch href=/gitlab_ui/fonts/GitLabSans-Italic.woff2 crossorigin><link rel=prefetch href=/gitlab_ui/fonts/GitLabMono.woff2 crossorigin><link rel=stylesheet href=/gitlab_ui/ui/index.css><link rel=stylesheet href=/vite/main.css><link rel=stylesheet href=/css/syntax-dark.min.css id=syntax-dark-theme><link rel=stylesheet href=/css/syntax-light.min.css id=syntax-light-theme><script>(function(){const p="gitlab-docs-theme",g="gitlab-docs-layout",e={LIGHT:"light",DARK:"dark",AUTO:"auto"},i={FIXED:"fixed",FLUID:"fluid"},d="light",f="fixed";let r=!1;const t=localStorage?.getItem(p),m=localStorage?.getItem(g),l=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?e.DARK:e.LIGHT;function h(){return t&&(t===e.LIGHT||t===e.DARK)?t:(t===e.AUTO&&(r=!0),l||d)}function u(){return m===i.FLUID?i.FLUID:f}const s=h(),c=u(),n=document.documentElement;n.classList.remove("gl-dark","gl-light"),n.classList.add(s===e.DARK?"gl-dark":"gl-light"),c===i.FLUID&&(n.classList.add("fluid"),n.classList.remove("fixed"));const a=document.getElementById("syntax-dark-theme"),o=document.getElementById("syntax-light-theme");a&&o&&(s===e.DARK?(a.disabled=!1,o.disabled=!0):(a.disabled=!0,o.disabled=!1)),window.__initialTheme=r?e.AUTO:s,window.__initialLayout=c})()</script><meta name=gitlab_docs_base_url content="/"><meta name=gitlab_docs_page_owner data-stage=Verify data-group="Runner Core"><meta class=elastic name=gitlab_docs_version content="18.7"><meta class=elastic name=gitlab_docs_section content="use_gitlab"><meta class=elastic name=gitlab_docs_breadcrumbs content="Use GitLab › Use CI/CD to build your application"><script>window.pageMetadata={trail:[{path:"user/",title:"Use GitLab"},{path:"topics/build_your_application/",title:"Use CI/CD to build your application"},{path:"topics/autodevops/",title:"Auto DevOps"}]}</script><meta name=gitlab_docs_legacy_path content="/ee/topics/autodevops/index.html"><meta name=gitlab_docs_hugo_launch_version content="17.9"><script>const ELASTIC_CLOUD_ID="gitlab-docs-website:dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvJDQwZTQyYTQzMTJiZjQyMzNiMzBiZTg0MTU5YjlkNmE1JGMxODg4Y2U5OTY0YzQzZjc5ZjQ1YTk5NDZmMjI0ODg0",ELASTIC_KEY="cDFpLWJaSUJXVHBqWWI4VGZKN3M6eENBSjl4WDRSRnlCUW94ajRQazhLQQ==",ELASTIC_INDEX="search-gitlab-docs-hugo"</script><script type=module src=/vite/elastic_search.js></script><script type=module src=/vite/history.js></script><script>const FS_IDENTIFIER="AIzaSyCLdi3jHHjkmLji9D8uj_RNPMHcdrYoIW4",RECAPTCHA_PUBLIC_KEY="6Le4R3UrAAAAALsIlK_siq0_UhPD-0rD-ImF1gfO"</script><meta name=google-site-verification content="AcGSBNaKDWnLgcYotlVibGy6STm2Y6_KJSaRxrA90xY"><meta name=google-site-verification content="6eFQOFLxYAer08ROqc3I-SAi44F9NmvH7PrUUBR3oCI"><meta name=google-site-verification content="xAUTWp3CDg-tU1LVVwsM9OrVhLR7L3SmiyKzkOuPNos"><meta name=google-site-verification content="F0zzwaMpiyWFcPQ1Lqu18qN3EnuQsqFXbySl_29yvHs"><meta name=google-site-verification content="nwo1bVaU0t9TZxZyM-aOI6-CofaH9GRL-uBPbdREWgc"><meta name=google-site-verification content="rWoHrtHEmIX0t28oOb1ZEDMYZb_EZA6rr6ZOl5otEPI"><meta name=google-site-verification content="fSxr8-uslxcuFL0N-oECp3Tm0RPNEGX97wbdayKOEL8"><meta name=google-site-verification content="ISxyLVnZqU8oY3jwrK7EO9o-2DOTvLJwPse7bZz6yhs"><meta name=google-site-verification content="x1WspIvz3ZHqS0gezfX_P-qiRDOeP2Oyrd68zrU2ErI"><meta name=google-site-verification content="DfXB2Za52GT3zs_vuLIAL4Mi3M3K4qxXcg7MAs0CUqo"><meta name=google-site-verification content="BCEBC2LC7A1NzO9Com1oBrWK88tV_QXfUL0i9mwXPL0"><meta name=google-site-verification content="a2lNcHMorfS43aoISjZt5_BBPo-H1UaTKMQdBgZO9iY"><meta name=google-site-verification content="0s16pP9MelY6wDHRf-izXb5pwLU01IogP-Uc_e8f3GU"><meta name=google-site-verification content="H474RNof35Xp8fLg02fZbg9Dzxdtfch6vtcjzpmUraU"><meta name=google-site-verification content="E0FlhpgBGeE7d1pQ6amdcIWPMDLDeu15-HLQVoDTguE"><meta name=google-site-verification content="opQd7_rXtPy-pX5CO_XZiztzeQEsXnB3j6Y1_dZAizA"><meta name=google-site-verification content="06Kq4AoXdmBOjOAkbPvnYGtSxnn4Q9QBqEO55PLlw5c"><meta name=google-site-verification content="djBBokRFSWV_VRlSE51V5TZSPzMC6hml5l-Sb22WglE"><meta name=google-site-verification content="UOW6nOsvbyMeIySuamzbws4kNC_WqehamWfoxxtKjZ8"><meta name=google-site-verification content="hXU1Gsdba74DUbvbdUHRl9o0cQeiwXIhAdIllOG6p8E"><meta name=google-site-verification content="YFeHIAPk9lE76ubVMeq4P0sQVnzo2-a4k1oU_bPY8yE"><meta name=google-site-verification content="h8ICI4eDkvXmYaGDuLTLoWuXnLn-KUkChqYB-roMRsw"><meta name=google-site-verification content="9QW7feFNlCpMLPm7vAWEU-v14vdzb0Bb3RAk-8e_a18"><meta name=google-site-verification content="26kXLBOjaYRb2UwzWTDl1I1nzA2NxMunhp7SUtxGV6E"><meta name=google-site-verification content="jr3C8t6vKGPyN9GV3esdHY_xGYyQaUNznIl-Un2RObA"><meta name=google-site-verification content="WdlBpRU0ec1ieKqrTY_772OhG23FY45VQ4Lv9DyLJ_Y"><meta name=google-site-verification content="n9i6B9q4Xjr_etK2nQGZH1msoo7vIv9SXV8SQLOUA7c"><meta name=zd-site-verification content="ony3w7hk1vs6tfyrc51mld"><meta name=zd-site-verification content="gtuq65qdzt6n31viazi6hj"></head><body data-elastic-exclude><nav data-ga-section=header data-elastic-exclude><div class="header-wrapper gl-w-full gl-fixed gl-z-4"><div class=header><div class="header-top gl-flex gl-items-center"><a href=#skipTarget class="gl-sr-only skip-link">Skip to main content</a>
9
+ <a class=navbar-logo href=/><span class=gl-sr-only>Go to GitLab Docs homepage</span></a><div class="mobile-header gl-w-full gl-text-base"><div class=mobile-header-overlay></div><div class="header-right collapse gl-z-4 gl-border-t lg:gl-border-0"><div class="search-wrapper lg:gl-ml-4 lg:gl-grow"><div class="js-elastic-search-form gl-spinner-container"><span role=status aria-label=Loading class="gl-ml-3 gl-align-text-bottom! gl-spinner gl-spinner gl-spinner-sm"></span></div></div><div class="gl-flex gl-flex-col gl-gap-3 gl-mt-5 lg:gl-mt-0 lg:gl-flex-row lg:gl-items-center gl-ml-auto"><a class="whats-new gl-button btn-default btn-default-tertiary gl-hidden lg:gl-block" href=https://about.gitlab.com/releases/categories/releases/ target=_blank rel="noopener noreferrer">What's new?</a><div data-vue-app=versions-menu></div><div data-vue-app=appearance-toggle></div><div class="gl-flex gl-justify-evenly lg:gl-justify-normal gl-items-center gl-gap-5"><a class="whats-new gl-button btn-default btn-default-tertiary gl-w-full lg:gl-hidden hover:gl-no-underline" href=https://about.gitlab.com/releases/categories/releases/ target=_blank rel="noopener noreferrer">What's new?</a>
10
+ <a class="free-trial-btn cta-button gl-button btn-confirm gl-w-full hover:gl-no-underline" href="https://gitlab.com/-/trial_registrations/new?glm_source=docs.gitlab.com&amp;amp;glm_content=navigation-cta-docs" target=_blank rel="noopener noreferrer" role=button>Get free trial</a></div></div></div></div><button class="navbar-toggle gl-button btn-default lg:gl-hidden" data-toggle=collapse data-target=.header-right>
11
+ <span class=navbar-toggle-icon></span>
12
+ <span class=gl-sr-only>Toggle menu</span></button></div><div class="header-bottom gl-border-t lg:gl-border-b"><ul class="subheader-menu gl-hidden lg:gl-flex gl-list-none gl-text-base gl-space-x-5 gl-py-4 gl-pl-0 gl-mb-0"><li><a href=/user/ class=active>Use GitLab</a></li><li><a href=/user/gitlab_duo/>GitLab Duo</a></li><li><a href=/api/>Extend</a></li><li><a href=/install/>Install</a></li><li><a href=/administration/>Administer</a></li><li><a href=/subscriptions/>Subscribe</a></li><li><a href=/development/>Contribute</a></li><li><a href=/solutions/>Solutions</a></li></ul></div></div></div></nav><main data-ga-section=content-body><div data-vue-app=version-banner class="vue-loading gl-sticky gl-z-2 archive-banner"></div><div class="template-single gl-flex gl-h-full"><div data-vue-app=sidebar-menu data-ga-section=side-nav class=sidebar-container></div><div data-pagefind-body class=main-content><div class=docs-content><div class="gl-flex gl-h-5 gl-items-center gl-my-6"><div data-vue-app=open-sidebar></div><div data-vue-app=breadcrumb-nav></div></div><hr class="gl-border-t gl-px-5 lg:gl-hidden"><div class="gl-pt-4 gl-mt-4 lg:gl-pt-0 lg:gl-mt-0 lg:gl-border-t-0"><h1 id=skipTarget class=gl-mb-6>Auto DevOps</h1></div><div data-elastic-include><div class="availability gl-pl-4 gl-mb-5"><ul class="gl-list-none gl-p-0 gl-m-0"><li><span class=gl-font-bold>Tier</span>: Free, Premium, Ultimate</li><li><span class=gl-font-bold>Offering</span>: GitLab.com, GitLab Self-Managed, GitLab Dedicated</li></ul></div><p>Auto DevOps turns your code into production-ready applications without the usual configuration overhead.
13
+ The entire DevOps lifecycle is pre-configured using industry best practices. Start with the defaults
14
+ to ship quickly, then customize when you need more control. No complex configuration files or deep
15
+ DevOps expertise is required.</p><p>With Auto DevOps you get:</p><ul><li>CI/CD pipelines that automatically detect your language and framework</li><li>Built-in security scanning to find vulnerabilities before they reach production</li><li>Code quality and performance testing on every commit</li><li>Ready-to-use review apps for previewing changes in a live environment</li><li>Quick deployments to Kubernetes clusters</li><li>Progressive deployment strategies that reduce risk and downtime</li></ul><p><i class="fa fa-youtube-play youtube" aria-hidden=true></i>
16
+ For an introduction to Auto DevOps, watch <a href=https://youtu.be/0Tc0YYBxqi4>Auto DevOps</a>.</p><h2 id=auto-devops-features>Auto DevOps features</h2><p>Auto DevOps supports development during each of the <a href=/topics/autodevops/stages/>DevOps stages</a>.</p><table><thead><tr><th>Stage</th><th>Auto DevOps feature</th></tr></thead><tbody><tr><td>Build</td><td><a href=/topics/autodevops/stages/#auto-build>Auto Build</a></td></tr><tr><td>Build</td><td><a href=/topics/autodevops/stages/#auto-dependency-scanning>Auto Dependency Scanning</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-test>Auto Test</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-browser-performance-testing>Auto Browser Performance Testing</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-code-intelligence>Auto Code Intelligence</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-code-quality>Auto Code Quality</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-container-scanning>Auto container scanning</a></td></tr><tr><td>Deploy</td><td><a href=/topics/autodevops/stages/#auto-review-apps>Auto Review Apps</a></td></tr><tr><td>Deploy</td><td><a href=/topics/autodevops/stages/#auto-deploy>Auto Deploy</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-dast>Auto Dynamic Application Security Testing (DAST)</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-sast>Auto static application security testing (SAST)</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-secret-detection>Auto Secret Detection</a></td></tr></tbody></table><h3 id=comparison-to-application-platforms-and-paas>Comparison to application platforms and PaaS</h3><p>Auto DevOps provides features often included in an application
17
+ platform or in a Platform as a Service (PaaS).</p><p>Inspired by <a href=https://www.heroku.com/>Heroku</a>, Auto DevOps goes beyond it
18
+ in multiple ways:</p><ul><li>Auto DevOps works with any Kubernetes cluster.</li><li>There is no additional cost.</li><li>You can use a cluster hosted by yourself or on any public cloud.</li><li>Auto DevOps offers an incremental graduation path. If you need to <a href=/topics/autodevops/customize/>customize</a>, start by changing the templates and evolve from there.</li></ul><h2 id=get-started-with-auto-devops>Get started with Auto DevOps</h2><p>To get started, you only need to <a href=/topics/autodevops/#enable-or-disable-auto-devops>enable Auto DevOps</a>.
19
+ This is enough to run an Auto DevOps pipeline to build and
20
+ test your application.</p><p>If you want to build, test, and deploy your app:</p><ol><li>View the <a href=/topics/autodevops/requirements/>requirements for deployment</a>.</li><li><a href=/topics/autodevops/#enable-or-disable-auto-devops>Enable Auto DevOps</a>.</li><li><a href=/topics/autodevops/#deploy-your-app-to-a-cloud-provider>Deploy your app to a cloud provider</a>.</li></ol><h3 id=enable-or-disable-auto-devops>Enable or disable Auto DevOps</h3><p>Auto DevOps runs pipelines automatically only if a <a href=/topics/autodevops/stages/#auto-build><code>Dockerfile</code> or matching buildpack</a> exists.</p><p>You can enable or disable Auto DevOps for a project or an entire group. Instance administrators
21
+ can also <a href=/administration/settings/continuous_integration/#configure-auto-devops-for-all-projects>set Auto DevOps as the default</a>
22
+ for all projects in an instance.</p><p>Before enabling Auto DevOps, consider <a href=/topics/autodevops/requirements/>preparing it for deployment</a>.
23
+ If you don&rsquo;t, Auto DevOps can build and test your app, but cannot deploy it.</p><h4 id=per-project>Per project</h4><p>To use Auto DevOps for individual projects, you can enable it in a
24
+ project-by-project basis. If you intend to use it for more projects,
25
+ you can enable it for a <a href=/topics/autodevops/#per-group>group</a> or an
26
+ <a href=/administration/settings/continuous_integration/#configure-auto-devops-for-all-projects>instance</a>.
27
+ This can save you the time of enabling it in each project.</p><p>Prerequisites:</p><ul><li>You must have at least the Maintainer role for the project.</li><li>Ensure your project does not have a <code>.gitlab-ci.yml</code> present. If present, your CI/CD configuration takes
28
+ precedence over the Auto DevOps pipeline.</li></ul><p>To enable Auto DevOps for a project:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your project. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Select <strong>Settings</strong> > <strong>CI/CD</strong>.</li><li>Expand <strong>Auto DevOps</strong>.</li><li>Select the <strong>Default to Auto DevOps pipeline</strong> checkbox.</li><li>Optional but recommended. Add the <a href=/topics/autodevops/requirements/#auto-devops-base-domain>base domain</a>.</li><li>Optional but recommended. Choose the <a href=/topics/autodevops/requirements/#auto-devops-deployment-strategy>deployment strategy</a>.</li><li>Select <strong>Save changes</strong>.</li></ol><p>GitLab triggers the Auto DevOps pipeline on the default branch.</p><p>To disable it, follow the same process and clear the
29
+ <strong>Default to Auto DevOps pipeline</strong> checkbox.</p><h4 id=per-group>Per group</h4><p>When you enable Auto DevOps for a group, the subgroups and
30
+ projects in that group inherit the configuration. You can save time by
31
+ enabling Auto DevOps for a group instead of enabling it for each
32
+ subgroup or project.</p><p>When enabled for a group, you can still disable Auto DevOps
33
+ for the subgroups and projects where you don&rsquo;t want to use it.</p><p>Prerequisites:</p><ul><li>You must have the Owner role for the group.</li></ul><p>To enable Auto DevOps for a group:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your group. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Select <strong>Settings</strong> > <strong>CI/CD</strong>.</li><li>Expand <strong>Auto DevOps</strong>.</li><li>Select the <strong>Default to Auto DevOps pipeline</strong> checkbox.</li><li>Select <strong>Save changes</strong>.</li></ol><p>To disable Auto DevOps for a group, follow the same process and
34
+ clear the <strong>Default to Auto DevOps pipeline</strong> checkbox.</p><p>After enabling Auto DevOps for a group, you can trigger the
35
+ Auto DevOps pipeline for any project that belongs to that group:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your project. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Make sure the project doesn&rsquo;t contain a <code>.gitlab-ci.yml</code> file.</li><li>Select <strong>Build</strong> > <strong>Pipelines</strong>.</li><li>To trigger the Auto DevOps pipeline, select <strong>New pipeline</strong>.</li></ol><h3 id=deploy-your-app-to-a-cloud-provider>Deploy your app to a cloud provider</h3><ul><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_gke/>Use Auto DevOps to deploy to a Kubernetes cluster on Google Kubernetes Engine (GKE)</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_eks/>Use Auto DevOps to deploy to a Kubernetes cluster on Amazon Elastic Kubernetes Service (EKS)</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_ec2/>Use Auto DevOps to deploy to EC2</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_ecs/>Use Auto DevOps to deploy to ECS</a></li></ul><h2 id=upgrade-auto-devops-dependencies-when-updating-gitlab>Upgrade Auto DevOps dependencies when updating GitLab</h2><p>When updating GitLab, you might need to upgrade Auto DevOps dependencies to
36
+ match your new GitLab version:</p><ul><li><a href=/topics/autodevops/upgrading_auto_deploy_dependencies/>Upgrading Auto DevOps resources</a>:<ul><li>Auto DevOps template.</li><li>Auto Deploy template.</li><li>Auto Deploy image.</li><li>Helm.</li><li>Kubernetes.</li><li>Environment variables.</li></ul></li><li><a href=/topics/autodevops/upgrading_postgresql/>Upgrading PostgreSQL</a>.</li></ul><h2 id=private-registry-support>Private registry support</h2><p>There is no guarantee that you can use a private container registry with Auto DevOps.</p><p>Instead, use the <a href=/user/packages/container_registry/>GitLab container registry</a> with Auto DevOps to
37
+ simplify configuration and prevent any unforeseen issues.</p><h2 id=install-applications-behind-a-proxy>Install applications behind a proxy</h2><p>The GitLab integration with Helm does not support installing applications when
38
+ behind a proxy.</p><p>If you want to do so, you must inject proxy settings into the
39
+ installation pods at runtime.</p><h2 id=related-topics>Related topics</h2><ul><li><a href=/ci/>Continuous methodologies</a></li><li><a href=https://docs.docker.com>Docker</a></li><li><a href=https://docs.gitlab.com/runner/>GitLab Runner</a></li><li><a href=https://helm.sh/docs/>Helm</a></li><li><a href=https://kubernetes.io/docs/home/>Kubernetes</a></li><li><a href=https://prometheus.io/docs/introduction/overview/>Prometheus</a></li></ul><h2 id=troubleshooting>Troubleshooting</h2><p>See <a href=/topics/autodevops/troubleshooting/>troubleshooting Auto DevOps</a>.</p></div><div data-vue-app=back-to-top-button></div></div><div class="feedback gl-min-h-8" data-ga-section=feedback data-elastic-exclude><div data-component=docs-feedback></div></div></div><aside class=sidebar-right><div data-ga-section=toc data-vue-app=toc></div></aside></div></main><footer data-ga-section=footer><section data-ga-section=footer><div id=footer class="footer-section container gl-grid gl-grid-cols-2 gl-grid-rows-3 gl-grid-rows-auto gl-gap-8 lg:gl-grid-cols-5 lg:gl-grid-rows-1 lg:gl-justify-items-center gl-px-8 gl-py-8 lg:gl-py-10"><div class="gl-col-span-2 lg:gl-col-span-1 gl-row-start-1"><div class="docs-title gl-flex gl-items-center"><a href=/><img src=/gitlab-logo-footer.svg alt="GitLab Docs logo" class=logo width=176 height=24></a></div><ul class="docs-social gl-list-none gl-flex"><li><a href=https://www.facebook.com/gitlab class=facebook><span class=gl-sr-only>Facebook</span></a></li><li><a href=https://www.linkedin.com/company/gitlab-com class=linkedin><span class=gl-sr-only>LinkedIn</span></a></li><li><a href=https://twitter.com/gitlab class=twitter><span class=gl-sr-only>Twitter</span></a></li><li><a href=https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg class=youtube><span class=gl-sr-only>YouTube</span></a></li></ul><a href=https://creativecommons.org/licenses/by-sa/4.0/ target=_blank rel="license noopener noreferrer" class=gl-mt-0><img src=/by-sa.svg alt="Creative Commons License" width=80 height=15></a></div><div class="gl-col-span-1 gl-row-start-2 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Company</div><ul class="gl-list-none gl-p-0"><li><a href=https://about.gitlab.com/company/>About GitLab</a></li><li><a href=https://about.gitlab.com/pricing/>View pricing</a></li><li><a href=https://about.gitlab.com/free-trial/>Try GitLab for free</a></li></ul></div><div class="gl-col-span-1 gl-row-start-2 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Feedback</div><ul class="gl-list-none gl-p-0"><li><a href=https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/topics/autodevops/_index.md>View page source</a></li><li><a href=https://gitlab.com/-/ide/project/gitlab-org/gitlab/edit/master/-/doc/topics/autodevops/_index.md>Edit in web IDE</a></li><li><a href=https://about.gitlab.com/community/contribute/>Contribute to GitLab</a></li><li><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Documentation">Suggest updates</a></li></ul></div><div class="gl-col-span-1 gl-row-start-3 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Help & Community</div><ul class="gl-list-none gl-p-0"><li><a href=https://university.gitlab.com/pages/certifications>Get certified</a></li><li><a href=https://about.gitlab.com/support/>Get support</a></li><li><a href="https://forum.gitlab.com/new-topic?title=topic%20title&amp;body=topic%20body&amp;tags=docs-feedback">Post on the GitLab forum</a></li></ul></div><div class="gl-col-span-1 gl-row-start-3 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Resources</div><ul class="gl-list-none gl-p-0"><li><a href=https://about.gitlab.com/terms/>Terms</a></li><li><a href=https://about.gitlab.com/privacy/>Privacy statement</a></li><li><a href=/legal/use_generative_ai/>Use of generative AI</a></li><li><a href=/legal/licensing_policy/>Acceptable use of user licenses</a></li><li><button id=ot-sdk-btn class=ot-sdk-show-settings></button></li></ul></div></div></section></footer><script type=module src=/vite/main.js></script><script async>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-NJXWQL")</script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJXWQL" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><script async>(function(){var e,t=!1;function n(){t===!1&&(t=!0,Munchkin.init("194-VVC-221",{useBeaconAPI:!0}))}e=document.createElement("script"),e.type="text/javascript",e.async=!0,e.src="https://munchkin.marketo.net/munchkin.js",e.onreadystatechange=function(){(this.readyState=="complete"||this.readyState=="loaded")&&n()},e.onload=n,document.getElementsByTagName("head")[0].appendChild(e)})()</script><script async src=https://cdn.bizible.com/scripts/bizible.js></script><script async>_linkedin_partner_id="30694",window._linkedin_data_partner_ids=window._linkedin_data_partner_ids||[],window._linkedin_data_partner_ids.push(_linkedin_partner_id),function(){var t=document.getElementsByTagName("script")[0],e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://snap.licdn.com/li.lms-analytics/insight.min.js",t.parentNode.insertBefore(e,t)}()</script><noscript><img height=1 width=1 style=display:none alt src="https://dc.ads.linkedin.com/collect/?pid=30694&fmt=gif"></noscript></body></html></doc><doc title="Release Automation" desc="Milestone-driven releases with semantic versioning and changelog generation"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Repository Audit" desc="Automated compliance checks across 10 categories"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></integration><examples><doc title="OSSA Schema Examples" desc="35+ example agent definitions"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Healing Agents" desc="8 self-healing agent schemas (wiki, architecture, spec, infra, dependency, service-discovery, test, security)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="GitLab Components" desc="Reusable CI/CD components for agent workflows"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></examples><optional><doc title="Buildkit Integration" desc="Task queue orchestration with claim, heartbeat, and release commands"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Compliance Profiles" desc="FedRAMP, SOC2, ISO42001 compliance specifications"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Type System" desc="Formal OSSA type system specification"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Testing Framework" desc="AgentTest resource for agent validation"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></optional></project>
package/llms-ctx.txt ADDED
@@ -0,0 +1,39 @@
1
+ <project title="Open Standard for Scalable Agents (OSSA)" summary="OSSA is a vendor-neutral, open specification for defining, deploying, and orchestrating AI agents across platforms. It provides a standardized schema for agent capabilities, triggers, outputs, and lifecycle management integrated with GitLab Ultimate and Duo Platform.">Key features:
2
+ - Vendor-neutral agent definitions using YAML schemas
3
+ - GitLab Duo Platform integration with 12 specialized agents
4
+ - Kubernetes-native deployment with GitOps
5
+ - Multi-agent orchestration with meta-orchestrator
6
+ - Self-healing automation across 8 healing agents
7
+ - AgentFlow lifecycle with custom fields
8
+ - Semantic versioning and milestone-driven releases<core specification><doc title="OSSA Schema v0.2.8" desc="Complete agent definition schema with capabilities, triggers, and outputs"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="AgentFlow Lifecycle" desc="9-state workflow (Triage → To Do → In Progress → Done/Canceled)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Custom Fields" desc="8 fields for agent coordination (agent_assigned, agent_status, commit_type, priority, release_type)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Bot Waves" desc="5-wave orchestration model for parallel agent execution"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></core specification><agents><doc title="12 OSSA Agents Registry" desc="Canonical list (wiki-aggregator, ts-prod, ts-local, ossa-local, native-local, ml-prod, ml-local, infra-prod, gitlab-lib-ci, gitlab-lib-local, drupal-prod, drupal-local)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Meta-Orchestrator" desc="Agent that manages all other agents with routing logic and wave coordination"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Wiki Healer" desc="Autonomous documentation agent with continuous wiki sync"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Security Healer" desc="Vulnerability scanning with SAST, DAST, dependency, secret, and container scanning"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Test Generator" desc="Coverage-driven test generation with property-based testing"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></agents><integration><doc title="GitLab Duo Platform" desc="Complete integration with Issue-to-MR flow, Software Development flow, and Security Analyst"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="AutoDevOps" desc="Auto Build, Test, Deploy, Security scanning, Review Apps, and Release Evidence"><!doctype html><html lang=en-us dir=ltr><head><script src=https://cdn.cookielaw.org/consent/7f944245-c5cd-4eed-a90e-dd955adfdd08/OtAutoBlock.js></script><script src=https://cdn.cookielaw.org/scripttemplates/otSDKStub.js data-domain-script=7f944245-c5cd-4eed-a90e-dd955adfdd08></script><script type=text/javascript>function OptanonWrapper(){}</script><script>const callback=(e)=>{for(const t of e)t.type==="childList"&&t.addedNodes.forEach(e=>{e.nodeName==="IMG"&&document.querySelectorAll('img:not([src^="http"]):not([data-ot-ignore])').forEach(e=>{e.setAttribute("data-ot-ignore","")})})},config={attributes:!0,childList:!0,subtree:!0,attributeFilter:["src"]},observer=new MutationObserver(callback);observer.observe(document.documentElement,config)</script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","GTM-NJXWQL"),gtag("consent","default",{analytics_storage:"granted",ad_storage:"granted",functionality_storage:"granted",wait_for_update:500}),gtag("consent","default",{analytics_storage:"denied",ad_storage:"denied",functionality_storage:"denied",region:["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","PE","RU"],wait_for_update:500}),window.geofeed=e=>{dataLayer.push({event:"OneTrustCountryLoad",oneTrustCountryId:e.country.toString()})};const json=document.createElement("script");json.setAttribute("src","https://geolocation.onetrust.com/cookieconsentpub/v1/geo/location/geofeed"),document.head.appendChild(json)</script><meta charset=utf-8><meta name=viewport content="width=device-width"><title>Auto DevOps | GitLab Docs</title><link rel=icon href=/favicon.ico sizes=any><link rel=icon href=/favicon.svg type=image/svg+xml><link rel=apple-touch-icon href=/apple-touch-icon.png><link rel=manifest href=/manifests/manifest.webmanifest><meta name=theme-color content="#FC6D26"><link rel=canonical href=https://docs.gitlab.com/topics/autodevops/><link rel=alternate hreflang=en-us href=https://docs.gitlab.com/topics/autodevops/><link rel=alternate hreflang=x-default href=https://docs.gitlab.com/topics/autodevops/><meta name=description content="Automated DevOps, language detection, deployment, and customization."><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebSite","name":"GitLab Docs","url":"https://docs.gitlab.com/"}</script><link rel=preload href=/gitlab_ui/fonts/GitLabSans.woff2 type=font/woff2 as=font crossorigin><link rel=prefetch href=/gitlab_ui/fonts/GitLabSans-Italic.woff2 crossorigin><link rel=prefetch href=/gitlab_ui/fonts/GitLabMono.woff2 crossorigin><link rel=stylesheet href=/gitlab_ui/ui/index.css><link rel=stylesheet href=/vite/main.css><link rel=stylesheet href=/css/syntax-dark.min.css id=syntax-dark-theme><link rel=stylesheet href=/css/syntax-light.min.css id=syntax-light-theme><script>(function(){const p="gitlab-docs-theme",g="gitlab-docs-layout",e={LIGHT:"light",DARK:"dark",AUTO:"auto"},i={FIXED:"fixed",FLUID:"fluid"},d="light",f="fixed";let r=!1;const t=localStorage?.getItem(p),m=localStorage?.getItem(g),l=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?e.DARK:e.LIGHT;function h(){return t&&(t===e.LIGHT||t===e.DARK)?t:(t===e.AUTO&&(r=!0),l||d)}function u(){return m===i.FLUID?i.FLUID:f}const s=h(),c=u(),n=document.documentElement;n.classList.remove("gl-dark","gl-light"),n.classList.add(s===e.DARK?"gl-dark":"gl-light"),c===i.FLUID&&(n.classList.add("fluid"),n.classList.remove("fixed"));const a=document.getElementById("syntax-dark-theme"),o=document.getElementById("syntax-light-theme");a&&o&&(s===e.DARK?(a.disabled=!1,o.disabled=!0):(a.disabled=!0,o.disabled=!1)),window.__initialTheme=r?e.AUTO:s,window.__initialLayout=c})()</script><meta name=gitlab_docs_base_url content="/"><meta name=gitlab_docs_page_owner data-stage=Verify data-group="Runner Core"><meta class=elastic name=gitlab_docs_version content="18.7"><meta class=elastic name=gitlab_docs_section content="use_gitlab"><meta class=elastic name=gitlab_docs_breadcrumbs content="Use GitLab › Use CI/CD to build your application"><script>window.pageMetadata={trail:[{path:"user/",title:"Use GitLab"},{path:"topics/build_your_application/",title:"Use CI/CD to build your application"},{path:"topics/autodevops/",title:"Auto DevOps"}]}</script><meta name=gitlab_docs_legacy_path content="/ee/topics/autodevops/index.html"><meta name=gitlab_docs_hugo_launch_version content="17.9"><script>const ELASTIC_CLOUD_ID="gitlab-docs-website:dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvJDQwZTQyYTQzMTJiZjQyMzNiMzBiZTg0MTU5YjlkNmE1JGMxODg4Y2U5OTY0YzQzZjc5ZjQ1YTk5NDZmMjI0ODg0",ELASTIC_KEY="cDFpLWJaSUJXVHBqWWI4VGZKN3M6eENBSjl4WDRSRnlCUW94ajRQazhLQQ==",ELASTIC_INDEX="search-gitlab-docs-hugo"</script><script type=module src=/vite/elastic_search.js></script><script type=module src=/vite/history.js></script><script>const FS_IDENTIFIER="AIzaSyCLdi3jHHjkmLji9D8uj_RNPMHcdrYoIW4",RECAPTCHA_PUBLIC_KEY="6Le4R3UrAAAAALsIlK_siq0_UhPD-0rD-ImF1gfO"</script><meta name=google-site-verification content="AcGSBNaKDWnLgcYotlVibGy6STm2Y6_KJSaRxrA90xY"><meta name=google-site-verification content="6eFQOFLxYAer08ROqc3I-SAi44F9NmvH7PrUUBR3oCI"><meta name=google-site-verification content="xAUTWp3CDg-tU1LVVwsM9OrVhLR7L3SmiyKzkOuPNos"><meta name=google-site-verification content="F0zzwaMpiyWFcPQ1Lqu18qN3EnuQsqFXbySl_29yvHs"><meta name=google-site-verification content="nwo1bVaU0t9TZxZyM-aOI6-CofaH9GRL-uBPbdREWgc"><meta name=google-site-verification content="rWoHrtHEmIX0t28oOb1ZEDMYZb_EZA6rr6ZOl5otEPI"><meta name=google-site-verification content="fSxr8-uslxcuFL0N-oECp3Tm0RPNEGX97wbdayKOEL8"><meta name=google-site-verification content="ISxyLVnZqU8oY3jwrK7EO9o-2DOTvLJwPse7bZz6yhs"><meta name=google-site-verification content="x1WspIvz3ZHqS0gezfX_P-qiRDOeP2Oyrd68zrU2ErI"><meta name=google-site-verification content="DfXB2Za52GT3zs_vuLIAL4Mi3M3K4qxXcg7MAs0CUqo"><meta name=google-site-verification content="BCEBC2LC7A1NzO9Com1oBrWK88tV_QXfUL0i9mwXPL0"><meta name=google-site-verification content="a2lNcHMorfS43aoISjZt5_BBPo-H1UaTKMQdBgZO9iY"><meta name=google-site-verification content="0s16pP9MelY6wDHRf-izXb5pwLU01IogP-Uc_e8f3GU"><meta name=google-site-verification content="H474RNof35Xp8fLg02fZbg9Dzxdtfch6vtcjzpmUraU"><meta name=google-site-verification content="E0FlhpgBGeE7d1pQ6amdcIWPMDLDeu15-HLQVoDTguE"><meta name=google-site-verification content="opQd7_rXtPy-pX5CO_XZiztzeQEsXnB3j6Y1_dZAizA"><meta name=google-site-verification content="06Kq4AoXdmBOjOAkbPvnYGtSxnn4Q9QBqEO55PLlw5c"><meta name=google-site-verification content="djBBokRFSWV_VRlSE51V5TZSPzMC6hml5l-Sb22WglE"><meta name=google-site-verification content="UOW6nOsvbyMeIySuamzbws4kNC_WqehamWfoxxtKjZ8"><meta name=google-site-verification content="hXU1Gsdba74DUbvbdUHRl9o0cQeiwXIhAdIllOG6p8E"><meta name=google-site-verification content="YFeHIAPk9lE76ubVMeq4P0sQVnzo2-a4k1oU_bPY8yE"><meta name=google-site-verification content="h8ICI4eDkvXmYaGDuLTLoWuXnLn-KUkChqYB-roMRsw"><meta name=google-site-verification content="9QW7feFNlCpMLPm7vAWEU-v14vdzb0Bb3RAk-8e_a18"><meta name=google-site-verification content="26kXLBOjaYRb2UwzWTDl1I1nzA2NxMunhp7SUtxGV6E"><meta name=google-site-verification content="jr3C8t6vKGPyN9GV3esdHY_xGYyQaUNznIl-Un2RObA"><meta name=google-site-verification content="WdlBpRU0ec1ieKqrTY_772OhG23FY45VQ4Lv9DyLJ_Y"><meta name=google-site-verification content="n9i6B9q4Xjr_etK2nQGZH1msoo7vIv9SXV8SQLOUA7c"><meta name=zd-site-verification content="ony3w7hk1vs6tfyrc51mld"><meta name=zd-site-verification content="gtuq65qdzt6n31viazi6hj"></head><body data-elastic-exclude><nav data-ga-section=header data-elastic-exclude><div class="header-wrapper gl-w-full gl-fixed gl-z-4"><div class=header><div class="header-top gl-flex gl-items-center"><a href=#skipTarget class="gl-sr-only skip-link">Skip to main content</a>
9
+ <a class=navbar-logo href=/><span class=gl-sr-only>Go to GitLab Docs homepage</span></a><div class="mobile-header gl-w-full gl-text-base"><div class=mobile-header-overlay></div><div class="header-right collapse gl-z-4 gl-border-t lg:gl-border-0"><div class="search-wrapper lg:gl-ml-4 lg:gl-grow"><div class="js-elastic-search-form gl-spinner-container"><span role=status aria-label=Loading class="gl-ml-3 gl-align-text-bottom! gl-spinner gl-spinner gl-spinner-sm"></span></div></div><div class="gl-flex gl-flex-col gl-gap-3 gl-mt-5 lg:gl-mt-0 lg:gl-flex-row lg:gl-items-center gl-ml-auto"><a class="whats-new gl-button btn-default btn-default-tertiary gl-hidden lg:gl-block" href=https://about.gitlab.com/releases/categories/releases/ target=_blank rel="noopener noreferrer">What's new?</a><div data-vue-app=versions-menu></div><div data-vue-app=appearance-toggle></div><div class="gl-flex gl-justify-evenly lg:gl-justify-normal gl-items-center gl-gap-5"><a class="whats-new gl-button btn-default btn-default-tertiary gl-w-full lg:gl-hidden hover:gl-no-underline" href=https://about.gitlab.com/releases/categories/releases/ target=_blank rel="noopener noreferrer">What's new?</a>
10
+ <a class="free-trial-btn cta-button gl-button btn-confirm gl-w-full hover:gl-no-underline" href="https://gitlab.com/-/trial_registrations/new?glm_source=docs.gitlab.com&amp;amp;glm_content=navigation-cta-docs" target=_blank rel="noopener noreferrer" role=button>Get free trial</a></div></div></div></div><button class="navbar-toggle gl-button btn-default lg:gl-hidden" data-toggle=collapse data-target=.header-right>
11
+ <span class=navbar-toggle-icon></span>
12
+ <span class=gl-sr-only>Toggle menu</span></button></div><div class="header-bottom gl-border-t lg:gl-border-b"><ul class="subheader-menu gl-hidden lg:gl-flex gl-list-none gl-text-base gl-space-x-5 gl-py-4 gl-pl-0 gl-mb-0"><li><a href=/user/ class=active>Use GitLab</a></li><li><a href=/user/gitlab_duo/>GitLab Duo</a></li><li><a href=/api/>Extend</a></li><li><a href=/install/>Install</a></li><li><a href=/administration/>Administer</a></li><li><a href=/subscriptions/>Subscribe</a></li><li><a href=/development/>Contribute</a></li><li><a href=/solutions/>Solutions</a></li></ul></div></div></div></nav><main data-ga-section=content-body><div data-vue-app=version-banner class="vue-loading gl-sticky gl-z-2 archive-banner"></div><div class="template-single gl-flex gl-h-full"><div data-vue-app=sidebar-menu data-ga-section=side-nav class=sidebar-container></div><div data-pagefind-body class=main-content><div class=docs-content><div class="gl-flex gl-h-5 gl-items-center gl-my-6"><div data-vue-app=open-sidebar></div><div data-vue-app=breadcrumb-nav></div></div><hr class="gl-border-t gl-px-5 lg:gl-hidden"><div class="gl-pt-4 gl-mt-4 lg:gl-pt-0 lg:gl-mt-0 lg:gl-border-t-0"><h1 id=skipTarget class=gl-mb-6>Auto DevOps</h1></div><div data-elastic-include><div class="availability gl-pl-4 gl-mb-5"><ul class="gl-list-none gl-p-0 gl-m-0"><li><span class=gl-font-bold>Tier</span>: Free, Premium, Ultimate</li><li><span class=gl-font-bold>Offering</span>: GitLab.com, GitLab Self-Managed, GitLab Dedicated</li></ul></div><p>Auto DevOps turns your code into production-ready applications without the usual configuration overhead.
13
+ The entire DevOps lifecycle is pre-configured using industry best practices. Start with the defaults
14
+ to ship quickly, then customize when you need more control. No complex configuration files or deep
15
+ DevOps expertise is required.</p><p>With Auto DevOps you get:</p><ul><li>CI/CD pipelines that automatically detect your language and framework</li><li>Built-in security scanning to find vulnerabilities before they reach production</li><li>Code quality and performance testing on every commit</li><li>Ready-to-use review apps for previewing changes in a live environment</li><li>Quick deployments to Kubernetes clusters</li><li>Progressive deployment strategies that reduce risk and downtime</li></ul><p><i class="fa fa-youtube-play youtube" aria-hidden=true></i>
16
+ For an introduction to Auto DevOps, watch <a href=https://youtu.be/0Tc0YYBxqi4>Auto DevOps</a>.</p><h2 id=auto-devops-features>Auto DevOps features</h2><p>Auto DevOps supports development during each of the <a href=/topics/autodevops/stages/>DevOps stages</a>.</p><table><thead><tr><th>Stage</th><th>Auto DevOps feature</th></tr></thead><tbody><tr><td>Build</td><td><a href=/topics/autodevops/stages/#auto-build>Auto Build</a></td></tr><tr><td>Build</td><td><a href=/topics/autodevops/stages/#auto-dependency-scanning>Auto Dependency Scanning</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-test>Auto Test</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-browser-performance-testing>Auto Browser Performance Testing</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-code-intelligence>Auto Code Intelligence</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-code-quality>Auto Code Quality</a></td></tr><tr><td>Test</td><td><a href=/topics/autodevops/stages/#auto-container-scanning>Auto container scanning</a></td></tr><tr><td>Deploy</td><td><a href=/topics/autodevops/stages/#auto-review-apps>Auto Review Apps</a></td></tr><tr><td>Deploy</td><td><a href=/topics/autodevops/stages/#auto-deploy>Auto Deploy</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-dast>Auto Dynamic Application Security Testing (DAST)</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-sast>Auto static application security testing (SAST)</a></td></tr><tr><td>Secure</td><td><a href=/topics/autodevops/stages/#auto-secret-detection>Auto Secret Detection</a></td></tr></tbody></table><h3 id=comparison-to-application-platforms-and-paas>Comparison to application platforms and PaaS</h3><p>Auto DevOps provides features often included in an application
17
+ platform or in a Platform as a Service (PaaS).</p><p>Inspired by <a href=https://www.heroku.com/>Heroku</a>, Auto DevOps goes beyond it
18
+ in multiple ways:</p><ul><li>Auto DevOps works with any Kubernetes cluster.</li><li>There is no additional cost.</li><li>You can use a cluster hosted by yourself or on any public cloud.</li><li>Auto DevOps offers an incremental graduation path. If you need to <a href=/topics/autodevops/customize/>customize</a>, start by changing the templates and evolve from there.</li></ul><h2 id=get-started-with-auto-devops>Get started with Auto DevOps</h2><p>To get started, you only need to <a href=/topics/autodevops/#enable-or-disable-auto-devops>enable Auto DevOps</a>.
19
+ This is enough to run an Auto DevOps pipeline to build and
20
+ test your application.</p><p>If you want to build, test, and deploy your app:</p><ol><li>View the <a href=/topics/autodevops/requirements/>requirements for deployment</a>.</li><li><a href=/topics/autodevops/#enable-or-disable-auto-devops>Enable Auto DevOps</a>.</li><li><a href=/topics/autodevops/#deploy-your-app-to-a-cloud-provider>Deploy your app to a cloud provider</a>.</li></ol><h3 id=enable-or-disable-auto-devops>Enable or disable Auto DevOps</h3><p>Auto DevOps runs pipelines automatically only if a <a href=/topics/autodevops/stages/#auto-build><code>Dockerfile</code> or matching buildpack</a> exists.</p><p>You can enable or disable Auto DevOps for a project or an entire group. Instance administrators
21
+ can also <a href=/administration/settings/continuous_integration/#configure-auto-devops-for-all-projects>set Auto DevOps as the default</a>
22
+ for all projects in an instance.</p><p>Before enabling Auto DevOps, consider <a href=/topics/autodevops/requirements/>preparing it for deployment</a>.
23
+ If you don&rsquo;t, Auto DevOps can build and test your app, but cannot deploy it.</p><h4 id=per-project>Per project</h4><p>To use Auto DevOps for individual projects, you can enable it in a
24
+ project-by-project basis. If you intend to use it for more projects,
25
+ you can enable it for a <a href=/topics/autodevops/#per-group>group</a> or an
26
+ <a href=/administration/settings/continuous_integration/#configure-auto-devops-for-all-projects>instance</a>.
27
+ This can save you the time of enabling it in each project.</p><p>Prerequisites:</p><ul><li>You must have at least the Maintainer role for the project.</li><li>Ensure your project does not have a <code>.gitlab-ci.yml</code> present. If present, your CI/CD configuration takes
28
+ precedence over the Auto DevOps pipeline.</li></ul><p>To enable Auto DevOps for a project:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your project. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Select <strong>Settings</strong> > <strong>CI/CD</strong>.</li><li>Expand <strong>Auto DevOps</strong>.</li><li>Select the <strong>Default to Auto DevOps pipeline</strong> checkbox.</li><li>Optional but recommended. Add the <a href=/topics/autodevops/requirements/#auto-devops-base-domain>base domain</a>.</li><li>Optional but recommended. Choose the <a href=/topics/autodevops/requirements/#auto-devops-deployment-strategy>deployment strategy</a>.</li><li>Select <strong>Save changes</strong>.</li></ol><p>GitLab triggers the Auto DevOps pipeline on the default branch.</p><p>To disable it, follow the same process and clear the
29
+ <strong>Default to Auto DevOps pipeline</strong> checkbox.</p><h4 id=per-group>Per group</h4><p>When you enable Auto DevOps for a group, the subgroups and
30
+ projects in that group inherit the configuration. You can save time by
31
+ enabling Auto DevOps for a group instead of enabling it for each
32
+ subgroup or project.</p><p>When enabled for a group, you can still disable Auto DevOps
33
+ for the subgroups and projects where you don&rsquo;t want to use it.</p><p>Prerequisites:</p><ul><li>You must have the Owner role for the group.</li></ul><p>To enable Auto DevOps for a group:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your group. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Select <strong>Settings</strong> > <strong>CI/CD</strong>.</li><li>Expand <strong>Auto DevOps</strong>.</li><li>Select the <strong>Default to Auto DevOps pipeline</strong> checkbox.</li><li>Select <strong>Save changes</strong>.</li></ol><p>To disable Auto DevOps for a group, follow the same process and
34
+ clear the <strong>Default to Auto DevOps pipeline</strong> checkbox.</p><p>After enabling Auto DevOps for a group, you can trigger the
35
+ Auto DevOps pipeline for any project that belongs to that group:</p><ol><li>On the left sidebar, select <strong>Search or go to</strong> and find your project. If you&rsquo;ve <a href=/user/interface_redesign/#turn-new-navigation-on-or-off>turned on the new navigation</a>, this field is on the top bar.</li><li>Make sure the project doesn&rsquo;t contain a <code>.gitlab-ci.yml</code> file.</li><li>Select <strong>Build</strong> > <strong>Pipelines</strong>.</li><li>To trigger the Auto DevOps pipeline, select <strong>New pipeline</strong>.</li></ol><h3 id=deploy-your-app-to-a-cloud-provider>Deploy your app to a cloud provider</h3><ul><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_gke/>Use Auto DevOps to deploy to a Kubernetes cluster on Google Kubernetes Engine (GKE)</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_eks/>Use Auto DevOps to deploy to a Kubernetes cluster on Amazon Elastic Kubernetes Service (EKS)</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_ec2/>Use Auto DevOps to deploy to EC2</a></li><li><a href=/topics/autodevops/cloud_deployments/auto_devops_with_ecs/>Use Auto DevOps to deploy to ECS</a></li></ul><h2 id=upgrade-auto-devops-dependencies-when-updating-gitlab>Upgrade Auto DevOps dependencies when updating GitLab</h2><p>When updating GitLab, you might need to upgrade Auto DevOps dependencies to
36
+ match your new GitLab version:</p><ul><li><a href=/topics/autodevops/upgrading_auto_deploy_dependencies/>Upgrading Auto DevOps resources</a>:<ul><li>Auto DevOps template.</li><li>Auto Deploy template.</li><li>Auto Deploy image.</li><li>Helm.</li><li>Kubernetes.</li><li>Environment variables.</li></ul></li><li><a href=/topics/autodevops/upgrading_postgresql/>Upgrading PostgreSQL</a>.</li></ul><h2 id=private-registry-support>Private registry support</h2><p>There is no guarantee that you can use a private container registry with Auto DevOps.</p><p>Instead, use the <a href=/user/packages/container_registry/>GitLab container registry</a> with Auto DevOps to
37
+ simplify configuration and prevent any unforeseen issues.</p><h2 id=install-applications-behind-a-proxy>Install applications behind a proxy</h2><p>The GitLab integration with Helm does not support installing applications when
38
+ behind a proxy.</p><p>If you want to do so, you must inject proxy settings into the
39
+ installation pods at runtime.</p><h2 id=related-topics>Related topics</h2><ul><li><a href=/ci/>Continuous methodologies</a></li><li><a href=https://docs.docker.com>Docker</a></li><li><a href=https://docs.gitlab.com/runner/>GitLab Runner</a></li><li><a href=https://helm.sh/docs/>Helm</a></li><li><a href=https://kubernetes.io/docs/home/>Kubernetes</a></li><li><a href=https://prometheus.io/docs/introduction/overview/>Prometheus</a></li></ul><h2 id=troubleshooting>Troubleshooting</h2><p>See <a href=/topics/autodevops/troubleshooting/>troubleshooting Auto DevOps</a>.</p></div><div data-vue-app=back-to-top-button></div></div><div class="feedback gl-min-h-8" data-ga-section=feedback data-elastic-exclude><div data-component=docs-feedback></div></div></div><aside class=sidebar-right><div data-ga-section=toc data-vue-app=toc></div></aside></div></main><footer data-ga-section=footer><section data-ga-section=footer><div id=footer class="footer-section container gl-grid gl-grid-cols-2 gl-grid-rows-3 gl-grid-rows-auto gl-gap-8 lg:gl-grid-cols-5 lg:gl-grid-rows-1 lg:gl-justify-items-center gl-px-8 gl-py-8 lg:gl-py-10"><div class="gl-col-span-2 lg:gl-col-span-1 gl-row-start-1"><div class="docs-title gl-flex gl-items-center"><a href=/><img src=/gitlab-logo-footer.svg alt="GitLab Docs logo" class=logo width=176 height=24></a></div><ul class="docs-social gl-list-none gl-flex"><li><a href=https://www.facebook.com/gitlab class=facebook><span class=gl-sr-only>Facebook</span></a></li><li><a href=https://www.linkedin.com/company/gitlab-com class=linkedin><span class=gl-sr-only>LinkedIn</span></a></li><li><a href=https://twitter.com/gitlab class=twitter><span class=gl-sr-only>Twitter</span></a></li><li><a href=https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg class=youtube><span class=gl-sr-only>YouTube</span></a></li></ul><a href=https://creativecommons.org/licenses/by-sa/4.0/ target=_blank rel="license noopener noreferrer" class=gl-mt-0><img src=/by-sa.svg alt="Creative Commons License" width=80 height=15></a></div><div class="gl-col-span-1 gl-row-start-2 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Company</div><ul class="gl-list-none gl-p-0"><li><a href=https://about.gitlab.com/company/>About GitLab</a></li><li><a href=https://about.gitlab.com/pricing/>View pricing</a></li><li><a href=https://about.gitlab.com/free-trial/>Try GitLab for free</a></li></ul></div><div class="gl-col-span-1 gl-row-start-2 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Feedback</div><ul class="gl-list-none gl-p-0"><li><a href=https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/topics/autodevops/_index.md>View page source</a></li><li><a href=https://gitlab.com/-/ide/project/gitlab-org/gitlab/edit/master/-/doc/topics/autodevops/_index.md>Edit in web IDE</a></li><li><a href=https://about.gitlab.com/community/contribute/>Contribute to GitLab</a></li><li><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Documentation">Suggest updates</a></li></ul></div><div class="gl-col-span-1 gl-row-start-3 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Help & Community</div><ul class="gl-list-none gl-p-0"><li><a href=https://university.gitlab.com/pages/certifications>Get certified</a></li><li><a href=https://about.gitlab.com/support/>Get support</a></li><li><a href="https://forum.gitlab.com/new-topic?title=topic%20title&amp;body=topic%20body&amp;tags=docs-feedback">Post on the GitLab forum</a></li></ul></div><div class="gl-col-span-1 gl-row-start-3 lg:gl-row-start-1"><div class="footer-section-title gl-heading-3">Resources</div><ul class="gl-list-none gl-p-0"><li><a href=https://about.gitlab.com/terms/>Terms</a></li><li><a href=https://about.gitlab.com/privacy/>Privacy statement</a></li><li><a href=/legal/use_generative_ai/>Use of generative AI</a></li><li><a href=/legal/licensing_policy/>Acceptable use of user licenses</a></li><li><button id=ot-sdk-btn class=ot-sdk-show-settings></button></li></ul></div></div></section></footer><script type=module src=/vite/main.js></script><script async>(function(e,t,n,s,o){e[s]=e[s]||[],e[s].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n),r=s!="dataLayer"?"&l="+s:"";i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+o+r,a.parentNode.insertBefore(i,a)})(window,document,"script","dataLayer","GTM-NJXWQL")</script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJXWQL" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><script async>(function(){var e,t=!1;function n(){t===!1&&(t=!0,Munchkin.init("194-VVC-221",{useBeaconAPI:!0}))}e=document.createElement("script"),e.type="text/javascript",e.async=!0,e.src="https://munchkin.marketo.net/munchkin.js",e.onreadystatechange=function(){(this.readyState=="complete"||this.readyState=="loaded")&&n()},e.onload=n,document.getElementsByTagName("head")[0].appendChild(e)})()</script><script async src=https://cdn.bizible.com/scripts/bizible.js></script><script async>_linkedin_partner_id="30694",window._linkedin_data_partner_ids=window._linkedin_data_partner_ids||[],window._linkedin_data_partner_ids.push(_linkedin_partner_id),function(){var t=document.getElementsByTagName("script")[0],e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://snap.licdn.com/li.lms-analytics/insight.min.js",t.parentNode.insertBefore(e,t)}()</script><noscript><img height=1 width=1 style=display:none alt src="https://dc.ads.linkedin.com/collect/?pid=30694&fmt=gif"></noscript></body></html></doc><doc title="Release Automation" desc="Milestone-driven releases with semantic versioning and changelog generation"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Repository Audit" desc="Automated compliance checks across 10 categories"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></integration><examples><doc title="OSSA Schema Examples" desc="35+ example agent definitions"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="Healing Agents" desc="8 self-healing agent schemas (wiki, architecture, spec, infra, dependency, service-discovery, test, security)"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc><doc title="GitLab Components" desc="Reusable CI/CD components for agent workflows"><html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html></doc></examples></project>
package/llms.txt ADDED
@@ -0,0 +1,47 @@
1
+ # Open Standard for Scalable Agents (OSSA)
2
+
3
+ > OSSA is a vendor-neutral, open specification for defining, deploying, and orchestrating AI agents across platforms. It provides a standardized schema for agent capabilities, triggers, outputs, and lifecycle management integrated with GitLab Ultimate and Duo Platform.
4
+
5
+ Key features:
6
+ - Vendor-neutral agent definitions using YAML schemas
7
+ - GitLab Duo Platform integration with 12 specialized agents
8
+ - Kubernetes-native deployment with GitOps
9
+ - Multi-agent orchestration with meta-orchestrator
10
+ - Self-healing automation across 8 healing agents
11
+ - AgentFlow lifecycle with custom fields
12
+ - Semantic versioning and milestone-driven releases
13
+
14
+ ## Core Specification
15
+
16
+ - [OSSA Schema v0.2.8](https://gitlab.com/blueflyio/openstandardagents/-/blob/main/spec/ossa-schema.yaml): Complete agent definition schema with capabilities, triggers, and outputs
17
+ - [AgentFlow Lifecycle](https://gitlab.com/blueflyio/openstandardagents/-/wikis/AgentFlow-Lifecycle): 9-state workflow (Triage → To Do → In Progress → Done/Canceled)
18
+ - [Custom Fields](https://gitlab.com/blueflyio/openstandardagents/-/wikis/Custom-Field-Enforcement): 8 fields for agent coordination (agent_assigned, agent_status, commit_type, priority, release_type)
19
+ - [Bot Waves](https://gitlab.com/blueflyio/openstandardagents/-/wikis/Specialized-Bot-Deployment): 5-wave orchestration model for parallel agent execution
20
+
21
+ ## Agents
22
+
23
+ - [12 OSSA Agents Registry](https://gitlab.com/blueflyio/openstandardagents/-/wikis/Specialized-Bot-Deployment): Canonical list (wiki-aggregator, ts-prod, ts-local, ossa-local, native-local, ml-prod, ml-local, infra-prod, gitlab-lib-ci, gitlab-lib-local, drupal-prod, drupal-local)
24
+ - [Meta-Orchestrator](https://gitlab.com/blueflyio/openstandardagents/-/issues/83): Agent that manages all other agents with routing logic and wave coordination
25
+ - [Wiki Healer](https://gitlab.com/blueflyio/openstandardagents/-/issues/75): Autonomous documentation agent with continuous wiki sync
26
+ - [Security Healer](https://gitlab.com/blueflyio/openstandardagents/-/issues/82): Vulnerability scanning with SAST, DAST, dependency, secret, and container scanning
27
+ - [Test Generator](https://gitlab.com/blueflyio/openstandardagents/-/issues/81): Coverage-driven test generation with property-based testing
28
+
29
+ ## Integration
30
+
31
+ - [GitLab Duo Platform](https://gitlab.com/blueflyio/openstandardagents/-/issues/73): Complete integration with Issue-to-MR flow, Software Development flow, and Security Analyst
32
+ - [AutoDevOps](https://docs.gitlab.com/topics/autodevops/): Auto Build, Test, Deploy, Security scanning, Review Apps, and Release Evidence
33
+ - [Release Automation](https://gitlab.com/blueflyio/openstandardagents/-/issues/74): Milestone-driven releases with semantic versioning and changelog generation
34
+ - [Repository Audit](https://gitlab.com/blueflyio/openstandardagents/-/issues/84): Automated compliance checks across 10 categories
35
+
36
+ ## Examples
37
+
38
+ - [OSSA Schema Examples](https://gitlab.com/blueflyio/openstandardagents/-/tree/main/examples): 35+ example agent definitions
39
+ - [Healing Agents](https://gitlab.com/blueflyio/openstandardagents/-/tree/main/schemas): 8 self-healing agent schemas (wiki, architecture, spec, infra, dependency, service-discovery, test, security)
40
+ - [GitLab Components](https://gitlab.com/blueflyio/agent-platform/gitlab_components): Reusable CI/CD components for agent workflows
41
+
42
+ ## Optional
43
+
44
+ - [Buildkit Integration](https://gitlab.com/blueflyio/openstandardagents/-/wikis/Buildkit): Task queue orchestration with claim, heartbeat, and release commands
45
+ - [Compliance Profiles](https://gitlab.com/blueflyio/openstandardagents/-/issues/71): FedRAMP, SOC2, ISO42001 compliance specifications
46
+ - [Type System](https://gitlab.com/blueflyio/openstandardagents/-/issues/70): Formal OSSA type system specification
47
+ - [Testing Framework](https://gitlab.com/blueflyio/openstandardagents/-/issues/72): AgentTest resource for agent validation
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@bluefly/openstandardagents",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "exports": {
5
- "./schema": "./spec/v0.2.6/ossa-0.2.6.schema.json",
5
+ "./schema": "./spec/v0.2.8/ossa-0.2.8.schema.json",
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
8
8
  "import": "./dist/index.js",
@@ -151,6 +151,7 @@
151
151
  "eslint-config-prettier": "^10.1.8",
152
152
  "eslint-plugin-prettier": "^5.5.4",
153
153
  "jest": "^29.7.0",
154
+ "jest-junit": "^16.0.0",
154
155
  "json-schema-to-typescript": "^15.0.4",
155
156
  "json-schema-to-zod": "^2.6.1",
156
157
  "prettier": "^3.6.2",
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ const fs = require('fs');
3
+ const crypto = require('crypto');
4
+
5
+ const eslintResults = JSON.parse(fs.readFileSync(process.argv[2] || 'eslint-report.json', 'utf8'));
6
+
7
+ const codeQualityReport = [];
8
+
9
+ eslintResults.forEach(file => {
10
+ file.messages.forEach(msg => {
11
+ const fingerprint = crypto
12
+ .createHash('md5')
13
+ .update(`${file.filePath}:${msg.line}:${msg.ruleId}`)
14
+ .digest('hex');
15
+
16
+ codeQualityReport.push({
17
+ description: msg.message,
18
+ check_name: msg.ruleId || 'eslint',
19
+ fingerprint,
20
+ severity: msg.severity === 2 ? 'major' : 'minor',
21
+ location: {
22
+ path: file.filePath.replace(process.cwd() + '/', ''),
23
+ lines: {
24
+ begin: msg.line
25
+ }
26
+ }
27
+ });
28
+ });
29
+ });
30
+
31
+ fs.writeFileSync(
32
+ process.argv[3] || 'gl-code-quality-report.json',
33
+ JSON.stringify(codeQualityReport, null, 2)
34
+ );
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+ # Generate llms-ctx.txt files from llms.txt
3
+
4
+ set -e
5
+
6
+ echo "Installing llms-txt..."
7
+ pip install llms-txt --quiet
8
+
9
+ echo "Generating llms-ctx.txt (without Optional)..."
10
+ llms_txt2ctx llms.txt -o llms-ctx.txt
11
+
12
+ echo "Generating llms-ctx-full.txt (with Optional)..."
13
+ llms_txt2ctx llms.txt -o llms-ctx-full.txt --include-optional
14
+
15
+ echo "✅ Generated:"
16
+ echo " - llms-ctx.txt ($(wc -l < llms-ctx.txt) lines)"
17
+ echo " - llms-ctx-full.txt ($(wc -l < llms-ctx-full.txt) lines)"
@@ -5,8 +5,28 @@
5
5
  * Usage: npm run docs:schema:generate
6
6
  */
7
7
 
8
- import { readFileSync, writeFileSync, mkdirSync } from 'fs';
9
- import { join } from 'path';
8
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'fs';
9
+ import { join, resolve } from 'path';
10
+
11
+ // Dynamic version detection - find latest spec directory
12
+ function getLatestSchemaVersion(): { dir: string; file: string } {
13
+ const specDir = join(process.cwd(), 'spec');
14
+ const dirs = readdirSync(specDir, { withFileTypes: true })
15
+ .filter(d => d.isDirectory() && d.name.startsWith('v'))
16
+ .map(d => d.name)
17
+ .sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
18
+
19
+ if (dirs.length === 0) {
20
+ throw new Error('No schema version directories found in spec/');
21
+ }
22
+
23
+ const latestDir = dirs[0];
24
+ const version = latestDir.slice(1); // Remove 'v' prefix
25
+ return {
26
+ dir: latestDir,
27
+ file: `ossa-${version}.schema.json`
28
+ };
29
+ }
10
30
 
11
31
  interface SchemaProperty {
12
32
  type: string | string[];
@@ -25,8 +45,10 @@ interface SchemaProperty {
25
45
  items?: SchemaProperty;
26
46
  }
27
47
 
28
- const SPEC_DIR = join(process.cwd(), 'spec/v0.2.5-RC');
29
- const OUTPUT_DIR = join(process.cwd(), 'website/content/docs/schema-reference');
48
+ // Dynamic paths based on detected version
49
+ const schemaVersion = getLatestSchemaVersion();
50
+ const SPEC_DIR = join(process.cwd(), 'spec', schemaVersion.dir);
51
+ const OUTPUT_DIR = join(process.cwd(), 'docs/schema-reference');
30
52
 
31
53
  // Field documentation metadata
32
54
  const FIELD_DOCS: Record<string, {
@@ -211,8 +233,9 @@ function main() {
211
233
  // Create output directory
212
234
  mkdirSync(OUTPUT_DIR, { recursive: true });
213
235
 
214
- // Read schema
215
- const schemaPath = join(SPEC_DIR, 'ossa-0.2.5-RC.schema.json');
236
+ // Read schema dynamically
237
+ const schemaPath = join(SPEC_DIR, schemaVersion.file);
238
+ console.log(`📜 Using schema: ${schemaVersion.dir}/${schemaVersion.file}`);
216
239
  const schemaContent = readFileSync(schemaPath, 'utf-8');
217
240
  const schema = JSON.parse(schemaContent);
218
241
 
@@ -259,9 +282,7 @@ The OSSA schema defines the structure of agent manifests. Every field serves a s
259
282
 
260
283
  ## Schema Versions
261
284
 
262
- - **Current**: v0.2.5-RC
263
- - **Stable**: v0.2.4
264
- - **Previous**: v0.2.3, v0.2.2
285
+ - **Current**: ${schemaVersion.dir}
265
286
 
266
287
  See [Versioning Guide](../guides/versioning.md) for migration information.
267
288
 
@@ -276,7 +297,7 @@ ossa validate agent.ossa.yaml
276
297
  ## Complete Schema
277
298
 
278
299
  View the complete JSON Schema:
279
- - [v0.2.5-RC Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json)
300
+ - [${schemaVersion.dir} Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/${schemaVersion.dir}/${schemaVersion.file})
280
301
 
281
302
  ## Related Documentation
282
303
 
@@ -5,18 +5,10 @@ import { resolve } from 'path';
5
5
 
6
6
  const { version } = JSON.parse(readFileSync('package.json', 'utf-8'));
7
7
 
8
- const files = [
9
- {
10
- path: 'website/src/config.ts',
11
- pattern: /version:\s*['"][\d.]+['"]/,
12
- replacement: `version: '${version}'`
13
- },
14
- {
15
- path: 'src/version.ts',
16
- pattern: /VERSION\s*=\s*['"][\d.]+['"]/,
17
- replacement: `VERSION = '${version}'`
18
- }
19
- ];
8
+ // Website moved to openstandardagents.org repository
9
+ // Version is read from package.json at runtime via scripts/lib/version.ts
10
+ // No hardcoded version files to sync
11
+ const files = [];
20
12
 
21
13
  console.log(`📦 Syncing version: ${version}\n`);
22
14
 
@@ -33,7 +33,8 @@ async function main() {
33
33
  // Get additional args
34
34
  const args = process.argv.slice(2);
35
35
  // Use ajv-cli compile to validate schema syntax (no data file needed)
36
- const command = `npx ajv-cli compile -s ${schemaPath} ${args.join(' ')}`;
36
+ // --strict=false allows unknown formats like "uri"
37
+ const command = `npx ajv-cli compile -s ${schemaPath} --strict=false ${args.join(' ')}`;
37
38
 
38
39
  // Run validation
39
40
  execCommand(command, { stdio: 'inherit' });