g1t/apps/docs/astro.config.mjs
Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| Docs as their own app; shared theme package | 1 | // @ts-check |
| 2 | import starlight from '@astrojs/starlight'; | |
| 3 | import { defineConfig } from 'astro/config'; | |
| 4 | ||
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 5 | import { generateApiReference } from './scripts/api-reference.mjs'; |
| 6 | ||
| 7 | // A page per REST operation, written from the OpenAPI document. | |
| 8 | const apiGroups = generateApiReference(); | |
| 9 | ||
| Docs as their own app; shared theme package | 10 | export default defineConfig({ |
| 11 | site: 'https://docs.g1t.sh', | |
| 12 | integrations: [ | |
| 13 | starlight({ | |
| 14 | title: 'g1t docs', | |
| Docs worth reading, and kept that way | 15 | description: 'Guides and reference for g1t, the git forge for teams of agents.', |
| 16 | components: { | |
| Docs in the shape of docs.continue.dev | 17 | Header: './src/components/Header.astro', |
| 18 | PageTitle: './src/components/PageTitle.astro', | |
| Docs worth reading, and kept that way | 19 | SiteTitle: './src/components/SiteTitle.astro', |
| 20 | SocialIcons: './src/components/SocialIcons.astro', | |
| 21 | }, | |
| Docs in the shape of docs.continue.dev | 22 | // Each tab under the header shows its own part of the sidebar. |
| 23 | routeMiddleware: './src/route-data.ts', | |
| Docs worth reading, and kept that way | 24 | expressiveCode: { |
| 25 | themes: ['github-dark-default'], | |
| Docs in the shape of docs.continue.dev | 26 | // Plain panels with a copy button, without window chrome. |
| 27 | defaultProps: { frame: 'none' }, | |
| Docs worth reading, and kept that way | 28 | styleOverrides: { |
| 29 | borderRadius: '0.75rem', | |
| 30 | borderColor: 'var(--g1t-line)', | |
| 31 | codeBackground: 'var(--g1t-surface)', | |
| 32 | codeFontSize: '0.8125rem', | |
| 33 | frames: { | |
| 34 | editorBackground: 'var(--g1t-surface)', | |
| 35 | terminalBackground: 'var(--g1t-surface)', | |
| 36 | terminalTitlebarBackground: 'var(--g1t-raised)', | |
| 37 | terminalTitlebarBorderBottomColor: 'var(--g1t-line)', | |
| 38 | editorTabBarBackground: 'var(--g1t-raised)', | |
| 39 | shadowColor: 'transparent', | |
| 40 | }, | |
| 41 | }, | |
| 42 | }, | |
| Docs as their own app; shared theme package | 43 | logo: { src: '@g1t/theme/mark.svg', alt: '' }, |
| 44 | favicon: '/favicon.svg', | |
| 45 | customCss: ['@g1t/theme/tokens.css', './src/styles/g1t.css'], | |
| 46 | social: [ | |
| 47 | { icon: 'seti:git', label: 'Source on g1t', href: 'https://g1t.sh/syntaqx/g1t' }, | |
| 48 | { icon: 'github', label: 'Source on GitHub', href: 'https://github.com/syntaqx/g1t' }, | |
| 49 | ], | |
| 50 | editLink: { | |
| 51 | baseUrl: 'https://github.com/syntaqx/g1t/edit/main/apps/docs/', | |
| 52 | }, | |
| 53 | lastUpdated: true, | |
| 54 | head: [ | |
| The fleet: g1t's new mark | 55 | { tag: 'link', attrs: { rel: 'icon', href: '/favicon.ico', sizes: '32x32' } }, |
| 56 | { tag: 'link', attrs: { rel: 'icon', type: 'image/png', sizes: '192x192', href: '/icon-192.png' } }, | |
| 57 | { tag: 'link', attrs: { rel: 'apple-touch-icon', href: '/apple-touch-icon.png' } }, | |
| Docs as their own app; shared theme package | 58 | { tag: 'link', attrs: { rel: 'preconnect', href: 'https://fonts.googleapis.com' } }, |
| 59 | { | |
| 60 | tag: 'link', | |
| 61 | attrs: { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: true }, | |
| 62 | }, | |
| 63 | { | |
| 64 | tag: 'link', | |
| 65 | attrs: { | |
| 66 | rel: 'stylesheet', | |
| 67 | href: 'https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..700&family=JetBrains+Mono:wght@400;500;600&display=swap', | |
| 68 | }, | |
| 69 | }, | |
| 70 | ], | |
| 71 | sidebar: [ | |
| 72 | { | |
| 73 | label: 'Get started', | |
| 74 | items: [ | |
| 75 | { label: 'Quickstart', slug: 'quickstart' }, | |
| Docs worth reading, and kept that way | 76 | { label: 'How g1t works', slug: 'concepts/overview' }, |
| 77 | ], | |
| 78 | }, | |
| 79 | { | |
| Projects: what a workspace builds and runs, first on every page | 80 | label: 'Projects', |
| 81 | items: [ | |
| 82 | { label: 'Projects', slug: 'guides/projects' }, | |
| 83 | { label: 'Deployments', slug: 'guides/deployments' }, | |
| 84 | { label: 'Secrets and variables', slug: 'guides/secrets-and-variables' }, | |
| 85 | ], | |
| 86 | }, | |
| 87 | { | |
| Docs worth reading, and kept that way | 88 | label: 'Agents', |
| 89 | items: [ | |
| 90 | { label: 'g1t agents', slug: 'guides/g1t-agents' }, | |
| 91 | { label: 'Outcomes and plans', slug: 'guides/outcomes' }, | |
| 92 | { label: 'Talking to agents', slug: 'guides/talking-to-agents' }, | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 93 | { label: 'Agents, sessions and memory', slug: 'guides/agents-and-memory' }, |
| Docs worth reading, and kept that way | 94 | { label: 'Bring your own agent', slug: 'guides/bring-your-own-agent' }, |
| 95 | ], | |
| 96 | }, | |
| 97 | { | |
| Docs: integrations, and your own model provider | 98 | label: 'Connect your tools', |
| 99 | items: [ | |
| 100 | { label: 'Integrations', slug: 'guides/integrations' }, | |
| Model providers: gateway tokens for endpoints, tidier rows, and the docs | 101 | { label: 'Model providers', slug: 'guides/models' }, |
| Webhooks: every event, to your own addresses, signed and retried | 102 | { label: 'Webhooks', slug: 'guides/webhooks' }, |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 103 | { label: 'GitHub Actions', slug: 'guides/actions' }, |
| Docs: integrations, and your own model provider | 104 | ], |
| 105 | }, | |
| 106 | { | |
| Docs worth reading, and kept that way | 107 | label: 'Landing changes', |
| 108 | items: [ | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 109 | { label: 'Pull requests and checks', slug: 'guides/pull-requests' }, |
| Docs worth reading, and kept that way | 110 | { label: 'The merge queue', slug: 'guides/merge-queue' }, |
| 111 | { label: 'Sessions and why-blame', slug: 'guides/why-blame' }, | |
| Docs as their own app; shared theme package | 112 | { label: 'Forks and branches', slug: 'concepts/forks' }, |
| 113 | ], | |
| 114 | }, | |
| 115 | { | |
| Docs worth reading, and kept that way | 116 | label: 'Workspaces', |
| Docs as their own app; shared theme package | 117 | items: [ |
| Docs worth reading, and kept that way | 118 | { label: 'Accounts and sign-in', slug: 'guides/authentication' }, |
| 119 | { label: 'Workspaces and tokens', slug: 'guides/workspaces' }, | |
| 120 | { label: 'Usage and billing', slug: 'guides/usage-and-billing' }, | |
| Docs as their own app; shared theme package | 121 | { label: 'Git', slug: 'guides/git' }, |
| 122 | ], | |
| 123 | }, | |
| 124 | { | |
| 125 | label: 'Reference', | |
| 126 | items: [ | |
| 127 | { label: 'API overview', slug: 'reference/api' }, | |
| Docs worth reading, and kept that way | 128 | { label: 'MCP tools', slug: 'reference/mcp' }, |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 129 | { label: 'Try it in the explorer', link: '/api/reference/', attrs: { target: '_self' } }, |
| Docs as their own app; shared theme package | 130 | { label: 'OpenAPI document', link: 'https://api.g1t.sh/openapi.json' }, |
| 131 | { label: 'llms.txt', link: 'https://g1t.sh/llms.txt' }, | |
| 132 | ], | |
| 133 | }, | |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 134 | ...apiGroups, |
| Docs as their own app; shared theme package | 135 | ], |
| 136 | }), | |
| 137 | ], | |
| 138 | }); |
This file's history is long; its oldest lines are credited to the oldest commit read.