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.
| Dark gray base with lavender as an accent, and a live outcome view for plans | 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 | ||
| Dark gray base with lavender as an accent, and a live outcome view for plans | 10 | export 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-agent | 12 | // Pages that moved, so links already shared still arrive. |
| 13 | redirects: { | |
| 14 | '/guides/g1t-agents/': '/guides/working-with-g1t/', | |
| 15 | }, | |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 16 | integrations: [ |
| 17 | starlight({ | |
| 18 | title: 'g1t docs', | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 19 | description: 'Guides and reference for g1t, the workspace where a team and its agents talk, work and ship.', |
| Docs worth reading, and kept that way | 20 | components: { |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 21 | Footer: './src/components/Footer.astro', |
| 22 | Head: './src/components/Head.astro', | |
| Docs in the shape of docs.continue.dev | 23 | Header: './src/components/Header.astro', |
| 24 | PageTitle: './src/components/PageTitle.astro', | |
| Docs worth reading, and kept that way | 25 | SiteTitle: './src/components/SiteTitle.astro', |
| 26 | SocialIcons: './src/components/SocialIcons.astro', | |
| 27 | }, | |
| Docs in the shape of docs.continue.dev | 28 | // Each tab under the header shows its own part of the sidebar. |
| 29 | routeMiddleware: './src/route-data.ts', | |
| Docs worth reading, and kept that way | 30 | expressiveCode: { |
| 31 | themes: ['github-dark-default'], | |
| Docs in the shape of docs.continue.dev | 32 | // Plain panels with a copy button, without window chrome. |
| 33 | defaultProps: { frame: 'none' }, | |
| Docs worth reading, and kept that way | 34 | 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 | }, | |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 49 | 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 look | 51 | customCss: ['@g1t/theme/fonts.css', '@g1t/theme/tokens.css', './src/styles/g1t.css'], |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 52 | editLink: { |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 53 | baseUrl: 'https://g1t.sh/flagon-io/g1t/blob/main/apps/docs/', |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 54 | }, |
| 55 | lastUpdated: true, | |
| 56 | head: [ | |
| The fleet: g1t's new mark | 57 | { 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' } }, | |
| Agents mode: an overview of every agent's work and spend, and each agent's sessions, memory, routines, spend, activity and versions | 59 | { tag: 'link', attrs: { rel: 'icon', type: 'image/png', sizes: '512x512', href: '/icon-512.png' } }, |
| 60 | { tag: 'link', attrs: { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' } }, | |
| 61 | { tag: 'link', attrs: { rel: 'manifest', href: '/site.webmanifest' } }, | |
| 62 | { tag: 'meta', attrs: { name: 'theme-color', content: '#0f0f11' } }, | |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 63 | ], |
| 64 | sidebar: [ | |
| 65 | { | |
| 66 | label: 'Get started', | |
| 67 | items: [ | |
| 68 | { label: 'Quickstart', slug: 'quickstart' }, | |
| Docs worth reading, and kept that way | 69 | { label: 'How g1t works', slug: 'concepts/overview' }, |
| Docs: the inbox, what lands in it and why, its tabs and actions | 70 | { label: 'Your inbox', slug: 'guides/inbox' }, |
| Search across all of g1t, Explore, and a command palette | 71 | { 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 quotas | 72 | { label: 'Status and incidents', slug: 'guides/status' }, |
| Docs worth reading, and kept that way | 73 | ], |
| 74 | }, | |
| 75 | { | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 76 | label: 'Chat and agents', |
| 77 | items: [ | |
| 78 | { label: 'Chat', slug: 'guides/chat' }, | |
| 79 | { label: 'Agents', slug: 'guides/agents' }, | |
| Agents mode: an overview of every agent's work and spend, and each agent's sessions, memory, routines, spend, activity and versions | 80 | { label: 'Sessions', slug: 'guides/agent-sessions' }, |
| 81 | { label: 'Agent memory', slug: 'guides/agent-memory' }, | |
| 82 | { label: 'Routines', slug: 'guides/agent-routines' }, | |
| 83 | { label: 'Agent budgets and spend', slug: 'guides/agent-budgets' }, | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 84 | { label: 'What agents can do for whom', slug: 'guides/agent-access' }, |
| Docs: a workspace knowledge base people and agents write together | 85 | { label: 'Docs', slug: 'guides/docs' }, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 86 | { label: 'Agents in your chat app', slug: 'guides/chat-app', badge: { text: 'Soon', variant: 'default' } }, |
| 87 | ], | |
| 88 | }, | |
| 89 | { | |
| Projects: what a workspace builds and runs, first on every page | 90 | label: 'Projects', |
| 91 | items: [ | |
| 92 | { label: 'Projects', slug: 'guides/projects' }, | |
| 93 | { label: 'Deployments', slug: 'guides/deployments' }, | |
| Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97 | 94 | { 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 member | 95 | { label: 'Packages', slug: 'guides/packages' }, |
| 96 | { label: 'Container images', slug: 'guides/containers' }, | |
| npm on g1t.sh: publish and install @<workspace>/<name> with the npm CLI and a g1t token | 97 | { 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 version | 98 | { label: 'Cargo', slug: 'guides/cargo' }, |
| Composer from the workspace's own repositories, and go get from g1t.sh | 99 | { label: 'Composer', slug: 'guides/composer' }, |
| Merge branch 'worktree-agent-a6a121745e81f639f' | 100 | { label: 'Maven', slug: 'guides/maven' }, |
| 101 | { label: 'NuGet', slug: 'guides/nuget' }, | |
| 102 | { label: 'RubyGems', slug: 'guides/rubygems' }, | |
| Composer from the workspace's own repositories, and go get from g1t.sh | 103 | { label: 'Go modules', slug: 'guides/go' }, |
| Projects: what a workspace builds and runs, first on every page | 104 | { label: 'Secrets and variables', slug: 'guides/secrets-and-variables' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 105 | ], |
| 106 | }, | |
| 107 | { | |
| 108 | label: 'Security', | |
| 109 | items: [ | |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 110 | { label: 'Security', slug: 'guides/security' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 111 | { label: 'Dependency updates', slug: 'guides/dependency-updates' }, |
| 112 | { label: 'Secret protection', slug: 'guides/security/secret-protection' }, | |
| 113 | { label: 'Code scanning', slug: 'guides/security/code-scanning' }, | |
| 114 | { label: 'Supply chain', slug: 'guides/security/supply-chain' }, | |
| 115 | { label: 'Security overview', slug: 'guides/security/security-overview' }, | |
| 116 | { label: "What's free and what's paid", slug: 'guides/security/pricing' }, | |
| Projects: what a workspace builds and runs, first on every page | 117 | ], |
| 118 | }, | |
| 119 | { | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 120 | label: 'Agents on code', |
| Docs worth reading, and kept that way | 121 | items: [ |
| g1t is one name: its agent's work, commits and comments show as @g1t, and nobody can claim g1t or g1t-agent | 122 | { 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 API | 123 | { label: 'Guardrails', slug: 'guides/guardrails' }, |
| Docs worth reading, and kept that way | 124 | { label: 'Outcomes and plans', slug: 'guides/outcomes' }, |
| 125 | { label: 'Talking to agents', slug: 'guides/talking-to-agents' }, | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 126 | { 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 API | 127 | { label: 'Context hub', slug: 'guides/context-hub' }, |
| Docs worth reading, and kept that way | 128 | { label: 'Bring your own agent', slug: 'guides/bring-your-own-agent' }, |
| 129 | ], | |
| 130 | }, | |
| 131 | { | |
| Docs: integrations, and your own model provider | 132 | label: 'Connect your tools', |
| 133 | items: [ | |
| 134 | { label: 'Integrations', slug: 'guides/integrations' }, | |
| Model providers: gateway tokens for endpoints, tidier rows, and the docs | 135 | { label: 'Model providers', slug: 'guides/models' }, |
| Merge the AI Gateway: Anthropic's Messages API on a workspace's tokens | 136 | { label: 'AI Gateway', slug: 'guides/ai-gateway' }, |
| Webhooks: every event, to your own addresses, signed and retried | 137 | { label: 'Webhooks', slug: 'guides/webhooks' }, |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 138 | { label: 'GitHub Actions', slug: 'guides/actions' }, |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 139 | { label: 'Self-hosted runners', slug: 'guides/self-hosted-runners' }, |
| Docs: integrations, and your own model provider | 140 | ], |
| 141 | }, | |
| 142 | { | |
| Docs worth reading, and kept that way | 143 | label: 'Landing changes', |
| 144 | items: [ | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 145 | { label: 'Pull requests and checks', slug: 'guides/pull-requests' }, |
| Merge checks: statuses and check runs on every commit | 146 | { label: 'Checks', slug: 'guides/checks' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 147 | { label: 'Pull requests into other branches', slug: 'guides/base-branches' }, |
| 148 | { label: 'Labels', slug: 'guides/labels' }, | |
| 149 | { label: 'Milestones', slug: 'guides/milestones' }, | |
| Docs worth reading, and kept that way | 150 | { label: 'The merge queue', slug: 'guides/merge-queue' }, |
| Merge rulesets: branch and tag rules, agent-first, enforced on push and merge | 151 | { label: 'Rules', slug: 'guides/rules' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 152 | { label: 'CODEOWNERS', slug: 'guides/codeowners' }, |
| Docs worth reading, and kept that way | 153 | { label: 'Sessions and why-blame', slug: 'guides/why-blame' }, |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 154 | { label: 'Forks and branches', slug: 'concepts/forks' }, |
| 155 | ], | |
| 156 | }, | |
| 157 | { | |
| Docs worth reading, and kept that way | 158 | label: 'Workspaces', |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 159 | items: [ |
| Docs worth reading, and kept that way | 160 | { label: 'Accounts and sign-in', slug: 'guides/authentication' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 161 | { label: 'GitHub', slug: 'guides/github' }, |
| Docs worth reading, and kept that way | 162 | { label: 'Workspaces and tokens', slug: 'guides/workspaces' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 163 | { label: 'Access and roles', slug: 'guides/access-and-roles' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 164 | { label: 'Teams', slug: 'guides/teams' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 165 | { label: 'Managing a repository', slug: 'guides/managing-repositories' }, |
| Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97 | 166 | { label: 'Releases', slug: 'guides/releases' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 167 | { 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 API | 168 | { label: 'Audit log', slug: 'guides/audit-log' }, |
| Docs worth reading, and kept that way | 169 | { label: 'Usage and billing', slug: 'guides/usage-and-billing' }, |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 170 | { label: 'Git', slug: 'guides/git' }, |
| Running g1t yourself: the design, a docker compose proof, and a guide to what works today | 171 | { label: 'Run g1t yourself', slug: 'guides/self-hosting' }, |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 172 | ], |
| 173 | }, | |
| 174 | { | |
| 175 | label: 'Reference', | |
| 176 | items: [ | |
| 177 | { label: 'API overview', slug: 'reference/api' }, | |
| Docs worth reading, and kept that way | 178 | { label: 'MCP tools', slug: 'reference/mcp' }, |
| Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails | 179 | { label: 'Rate limits', slug: 'reference/rate-limits' }, |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 180 | { label: 'Try it in the explorer', link: '/api/reference/', attrs: { target: '_self' } }, |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 181 | { label: 'OpenAPI document', link: 'https://api.g1t.sh/openapi.json' }, |
| 182 | { label: 'llms.txt', link: 'https://g1t.sh/llms.txt' }, | |
| 183 | ], | |
| 184 | }, | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 185 | { |
| 186 | label: 'About', | |
| What g1t can't do yet, and an open letter to Cloudflare | 187 | items: [ |
| 188 | { label: "What g1t can't do yet", slug: 'about/limitations' }, | |
| 189 | { label: 'An open letter to Cloudflare', slug: 'about/open-letter-to-cloudflare' }, | |
| 190 | ], | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 191 | }, |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 192 | ...apiGroups, |
| Dark gray base with lavender as an accent, and a live outcome view for plans | 193 | ], |
| 194 | }), | |
| 195 | ], | |
| 196 | }); |
This file's history is long; its oldest lines are credited to the oldest commit read.