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.
| Actions: workflow notes say what the cache and artifacts do now | 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 | ||
| Actions: workflow notes say what the cache and artifacts do now | 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/', | |
| g1t is described as the product it is in alpha, and its shell takes the new shape: the README, the docs home and docs/PLAN.md label every feature Live, Preview or Coming; a floating dock with the g1t mark, Today, Chat, Notifications, Agents, Code, Artifacts, your pinned apps and the Apps launcher, with People, Workspace and the account menu (now holding help) at its foot; the workspace's logo and switcher heading a flat sidebar that folds away with Ctrl B, or leading the header's breadcrumbs where there is none; the page in a rounded panel with a full-width header; Today as the front page, with first-time acceptance of agents' pull requests, what needs you and what's at stake, spend today and one item to start with, every number from a service; Notifications in place of the Inbox at /notifications; a bottom bar and More sheet on phones; and sign-in, sign-up, two-factor, reset, invites and choosing a workspace on standalone pages with no app around them. | 15 | '/guides/inbox/': '/guides/notifications/', |
| The front page is Home: where you're needed comes first, however long ago it started, with what's at stake and how long it has waited; then what happened since you were last here, in words, with the agent work that settled, what landed, what deployed, what was decided and what was spent, switchable to the last 24 hours or 7 days; then what's running now. Your last visit is kept with your account, so it's the same on every device; Today's old address leads here. The home guide says how. | 16 | '/guides/today/': '/guides/home/', |
| g1t is one name: its agent's work, commits and comments show as @g1t, and nobody can claim g1t or g1t-agent | 17 | }, |
| Actions: workflow notes say what the cache and artifacts do now | 18 | integrations: [ |
| 19 | starlight({ | |
| 20 | title: 'g1t docs', | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 21 | description: 'Guides and reference for g1t, the workspace where a team and its agents talk, work and ship.', |
| Actions: workflow notes say what the cache and artifacts do now | 22 | components: { |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 23 | Footer: './src/components/Footer.astro', |
| 24 | Head: './src/components/Head.astro', | |
| Actions: workflow notes say what the cache and artifacts do now | 25 | Header: './src/components/Header.astro', |
| 26 | PageTitle: './src/components/PageTitle.astro', | |
| 27 | SiteTitle: './src/components/SiteTitle.astro', | |
| 28 | SocialIcons: './src/components/SocialIcons.astro', | |
| 29 | }, | |
| 30 | // Each tab under the header shows its own part of the sidebar. | |
| 31 | routeMiddleware: './src/route-data.ts', | |
| 32 | expressiveCode: { | |
| docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where. | 33 | // Dark first, as the base; the light one where the page is light. |
| 34 | // Starlight switches between them by <html data-theme>. | |
| 35 | themes: ['github-dark-default', 'github-light-default'], | |
| 36 | useDarkModeMediaQuery: false, | |
| Actions: workflow notes say what the cache and artifacts do now | 37 | // Plain panels with a copy button, without window chrome. |
| 38 | defaultProps: { frame: 'none' }, | |
| 39 | styleOverrides: { | |
| 40 | borderRadius: '0.75rem', | |
| 41 | borderColor: 'var(--g1t-line)', | |
| 42 | codeBackground: 'var(--g1t-surface)', | |
| 43 | codeFontSize: '0.8125rem', | |
| 44 | frames: { | |
| 45 | editorBackground: 'var(--g1t-surface)', | |
| 46 | terminalBackground: 'var(--g1t-surface)', | |
| 47 | terminalTitlebarBackground: 'var(--g1t-raised)', | |
| 48 | terminalTitlebarBorderBottomColor: 'var(--g1t-line)', | |
| 49 | editorTabBarBackground: 'var(--g1t-raised)', | |
| 50 | shadowColor: 'transparent', | |
| 51 | }, | |
| 52 | }, | |
| 53 | }, | |
| 54 | logo: { src: '@g1t/theme/mark.svg', alt: '' }, | |
| 55 | favicon: '/favicon.svg', | |
| docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where. | 56 | customCss: [ |
| 57 | '@g1t/theme/fonts.css', | |
| 58 | '@g1t/theme/tokens.css', | |
| 59 | './src/styles/light.css', | |
| 60 | './src/styles/g1t.css', | |
| 61 | ], | |
| Actions: workflow notes say what the cache and artifacts do now | 62 | editLink: { |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 63 | baseUrl: 'https://g1t.sh/flagon-io/g1t/blob/main/apps/docs/', |
| Actions: workflow notes say what the cache and artifacts do now | 64 | }, |
| 65 | lastUpdated: true, | |
| 66 | head: [ | |
| The fleet: g1t's new mark | 67 | { tag: 'link', attrs: { rel: 'icon', href: '/favicon.ico', sizes: '32x32' } }, |
| 68 | { 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 | 69 | { tag: 'link', attrs: { rel: 'icon', type: 'image/png', sizes: '512x512', href: '/icon-512.png' } }, |
| 70 | { tag: 'link', attrs: { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' } }, | |
| 71 | { tag: 'link', attrs: { rel: 'manifest', href: '/site.webmanifest' } }, | |
| docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where. | 72 | // The browser's own bars, in the page's colour for the system's setting. |
| 73 | { tag: 'meta', attrs: { name: 'theme-color', content: '#0f0f11', media: '(prefers-color-scheme: dark)' } }, | |
| 74 | { tag: 'meta', attrs: { name: 'theme-color', content: '#fbfbfa', media: '(prefers-color-scheme: light)' } }, | |
| Actions: workflow notes say what the cache and artifacts do now | 75 | ], |
| 76 | sidebar: [ | |
| 77 | { | |
| 78 | label: 'Get started', | |
| 79 | items: [ | |
| 80 | { label: 'Quickstart', slug: 'quickstart' }, | |
| 81 | { label: 'How g1t works', slug: 'concepts/overview' }, | |
| The front page is Home: where you're needed comes first, however long ago it started, with what's at stake and how long it has waited; then what happened since you were last here, in words, with the agent work that settled, what landed, what deployed, what was decided and what was spent, switchable to the last 24 hours or 7 days; then what's running now. Your last visit is kept with your account, so it's the same on every device; Today's old address leads here. The home guide says how. | 82 | { label: 'Home', slug: 'guides/home' }, |
| g1t is described as the product it is in alpha, and its shell takes the new shape: the README, the docs home and docs/PLAN.md label every feature Live, Preview or Coming; a floating dock with the g1t mark, Today, Chat, Notifications, Agents, Code, Artifacts, your pinned apps and the Apps launcher, with People, Workspace and the account menu (now holding help) at its foot; the workspace's logo and switcher heading a flat sidebar that folds away with Ctrl B, or leading the header's breadcrumbs where there is none; the page in a rounded panel with a full-width header; Today as the front page, with first-time acceptance of agents' pull requests, what needs you and what's at stake, spend today and one item to start with, every number from a service; Notifications in place of the Inbox at /notifications; a bottom bar and More sheet on phones; and sign-in, sign-up, two-factor, reset, invites and choosing a workspace on standalone pages with no app around them. | 83 | { label: 'Notifications', slug: 'guides/notifications' }, |
| Search across all of g1t, Explore, and a command palette | 84 | { 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 | 85 | { label: 'Status and incidents', slug: 'guides/status' }, |
| Actions: workflow notes say what the cache and artifacts do now | 86 | ], |
| 87 | }, | |
| 88 | { | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 89 | label: 'Chat and agents', |
| 90 | items: [ | |
| 91 | { label: 'Chat', slug: 'guides/chat' }, | |
| 92 | { 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 | 93 | { label: 'Sessions', slug: 'guides/agent-sessions' }, |
| Every agent starts with g1t's foundational skills, playbooks for documents, research, data, code, communication, and files and media, each using only tools the agent already has and saying plainly what isn't possible yet: agents make PDFs, Word documents, spreadsheets, CSV and Markdown files with make_file, kept with a doc in Artifacts and served from g1tusercontent.com; an agent's Skills tab shows what each skill can do and with which tools, and owners turn a skill off per agent; the agent skills guide says how. | 94 | { label: 'Skills', slug: 'guides/agent-skills' }, |
| Agents mode: an overview of every agent's work and spend, and each agent's sessions, memory, routines, spend, activity and versions | 95 | { label: 'Agent memory', slug: 'guides/agent-memory' }, |
| 96 | { label: 'Routines', slug: 'guides/agent-routines' }, | |
| The Spend page says what a workspace spent, where it went and the budgets that hold it, in Workspace under Money: spent at price, agents' spend and the spend limit; by day; by agent, person, channel, model, kind of work and product; budgets from the workspace down to each person, agent and task, with what happens at 100%; the costliest tasks, each with a receipt of every session at the provider's price and what was charged; and how it's priced. Everyone sees what agents spent for them, and owners and billing managers the whole workspace; each person can have a monthly budget agents keep to, and the spend pill in the top bar shows your month or the workspace's against its limit. The spend guide says how. | 97 | { label: 'Spend', slug: 'guides/spend' }, |
| Agents mode: an overview of every agent's work and spend, and each agent's sessions, memory, routines, spend, activity and versions | 98 | { label: 'Agent budgets and spend', slug: 'guides/agent-budgets' }, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 99 | { label: 'What agents can do for whom', slug: 'guides/agent-access' }, |
| The Artifacts guide explains home, the sidebar, sharing and access requests, Private, spaces with Editors can share, docs, agents and writing a thread up, links in chat, history, templates, the trash and export, in place of the Docs guide, whose links now go to it. | 100 | { label: 'Artifacts', slug: 'guides/artifacts' }, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 101 | { label: 'Agents in your chat app', slug: 'guides/chat-app', badge: { text: 'Soon', variant: 'default' } }, |
| 102 | ], | |
| 103 | }, | |
| 104 | { | |
| Projects: what a workspace builds and runs, first on every page | 105 | label: 'Projects', |
| 106 | items: [ | |
| 107 | { label: 'Projects', slug: 'guides/projects' }, | |
| 108 | { label: 'Deployments', slug: 'guides/deployments' }, | |
| Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97 | 109 | { 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 | 110 | { label: 'Packages', slug: 'guides/packages' }, |
| 111 | { label: 'Container images', slug: 'guides/containers' }, | |
| npm on g1t.sh: publish and install @<workspace>/<name> with the npm CLI and a g1t token | 112 | { 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 | 113 | { label: 'Cargo', slug: 'guides/cargo' }, |
| Composer from the workspace's own repositories, and go get from g1t.sh | 114 | { label: 'Composer', slug: 'guides/composer' }, |
| Merge branch 'worktree-agent-a6a121745e81f639f' | 115 | { label: 'Maven', slug: 'guides/maven' }, |
| 116 | { label: 'NuGet', slug: 'guides/nuget' }, | |
| 117 | { label: 'RubyGems', slug: 'guides/rubygems' }, | |
| Composer from the workspace's own repositories, and go get from g1t.sh | 118 | { label: 'Go modules', slug: 'guides/go' }, |
| Projects: what a workspace builds and runs, first on every page | 119 | { 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 | 120 | ], |
| 121 | }, | |
| 122 | { | |
| 123 | label: 'Security', | |
| 124 | items: [ | |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 125 | { label: 'Security', slug: 'guides/security' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 126 | { label: 'Dependency updates', slug: 'guides/dependency-updates' }, |
| 127 | { label: 'Secret protection', slug: 'guides/security/secret-protection' }, | |
| 128 | { label: 'Code scanning', slug: 'guides/security/code-scanning' }, | |
| 129 | { label: 'Supply chain', slug: 'guides/security/supply-chain' }, | |
| 130 | { label: 'Security overview', slug: 'guides/security/security-overview' }, | |
| 131 | { label: "What's free and what's paid", slug: 'guides/security/pricing' }, | |
| Projects: what a workspace builds and runs, first on every page | 132 | ], |
| 133 | }, | |
| 134 | { | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 135 | label: 'Agents on code', |
| Actions: workflow notes say what the cache and artifacts do now | 136 | items: [ |
| g1t is one name: its agent's work, commits and comments show as @g1t, and nobody can claim g1t or g1t-agent | 137 | { 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 | 138 | { label: 'Guardrails', slug: 'guides/guardrails' }, |
| Actions: workflow notes say what the cache and artifacts do now | 139 | { label: 'Outcomes and plans', slug: 'guides/outcomes' }, |
| 140 | { label: 'Talking to agents', slug: 'guides/talking-to-agents' }, | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 141 | { 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 | 142 | { label: 'Context hub', slug: 'guides/context-hub' }, |
| Actions: workflow notes say what the cache and artifacts do now | 143 | { label: 'Bring your own agent', slug: 'guides/bring-your-own-agent' }, |
| 144 | ], | |
| 145 | }, | |
| 146 | { | |
| 147 | label: 'Connect your tools', | |
| 148 | items: [ | |
| The Marketplace is where a workspace finds what to add, reached from Apps: the agent catalog of roles with who already does each job and Add to workspace; every integration with whether it's connected; g1t's own extensions, listed as Soon; and requests, where members ask and owners add or turn down, each told by a notification. Underneath, an extension is a manifest (publisher and tier, source and version from a tag, scopes, the domains its data goes to, its page on g1tusercontent.com, no price) and an install pins its version with an off switch, a budget and the audit log. Apps lists only what was added from the Marketplace, with pins; g1t's own pages stay in their sidebars, and AI Gateway joins Workspace's. The marketplace guide says how. | 149 | { label: 'Marketplace', slug: 'guides/marketplace' }, |
| Actions: workflow notes say what the cache and artifacts do now | 150 | { label: 'Integrations', slug: 'guides/integrations' }, |
| 151 | { label: 'Model providers', slug: 'guides/models' }, | |
| Merge the AI Gateway: Anthropic's Messages API on a workspace's tokens | 152 | { label: 'AI Gateway', slug: 'guides/ai-gateway' }, |
| Actions: workflow notes say what the cache and artifacts do now | 153 | { label: 'Webhooks', slug: 'guides/webhooks' }, |
| 154 | { label: 'GitHub Actions', slug: 'guides/actions' }, | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 155 | { label: 'Self-hosted runners', slug: 'guides/self-hosted-runners' }, |
| Actions: workflow notes say what the cache and artifacts do now | 156 | ], |
| 157 | }, | |
| 158 | { | |
| 159 | label: 'Landing changes', | |
| 160 | items: [ | |
| Agents and memory, checks and conflicts, profiles, slug renames, custom domains | 161 | { label: 'Pull requests and checks', slug: 'guides/pull-requests' }, |
| Merge checks: statuses and check runs on every commit | 162 | { label: 'Checks', slug: 'guides/checks' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 163 | { label: 'Pull requests into other branches', slug: 'guides/base-branches' }, |
| 164 | { label: 'Labels', slug: 'guides/labels' }, | |
| 165 | { label: 'Milestones', slug: 'guides/milestones' }, | |
| Actions: workflow notes say what the cache and artifacts do now | 166 | { label: 'The merge queue', slug: 'guides/merge-queue' }, |
| Merge rulesets: branch and tag rules, agent-first, enforced on push and merge | 167 | { label: 'Rules', slug: 'guides/rules' }, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 168 | { label: 'CODEOWNERS', slug: 'guides/codeowners' }, |
| Actions: workflow notes say what the cache and artifacts do now | 169 | { label: 'Sessions and why-blame', slug: 'guides/why-blame' }, |
| 170 | { label: 'Forks and branches', slug: 'concepts/forks' }, | |
| 171 | ], | |
| 172 | }, | |
| 173 | { | |
| 174 | label: 'Workspaces', | |
| 175 | items: [ | |
| 176 | { label: 'Accounts and sign-in', slug: 'guides/authentication' }, | |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 177 | { label: 'GitHub', slug: 'guides/github' }, |
| Merge branch 'mirroring' into artifacts-mode | 178 | { label: 'Mirroring', slug: 'guides/mirroring' }, |
| Actions: workflow notes say what the cache and artifacts do now | 179 | { label: 'Workspaces and tokens', slug: 'guides/workspaces' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 180 | { 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 | 181 | { label: 'Teams', slug: 'guides/teams' }, |
| People and teams are front and centre: one directory of people and agents with presence, local time, titles, teams and what each owns; profiles with manager and reports and the agents they work with; an org chart with each team's agents beside the person who leads it; and teams of any mix, with a lead, a channel, a budget agents keep to and the agents on them. Every agent is told its teams each turn (who leads, who owns what, who's around and who to page), and the team page shows exactly what. Member management is Members and invites; the people and teams guide says how. | 182 | { label: 'People and teams', slug: 'guides/people-and-teams' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 183 | { label: 'Managing a repository', slug: 'guides/managing-repositories' }, |
| Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97 | 184 | { label: 'Releases', slug: 'guides/releases' }, |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 185 | { 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 | 186 | { label: 'Audit log', slug: 'guides/audit-log' }, |
| Actions: workflow notes say what the cache and artifacts do now | 187 | { label: 'Usage and billing', slug: 'guides/usage-and-billing' }, |
| 188 | { label: 'Git', slug: 'guides/git' }, | |
| 189 | ], | |
| 190 | }, | |
| 191 | { | |
| The docs folder is gone, and what it held lives where people read it: how a self-hosted g1t runs and how to deploy g1t to Cloudflare are pages on docs.g1t.sh under Run g1t yourself, and speed, rate limits and operating g1t.sh are sections of CONTRIBUTING.md; code that cited a file in docs/ now points to the page or section that covers it, or says what it means itself, and applied migrations and the runner images are left as they were. | 192 | label: 'Run g1t yourself', |
| 193 | items: [ | |
| 194 | { label: 'With Docker Compose', slug: 'guides/self-hosting' }, | |
| 195 | { label: 'How a self-hosted g1t runs', slug: 'guides/self-hosting-architecture' }, | |
| 196 | { label: 'Deploy to Cloudflare', slug: 'guides/deploy-to-cloudflare' }, | |
| 197 | ], | |
| 198 | }, | |
| 199 | { | |
| Actions: workflow notes say what the cache and artifacts do now | 200 | label: 'Reference', |
| 201 | items: [ | |
| 202 | { label: 'API overview', slug: 'reference/api' }, | |
| 203 | { label: 'MCP tools', slug: 'reference/mcp' }, | |
| Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails | 204 | { label: 'Rate limits', slug: 'reference/rate-limits' }, |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 205 | { label: 'Try it in the explorer', link: '/api/reference/', attrs: { target: '_self' } }, |
| Actions: workflow notes say what the cache and artifacts do now | 206 | { label: 'OpenAPI document', link: 'https://api.g1t.sh/openapi.json' }, |
| 207 | { label: 'llms.txt', link: 'https://g1t.sh/llms.txt' }, | |
| 208 | ], | |
| 209 | }, | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 210 | { |
| 211 | label: 'About', | |
| What g1t can't do yet, and an open letter to Cloudflare | 212 | items: [ |
| 213 | { label: "What g1t can't do yet", slug: 'about/limitations' }, | |
| 214 | { label: 'An open letter to Cloudflare', slug: 'about/open-letter-to-cloudflare' }, | |
| 215 | ], | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 216 | }, |
| Merge branch 'worktree-agent-ab2e39e11a6493412' | 217 | ...apiGroups, |
| Actions: workflow notes say what the cache and artifacts do now | 218 | ], |
| 219 | }), | |
| 220 | ], | |
| 221 | }); |
This file's history is long; its oldest lines are credited to the oldest commit read.