Skip to content

g1t/apps/docs/astro.config.mjs

178 lines7,136 bytesCodeBlame

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 package1// @ts-check
2import starlight from '@astrojs/starlight';
3import { defineConfig } from 'astro/config';
4
Merge branch 'worktree-agent-ab2e39e11a6493412'5import { generateApiReference } from './scripts/api-reference.mjs';
6
7// A page per REST operation, written from the OpenAPI document.
8const apiGroups = generateApiReference();
9
Docs as their own app; shared theme package10export default defineConfig({
11 site: 'https://docs.g1t.sh',
g1t is one name: its agent's work, commits and comments show as @g1t, and nobody can claim g1t or g1t-agent12 // Pages that moved, so links already shared still arrive.
13 redirects: {
14 '/guides/g1t-agents/': '/guides/working-with-g1t/',
15 },
Docs as their own app; shared theme package16 integrations: [
17 starlight({
18 title: 'g1t docs',
status.g1t.sh with incident management, invites that land you in the workspace, settings as pages, usage without quotas19 description: 'Guides and reference for g1t, where people and agents ship software together.',
Docs worth reading, and kept that way20 components: {
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look21 Footer: './src/components/Footer.astro',
22 Head: './src/components/Head.astro',
Docs in the shape of docs.continue.dev23 Header: './src/components/Header.astro',
24 PageTitle: './src/components/PageTitle.astro',
Docs worth reading, and kept that way25 SiteTitle: './src/components/SiteTitle.astro',
26 SocialIcons: './src/components/SocialIcons.astro',
27 },
Docs in the shape of docs.continue.dev28 // Each tab under the header shows its own part of the sidebar.
29 routeMiddleware: './src/route-data.ts',
Docs worth reading, and kept that way30 expressiveCode: {
31 themes: ['github-dark-default'],
Docs in the shape of docs.continue.dev32 // Plain panels with a copy button, without window chrome.
33 defaultProps: { frame: 'none' },
Docs worth reading, and kept that way34 styleOverrides: {
35 borderRadius: '0.75rem',
36 borderColor: 'var(--g1t-line)',
37 codeBackground: 'var(--g1t-surface)',
38 codeFontSize: '0.8125rem',
39 frames: {
40 editorBackground: 'var(--g1t-surface)',
41 terminalBackground: 'var(--g1t-surface)',
42 terminalTitlebarBackground: 'var(--g1t-raised)',
43 terminalTitlebarBorderBottomColor: 'var(--g1t-line)',
44 editorTabBarBackground: 'var(--g1t-raised)',
45 shadowColor: 'transparent',
46 },
47 },
48 },
Docs as their own app; shared theme package49 logo: { src: '@g1t/theme/mark.svg', alt: '' },
50 favicon: '/favicon.svg',
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look51 customCss: ['@g1t/theme/fonts.css', '@g1t/theme/tokens.css', './src/styles/g1t.css'],
Docs as their own app; shared theme package52 editLink: {
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look53 baseUrl: 'https://g1t.sh/flagon-io/g1t/blob/main/apps/docs/',
Docs as their own app; shared theme package54 },
55 lastUpdated: true,
56 head: [
The fleet: g1t's new mark57 { tag: 'link', attrs: { rel: 'icon', href: '/favicon.ico', sizes: '32x32' } },
58 { tag: 'link', attrs: { rel: 'icon', type: 'image/png', sizes: '192x192', href: '/icon-192.png' } },
59 { tag: 'link', attrs: { rel: 'apple-touch-icon', href: '/apple-touch-icon.png' } },
Docs as their own app; shared theme package60 ],
61 sidebar: [
62 {
63 label: 'Get started',
64 items: [
65 { label: 'Quickstart', slug: 'quickstart' },
Docs worth reading, and kept that way66 { label: 'How g1t works', slug: 'concepts/overview' },
Docs: the inbox, what lands in it and why, its tabs and actions67 { label: 'Your inbox', slug: 'guides/inbox' },
Search across all of g1t, Explore, and a command palette68 { label: 'Search and Explore', slug: 'guides/search' },
status.g1t.sh with incident management, invites that land you in the workspace, settings as pages, usage without quotas69 { label: 'Status and incidents', slug: 'guides/status' },
Docs worth reading, and kept that way70 ],
71 },
72 {
Projects: what a workspace builds and runs, first on every page73 label: 'Projects',
74 items: [
75 { label: 'Projects', slug: 'guides/projects' },
76 { label: 'Deployments', slug: 'guides/deployments' },
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb9777 { label: 'Deployments API', slug: 'guides/deployments-api' },
Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member78 { label: 'Packages', slug: 'guides/packages' },
79 { label: 'Container images', slug: 'guides/containers' },
npm on g1t.sh: publish and install @<workspace>/<name> with the npm CLI and a g1t token80 { label: 'npm', slug: 'guides/npm' },
Cargo on g1t.sh: a sparse registry per workspace, cargo publish/add/yank/search with a g1t token; npm rows show their version81 { label: 'Cargo', slug: 'guides/cargo' },
Composer from the workspace's own repositories, and go get from g1t.sh82 { label: 'Composer', slug: 'guides/composer' },
Merge branch 'worktree-agent-a6a121745e81f639f'83 { label: 'Maven', slug: 'guides/maven' },
84 { label: 'NuGet', slug: 'guides/nuget' },
85 { label: 'RubyGems', slug: 'guides/rubygems' },
Composer from the workspace's own repositories, and go get from g1t.sh86 { label: 'Go modules', slug: 'guides/go' },
Projects: what a workspace builds and runs, first on every page87 { label: 'Secrets and variables', slug: 'guides/secrets-and-variables' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar88 ],
89 },
90 {
91 label: 'Security',
92 items: [
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API93 { label: 'Security', slug: 'guides/security' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar94 { label: 'Dependency updates', slug: 'guides/dependency-updates' },
95 { label: 'Secret protection', slug: 'guides/security/secret-protection' },
96 { label: 'Code scanning', slug: 'guides/security/code-scanning' },
97 { label: 'Supply chain', slug: 'guides/security/supply-chain' },
98 { label: 'Security overview', slug: 'guides/security/security-overview' },
99 { label: "What's free and what's paid", slug: 'guides/security/pricing' },
Projects: what a workspace builds and runs, first on every page100 ],
101 },
102 {
Docs worth reading, and kept that way103 label: 'Agents',
104 items: [
g1t is one name: its agent's work, commits and comments show as @g1t, and nobody can claim g1t or g1t-agent105 { label: "g1t's agent", slug: 'guides/working-with-g1t' },
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API106 { label: 'Guardrails', slug: 'guides/guardrails' },
Docs worth reading, and kept that way107 { label: 'Outcomes and plans', slug: 'guides/outcomes' },
108 { label: 'Talking to agents', slug: 'guides/talking-to-agents' },
Agents and memory, checks and conflicts, profiles, slug renames, custom domains109 { label: 'Agents, sessions and memory', slug: 'guides/agents-and-memory' },
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API110 { label: 'Context hub', slug: 'guides/context-hub' },
Docs worth reading, and kept that way111 { label: 'Bring your own agent', slug: 'guides/bring-your-own-agent' },
112 ],
113 },
114 {
Docs: integrations, and your own model provider115 label: 'Connect your tools',
116 items: [
117 { label: 'Integrations', slug: 'guides/integrations' },
Model providers: gateway tokens for endpoints, tidier rows, and the docs118 { label: 'Model providers', slug: 'guides/models' },
Merge the AI Gateway: Anthropic's Messages API on a workspace's tokens119 { label: 'AI Gateway', slug: 'guides/ai-gateway' },
Webhooks: every event, to your own addresses, signed and retried120 { label: 'Webhooks', slug: 'guides/webhooks' },
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs121 { label: 'GitHub Actions', slug: 'guides/actions' },
Fast pages, required checks on the branch, self-hosted runners, honest incidents122 { label: 'Self-hosted runners', slug: 'guides/self-hosted-runners' },
Docs: integrations, and your own model provider123 ],
124 },
125 {
Docs worth reading, and kept that way126 label: 'Landing changes',
127 items: [
Agents and memory, checks and conflicts, profiles, slug renames, custom domains128 { label: 'Pull requests and checks', slug: 'guides/pull-requests' },
Merge checks: statuses and check runs on every commit129 { label: 'Checks', slug: 'guides/checks' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar130 { label: 'Pull requests into other branches', slug: 'guides/base-branches' },
131 { label: 'Labels', slug: 'guides/labels' },
132 { label: 'Milestones', slug: 'guides/milestones' },
Docs worth reading, and kept that way133 { label: 'The merge queue', slug: 'guides/merge-queue' },
Merge rulesets: branch and tag rules, agent-first, enforced on push and merge134 { label: 'Rules', slug: 'guides/rules' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar135 { label: 'CODEOWNERS', slug: 'guides/codeowners' },
Docs worth reading, and kept that way136 { label: 'Sessions and why-blame', slug: 'guides/why-blame' },
Docs as their own app; shared theme package137 { label: 'Forks and branches', slug: 'concepts/forks' },
138 ],
139 },
140 {
Docs worth reading, and kept that way141 label: 'Workspaces',
Docs as their own app; shared theme package142 items: [
Docs worth reading, and kept that way143 { label: 'Accounts and sign-in', slug: 'guides/authentication' },
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look144 { label: 'GitHub', slug: 'guides/github' },
Docs worth reading, and kept that way145 { label: 'Workspaces and tokens', slug: 'guides/workspaces' },
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look146 { label: 'Access and roles', slug: 'guides/access-and-roles' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar147 { label: 'Teams', slug: 'guides/teams' },
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look148 { label: 'Managing a repository', slug: 'guides/managing-repositories' },
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97149 { label: 'Releases', slug: 'guides/releases' },
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look150 { label: 'Transferring a repository', slug: 'guides/transferring-repositories' },
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API151 { label: 'Audit log', slug: 'guides/audit-log' },
Docs worth reading, and kept that way152 { label: 'Usage and billing', slug: 'guides/usage-and-billing' },
Docs as their own app; shared theme package153 { label: 'Git', slug: 'guides/git' },
Running g1t yourself: the design, a docker compose proof, and a guide to what works today154 { label: 'Run g1t yourself', slug: 'guides/self-hosting' },
Docs as their own app; shared theme package155 ],
156 },
157 {
158 label: 'Reference',
159 items: [
160 { label: 'API overview', slug: 'reference/api' },
Docs worth reading, and kept that way161 { label: 'MCP tools', slug: 'reference/mcp' },
Merge branch 'worktree-agent-ab2e39e11a6493412'162 { label: 'Try it in the explorer', link: '/api/reference/', attrs: { target: '_self' } },
Docs as their own app; shared theme package163 { label: 'OpenAPI document', link: 'https://api.g1t.sh/openapi.json' },
164 { label: 'llms.txt', link: 'https://g1t.sh/llms.txt' },
165 ],
166 },
Fast pages, required checks on the branch, self-hosted runners, honest incidents167 {
168 label: 'About',
What g1t can't do yet, and an open letter to Cloudflare169 items: [
170 { label: "What g1t can't do yet", slug: 'about/limitations' },
171 { label: 'An open letter to Cloudflare', slug: 'about/open-letter-to-cloudflare' },
172 ],
Fast pages, required checks on the branch, self-hosted runners, honest incidents173 },
Merge branch 'worktree-agent-ab2e39e11a6493412'174 ...apiGroups,
Docs as their own app; shared theme package175 ],
176 }),
177 ],
178});

This file's history is long; its oldest lines are credited to the oldest commit read.