| title | Devops Agent |
|---|---|
| description | Devops Agent protocol schemas |
DevOps Agent Protocol
Defines autonomous DevOps agents that can self-iterate on enterprise
management software development using the ObjectStack specification.
This agent integrates with GitHub for version control and Vercel for
deployment, enabling fully automated development, testing, and release cycles.
Architecture:
-
Self-iterating development based on ObjectStack specifications
-
Automated code generation following best practices
-
Continuous integration and deployment
-
Version management and release automation
-
Monitoring and rollback capabilities
Use Cases:
-
Automated feature development from specifications
-
Self-healing code based on test failures
-
Automated dependency updates
-
Continuous optimization and refactoring
-
Automated documentation generation
@example
import \{ DevOpsAgent \} from '@objectstack/spec/ai';
const agent: DevOpsAgent = \{
name: 'devops_automation_agent',
label: 'DevOps Automation Agent',
role: 'Senior Full-Stack DevOps Engineer',
instructions: '...',
developmentConfig: \{
specificationSource: 'packages/spec',
codeGeneration: \{
enabled: true,
targets: ['frontend', 'backend', 'api'],
\},
\},
integrations: \{
github: \{
connector: 'github_production',
repository: \{
owner: 'objectstack-ai',
name: 'app',
\},
\},
vercel: \{
connector: 'vercel_production',
project: 'objectstack-app',
\},
\},
\};import { CICDPipelineConfig, CodeGenerationConfig, CodeGenerationTarget, DeploymentStrategy, DevOpsAgent, DevOpsTool, DevelopmentConfig, GitHubIntegration, IntegrationConfig, MonitoringConfig, PipelineStage, TestingConfig, VercelIntegration, VersionManagement } from '@objectstack/spec/ai';
import type { CICDPipelineConfig, CodeGenerationConfig, CodeGenerationTarget, DeploymentStrategy, DevOpsAgent, DevOpsTool, DevelopmentConfig, GitHubIntegration, IntegrationConfig, MonitoringConfig, PipelineStage, TestingConfig, VercelIntegration, VersionManagement } from '@objectstack/spec/ai';
// Validate data
const result = CICDPipelineConfig.parse(data);| Property | Type | Required | Description |
|---|---|---|---|
| name | string |
✅ | Pipeline name |
| trigger | Enum<'push' | 'pull_request' | 'release' | 'schedule' | 'manual'> |
✅ | Pipeline trigger |
| branches | string[] |
optional | Branches to run pipeline on |
| stages | Object[] |
✅ | Pipeline stages |
| notifications | Object |
optional | Pipeline notifications |
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean |
✅ | Enable code generation |
| targets | Enum<'frontend' | 'backend' | 'api' | 'database' | 'tests' | 'documentation' | 'infrastructure'>[] |
✅ | Code generation targets |
| templateRepo | string |
optional | Template repository for scaffolding |
| styleGuide | string |
optional | Code style guide to follow |
| includeTests | boolean |
✅ | Generate tests with code |
| includeDocumentation | boolean |
✅ | Generate documentation |
| validationMode | Enum<'strict' | 'moderate' | 'permissive'> |
✅ | Code validation strictness |
Code generation target
frontendbackendapidatabasetestsdocumentationinfrastructure
| Property | Type | Required | Description |
|---|---|---|---|
| type | Enum<'rolling' | 'blue_green' | 'canary' | 'recreate'> |
✅ | Deployment strategy |
| canaryPercentage | number |
✅ | Canary deployment percentage |
| healthCheckUrl | string |
optional | Health check endpoint |
| healthCheckTimeout | integer |
✅ | Health check timeout in seconds |
| autoRollback | boolean |
✅ | Automatically rollback on failure |
| smokeTests | string[] |
optional | Smoke test commands to run post-deployment |
| Property | Type | Required | Description |
|---|---|---|---|
| name | string |
✅ | Agent unique identifier |
| label | string |
✅ | Agent display name |
| avatar | string |
optional | |
| role | string |
✅ | The persona/role (e.g. "Senior Support Engineer") |
| instructions | string |
✅ | System Prompt / Prime Directives |
| model | Object |
optional | |
| lifecycle | Object |
optional | State machine defining the agent conversation follow and constraints |
| tools | Object[] |
optional | Available tools |
| knowledge | Object |
optional | RAG access |
| active | boolean |
✅ | |
| access | string[] |
optional | Who can chat with this agent |
| tenantId | string |
optional | Tenant/Organization ID |
| visibility | Enum<'global' | 'organization' | 'private'> |
✅ | |
| developmentConfig | Object |
✅ | Development configuration |
| pipelines | Object[] |
optional | CI/CD pipelines |
| versionManagement | Object |
optional | Version management configuration |
| deploymentStrategy | Object |
optional | Deployment strategy |
| monitoring | Object |
optional | Monitoring configuration |
| integrations | Object |
✅ | Integration configurations |
| selfIteration | Object |
optional | Self-iteration configuration |
| Property | Type | Required | Description |
|---|---|---|---|
| type | Enum<'action' | 'flow' | 'query' | 'vector_search' | 'git_operation' | 'code_generation' | 'test_execution' | 'deployment' | 'monitoring'> |
✅ | |
| name | string |
✅ | Reference name (Action Name, Flow Name) |
| description | string |
optional | Override description for the LLM |
| Property | Type | Required | Description |
|---|---|---|---|
| specificationSource | string |
✅ | Path to ObjectStack specification |
| codeGeneration | Object |
✅ | Code generation settings |
| testing | Object |
optional | Testing configuration |
| linting | Object |
optional | Code linting configuration |
| formatting | Object |
optional | Code formatting configuration |
| Property | Type | Required | Description |
|---|---|---|---|
| connector | string |
✅ | GitHub connector name |
| repository | Object |
✅ | Repository configuration |
| featureBranch | string |
✅ | Default feature branch |
| pullRequest | Object |
optional | Pull request settings |
| Property | Type | Required | Description |
|---|---|---|---|
| github | Object |
✅ | GitHub integration configuration |
| vercel | Object |
✅ | Vercel integration configuration |
| additional | Record<string, any> |
optional | Additional integration configurations |
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean |
✅ | Enable monitoring |
| metrics | Enum<'performance' | 'errors' | 'usage' | 'availability' | 'latency'>[] |
✅ | Metrics to monitor |
| alerts | Object[] |
optional | Alert configurations |
| integrations | string[] |
optional | Monitoring service integrations |
| Property | Type | Required | Description |
|---|---|---|---|
| name | string |
✅ | Pipeline stage name |
| type | Enum<'build' | 'test' | 'lint' | 'security_scan' | 'deploy' | 'smoke_test' | 'rollback'> |
✅ | Stage type |
| order | integer |
✅ | Execution order |
| parallel | boolean |
✅ | Can run in parallel with other stages |
| commands | string[] |
✅ | Commands to execute |
| env | Record<string, string> |
optional | Stage-specific environment variables |
| timeout | integer |
✅ | Stage timeout in seconds |
| retryOnFailure | boolean |
✅ | Retry stage on failure |
| maxRetries | integer |
✅ | Maximum retry attempts |
| Property | Type | Required | Description |
|---|---|---|---|
| enabled | boolean |
✅ | Enable automated testing |
| testTypes | Enum<'unit' | 'integration' | 'e2e' | 'performance' | 'security' | 'accessibility'>[] |
✅ | Types of tests to run |
| coverageThreshold | number |
✅ | Minimum test coverage percentage |
| framework | string |
optional | Testing framework (e.g., vitest, jest, playwright) |
| preCommitTests | boolean |
✅ | Run tests before committing |
| autoFix | boolean |
✅ | Attempt to auto-fix failing tests |
| Property | Type | Required | Description |
|---|---|---|---|
| connector | string |
✅ | Vercel connector name |
| project | string |
✅ | Vercel project name |
| environments | Object |
optional | Environment mapping |
| deployment | Object |
optional | Deployment settings |
| Property | Type | Required | Description |
|---|---|---|---|
| scheme | Enum<'semver' | 'calver' | 'custom'> |
✅ | Versioning scheme |
| autoIncrement | Enum<'major' | 'minor' | 'patch' | 'none'> |
✅ | Auto-increment strategy |
| prefix | string |
✅ | Version tag prefix |
| generateChangelog | boolean |
✅ | Generate changelog automatically |
| changelogFormat | Enum<'conventional' | 'keepachangelog' | 'custom'> |
✅ | Changelog format |
| tagReleases | boolean |
✅ | Create Git tags for releases |