|
| 1 | +import { defineConfig } from 'astro/config'; |
| 2 | +import starlight from '@astrojs/starlight'; |
| 3 | +import mermaid from 'astro-mermaid'; |
| 4 | + |
| 5 | +const github = 'https://github.com/opensourceops/agentctl'; |
| 6 | + |
| 7 | +export default defineConfig({ |
| 8 | + site: 'https://opensourceops.github.io', |
| 9 | + base: '/agentctl/', |
| 10 | + outDir: './dist-agentctl', |
| 11 | + integrations: [ |
| 12 | + mermaid({ |
| 13 | + autoTheme: true, |
| 14 | + enableLog: false, |
| 15 | + mermaidConfig: { |
| 16 | + securityLevel: 'strict', |
| 17 | + flowchart: { curve: 'linear', htmlLabels: false }, |
| 18 | + }, |
| 19 | + }), |
| 20 | + starlight({ |
| 21 | + title: 'agentctl', |
| 22 | + description: |
| 23 | + 'Declarative workflows for deterministic automation and bounded agent reasoning, with explicit policy and durable local state.', |
| 24 | + tagline: 'Deterministic workflows. Bounded agents. Durable evidence.', |
| 25 | + favicon: '/favicon.png', |
| 26 | + social: [{ icon: 'github', label: 'agentctl on GitHub', href: github }], |
| 27 | + editLink: { baseUrl: `${github}/edit/main/` }, |
| 28 | + lastUpdated: false, |
| 29 | + pagination: true, |
| 30 | + pagefind: true, |
| 31 | + credits: false, |
| 32 | + customCss: ['./src/styles/custom.css'], |
| 33 | + components: { |
| 34 | + Header: './src/components/Header.astro', |
| 35 | + Footer: './src/components/Footer.astro', |
| 36 | + }, |
| 37 | + head: [ |
| 38 | + { tag: 'meta', attrs: { name: 'theme-color', content: '#0f766e' } }, |
| 39 | + { tag: 'meta', attrs: { property: 'og:site_name', content: 'agentctl documentation' } }, |
| 40 | + { tag: 'meta', attrs: { property: 'og:type', content: 'website' } }, |
| 41 | + { tag: 'meta', attrs: { name: 'twitter:card', content: 'summary_large_image' } }, |
| 42 | + { tag: 'meta', attrs: { property: 'og:image', content: 'https://opensourceops.github.io/agentctl/og.png' } }, |
| 43 | + { tag: 'meta', attrs: { name: 'twitter:image', content: 'https://opensourceops.github.io/agentctl/og.png' } }, |
| 44 | + { |
| 45 | + tag: 'script', |
| 46 | + attrs: { type: 'application/ld+json' }, |
| 47 | + content: JSON.stringify({ |
| 48 | + '@context': 'https://schema.org', |
| 49 | + '@type': 'WebSite', |
| 50 | + name: 'agentctl documentation', |
| 51 | + url: 'https://opensourceops.github.io/agentctl/', |
| 52 | + }), |
| 53 | + }, |
| 54 | + ], |
| 55 | + sidebar: [ |
| 56 | + { |
| 57 | + label: 'Start here', |
| 58 | + items: [ |
| 59 | + { slug: 'overview', label: 'Overview', badge: 'v1alpha1' }, |
| 60 | + { slug: 'why-agentctl', label: 'Why agentctl' }, |
| 61 | + { slug: 'concepts/product', label: 'Product definition' }, |
| 62 | + { slug: 'getting-started/installation', label: 'Installation' }, |
| 63 | + { slug: 'getting-started', label: 'Getting started' }, |
| 64 | + { slug: 'getting-started/first-agent', label: 'First agent workflow' }, |
| 65 | + { slug: 'learning-paths', label: 'Learning paths' }, |
| 66 | + { slug: 'deployment-model', label: 'Choose a deployment model' }, |
| 67 | + ], |
| 68 | + }, |
| 69 | + { |
| 70 | + label: 'Learn the workflow model', |
| 71 | + items: [ |
| 72 | + { slug: 'concepts/workflow-model', label: 'Workflow document' }, |
| 73 | + { slug: 'guides/workflow-authoring', label: 'Author workflows' }, |
| 74 | + { slug: 'concepts/tools', label: 'Actions, tools, and effects' }, |
| 75 | + { slug: 'concepts/policies', label: 'Policies and approvals' }, |
| 76 | + { slug: 'concepts/memory', label: 'Memory' }, |
| 77 | + { slug: 'concepts/packs', label: 'Packs' }, |
| 78 | + ], |
| 79 | + }, |
| 80 | + { |
| 81 | + label: 'Run workflows', |
| 82 | + items: [ |
| 83 | + { slug: 'guides/local-operation', label: 'Local operation' }, |
| 84 | + { slug: 'durable-execution', label: 'Resume, replay, retry, and fork' }, |
| 85 | + { slug: 'operations/scheduled', label: 'Scheduled execution' }, |
| 86 | + ], |
| 87 | + }, |
| 88 | + { |
| 89 | + label: 'Operate agentctl', |
| 90 | + items: [ |
| 91 | + { slug: 'guides/container', label: 'Container' }, |
| 92 | + { slug: 'guides/ci-cd', label: 'CI/CD and Kubernetes' }, |
| 93 | + { slug: 'observability', label: 'Logs and observability' }, |
| 94 | + { slug: 'reference/database', label: 'State, locking, and retention' }, |
| 95 | + ], |
| 96 | + }, |
| 97 | + { |
| 98 | + label: 'Providers and protocols', |
| 99 | + items: [ |
| 100 | + { slug: 'providers', label: 'Provider overview' }, |
| 101 | + { slug: 'reference/capabilities', label: 'Capability matrices' }, |
| 102 | + { slug: 'providers/mcp', label: 'MCP' }, |
| 103 | + { slug: 'providers/a2a', label: 'A2A' }, |
| 104 | + { slug: 'reference/environment', label: 'Authentication and environment' }, |
| 105 | + ], |
| 106 | + }, |
| 107 | + { |
| 108 | + label: 'Security', |
| 109 | + items: [ |
| 110 | + { slug: 'security', label: 'Security model' }, |
| 111 | + { slug: 'security/threat-model', label: 'Threat model' }, |
| 112 | + { slug: 'concepts/policies', label: 'Filesystem, process, and network policy' }, |
| 113 | + { slug: 'reference/limitations', label: 'Known limitations' }, |
| 114 | + ], |
| 115 | + }, |
| 116 | + { |
| 117 | + label: 'Examples and use cases', |
| 118 | + items: [ |
| 119 | + { slug: 'examples', label: 'Examples overview' }, |
| 120 | + { slug: 'examples/repository-audit', label: 'Repository audit' }, |
| 121 | + { slug: 'examples/release-readiness', label: 'Release readiness' }, |
| 122 | + { slug: 'examples/scheduled-review', label: 'Scheduled review' }, |
| 123 | + { slug: 'examples/ci-quality-gate', label: 'CI quality gate' }, |
| 124 | + { slug: 'examples/approval-gated', label: 'Approval-gated action' }, |
| 125 | + { slug: 'examples/recorded-replay', label: 'Recorded replay' }, |
| 126 | + { slug: 'examples/provider-portability', label: 'Provider portability' }, |
| 127 | + ], |
| 128 | + }, |
| 129 | + { |
| 130 | + label: 'Troubleshooting', |
| 131 | + items: [{ slug: 'troubleshooting', label: 'Problem-solving guide' }], |
| 132 | + }, |
| 133 | + { |
| 134 | + label: 'Reference', |
| 135 | + items: [ |
| 136 | + { slug: 'reference/cli', label: 'CLI reference' }, |
| 137 | + { slug: 'reference/yaml', label: 'YAML reference' }, |
| 138 | + { slug: 'reference/output', label: 'Output and exit codes' }, |
| 139 | + { slug: 'reference/environment', label: 'Environment and default paths' }, |
| 140 | + { slug: 'reference/capabilities', label: 'Provider and tool matrices' }, |
| 141 | + { slug: 'reference/database', label: 'Database and migrations' }, |
| 142 | + { slug: 'reference/terminology', label: 'Terminology' }, |
| 143 | + { slug: 'reference/compatibility', label: 'Compatibility' }, |
| 144 | + { slug: 'reference/migration', label: 'Migrate from TypeScript' }, |
| 145 | + { slug: 'reference/limitations', label: 'Limitations' }, |
| 146 | + ], |
| 147 | + }, |
| 148 | + { |
| 149 | + label: 'Architecture', |
| 150 | + items: [ |
| 151 | + { slug: 'architecture', label: 'Architecture overview' }, |
| 152 | + { slug: 'architecture/diagrams', label: 'Architecture diagrams' }, |
| 153 | + { |
| 154 | + label: 'Design decisions', |
| 155 | + items: ['architecture/decisions/0001', 'architecture/decisions/0002', 'architecture/decisions/0003', 'architecture/decisions/0004', 'architecture/decisions/0005', 'architecture/decisions/0006', 'architecture/decisions/0007'], |
| 156 | + }, |
| 157 | + ], |
| 158 | + }, |
| 159 | + { |
| 160 | + label: 'Contributing', |
| 161 | + items: [ |
| 162 | + { slug: 'contributing', label: 'Contributor guide' }, |
| 163 | + { slug: 'contributing/developer-guide', label: 'Developer guide' }, |
| 164 | + { slug: 'contributing/testing', label: 'Build and test' }, |
| 165 | + { slug: 'contributing/add-action', label: 'Add an action or tool' }, |
| 166 | + { slug: 'contributing/add-provider', label: 'Add a provider' }, |
| 167 | + { slug: 'contributing/add-migration', label: 'Add a migration' }, |
| 168 | + { slug: 'contributing/documentation', label: 'Write documentation' }, |
| 169 | + { slug: 'contributing/release', label: 'Release process' }, |
| 170 | + ], |
| 171 | + }, |
| 172 | + ], |
| 173 | + }), |
| 174 | + ], |
| 175 | +}); |
0 commit comments