Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh
251 linesCodeBlameRaw

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.

Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing1// @ts-check
2import starlight from '@astrojs/starlight';
3import { defineConfig } from 'astro/config';
4
5import { generateApiReference } from './scripts/api-reference.mjs';
6
7// A page per REST operation, written from the OpenAPI document.
8const apiGroups = generateApiReference();
9
10export default defineConfig({
11 site: 'https://docs.g1t.sh',
12 // Pages that moved, so links already shared still arrive.
13 redirects: {
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.14 '/guides/inbox/': '/guides/notifications/',
Merge main into rm-agents: mirroring removal, open signups, free-tier limits, the g1t CLI and runner fixes, with the agent removal kept. The CLI's table of operations is regenerated from the API without the agent, customize and AI credit operations; no CLI command used them.15 '/guides/mirroring/': '/guides/github/',
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/',
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.17 // g1t no longer runs agents of its own: coding agents connect to it.
18 '/guides/g1t-agents/': '/guides/bring-your-own-agent/',
19 '/guides/working-with-g1t/': '/guides/bring-your-own-agent/',
20 '/guides/agents/': '/guides/bring-your-own-agent/',
21 '/guides/agent-abilities/': '/guides/bring-your-own-agent/',
22 '/guides/agent-access/': '/guides/bring-your-own-agent/',
23 '/guides/agent-memory/': '/guides/memory/',
24 '/guides/agent-routines/': '/guides/bring-your-own-agent/',
25 '/guides/agent-sessions/': '/guides/why-blame/',
26 '/guides/agent-skills/': '/guides/bring-your-own-agent/',
27 '/guides/agent-budgets/': '/guides/usage-and-billing/',
28 '/guides/agents-and-memory/': '/guides/memory/',
29 '/guides/talking-to-agents/': '/guides/bring-your-own-agent/',
30 '/guides/chat-app/': '/guides/chat/',
31 '/guides/customize/': '/guides/bring-your-own-agent/',
32 '/guides/marketplace/': '/guides/bring-your-own-agent/',
33 '/guides/models/': '/guides/integrations/',
34 '/guides/ai-gateway/': '/guides/integrations/',
35 '/guides/context-hub/': '/guides/memory/',
36 '/guides/spend/': '/guides/usage-and-billing/',
37 '/guides/outcomes/': '/guides/milestones/',
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing38 },
39 integrations: [
40 starlight({
41 title: 'g1t docs',
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.42 description: 'Guides and reference for g1t, where a team and its coding agents talk, build and ship.',
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing43 components: {
44 Footer: './src/components/Footer.astro',
45 Head: './src/components/Head.astro',
46 Header: './src/components/Header.astro',
47 PageTitle: './src/components/PageTitle.astro',
48 SiteTitle: './src/components/SiteTitle.astro',
49 SocialIcons: './src/components/SocialIcons.astro',
50 },
51 // Each tab under the header shows its own part of the sidebar.
52 routeMiddleware: './src/route-data.ts',
53 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.54 // Dark first, as the base; the light one where the page is light.
55 // Starlight switches between them by <html data-theme>.
56 themes: ['github-dark-default', 'github-light-default'],
57 useDarkModeMediaQuery: false,
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing58 // Plain panels with a copy button, without window chrome.
59 defaultProps: { frame: 'none' },
60 styleOverrides: {
61 borderRadius: '0.75rem',
62 borderColor: 'var(--g1t-line)',
63 codeBackground: 'var(--g1t-surface)',
64 codeFontSize: '0.8125rem',
65 frames: {
66 editorBackground: 'var(--g1t-surface)',
67 terminalBackground: 'var(--g1t-surface)',
68 terminalTitlebarBackground: 'var(--g1t-raised)',
69 terminalTitlebarBorderBottomColor: 'var(--g1t-line)',
70 editorTabBarBackground: 'var(--g1t-raised)',
71 shadowColor: 'transparent',
72 },
73 },
74 },
75 logo: { src: '@g1t/theme/mark.svg', alt: '' },
76 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.77 customCss: [
78 '@g1t/theme/fonts.css',
79 '@g1t/theme/tokens.css',
80 './src/styles/light.css',
81 './src/styles/g1t.css',
82 ],
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing83 editLink: {
84 baseUrl: 'https://g1t.sh/flagon-io/g1t/blob/main/apps/docs/',
85 },
86 lastUpdated: true,
87 head: [
88 { tag: 'link', attrs: { rel: 'icon', href: '/favicon.ico', sizes: '32x32' } },
89 { 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 versions90 { tag: 'link', attrs: { rel: 'icon', type: 'image/png', sizes: '512x512', href: '/icon-512.png' } },
91 { tag: 'link', attrs: { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' } },
92 { 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.93 // The browser's own bars, in the page's colour for the system's setting.
94 { tag: 'meta', attrs: { name: 'theme-color', content: '#0f0f11', media: '(prefers-color-scheme: dark)' } },
95 { tag: 'meta', attrs: { name: 'theme-color', content: '#fbfbfa', media: '(prefers-color-scheme: light)' } },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing96 ],
97 sidebar: [
98 {
99 label: 'Get started',
100 items: [
101 { label: 'Quickstart', slug: 'quickstart' },
102 { label: 'How g1t works', slug: 'concepts/overview' },
Merge main into rm-agents: mirroring removal, open signups, free-tier limits, the g1t CLI and runner fixes, with the agent removal kept. The CLI's table of operations is regenerated from the API without the agent, customize and AI credit operations; no CLI command used them.103 { label: 'The g1t CLI', slug: 'guides/cli' },
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.104 { label: 'Home', slug: 'guides/home' },
Merge branch 'ask-g1t'105 { label: 'Ask g1t', slug: 'guides/ask' },
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.106 { label: 'Notifications', slug: 'guides/notifications' },
preparing for cloud work107 { label: 'The desktop app', slug: 'guides/desktop' },
The phone app: Chat in full with phone notifications, plus Code and Customize (#4)108 { label: 'The phone app', slug: 'guides/mobile' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing109 { label: 'Search and Explore', slug: 'guides/search' },
110 { label: 'Status and incidents', slug: 'guides/status' },
111 ],
112 },
113 {
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.114 label: 'Chat',
Chat and workspace agents: channels, DMs and named agents you talk to115 items: [
116 { label: 'Chat', slug: 'guides/chat' },
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.117 { label: 'Artifacts', slug: 'guides/artifacts' },
Chat and workspace agents: channels, DMs and named agents you talk to118 ],
119 },
120 {
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing121 label: 'Projects',
122 items: [
123 { label: 'Projects', slug: 'guides/projects' },
124 { label: 'Deployments', slug: 'guides/deployments' },
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97125 { label: 'Deployments API', slug: 'guides/deployments-api' },
Projects have Observability: their requests, logs, traces, metrics and errors, from apps on g1t.page with nothing to set up, and from software anywhere else over OpenTelemetry.126 { label: 'Observability', slug: 'guides/observability' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing127 { label: 'Packages', slug: 'guides/packages' },
128 { label: 'Container images', slug: 'guides/containers' },
129 { label: 'npm', slug: 'guides/npm' },
130 { label: 'Cargo', slug: 'guides/cargo' },
131 { label: 'Composer', slug: 'guides/composer' },
132 { label: 'Maven', slug: 'guides/maven' },
133 { label: 'NuGet', slug: 'guides/nuget' },
134 { label: 'RubyGems', slug: 'guides/rubygems' },
135 { label: 'Go modules', slug: 'guides/go' },
136 { label: 'Secrets and variables', slug: 'guides/secrets-and-variables' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar137 ],
138 },
139 {
140 label: 'Security',
141 items: [
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing142 { label: 'Security', slug: 'guides/security' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar143 { label: 'Dependency updates', slug: 'guides/dependency-updates' },
144 { label: 'Secret protection', slug: 'guides/security/secret-protection' },
145 { label: 'Code scanning', slug: 'guides/security/code-scanning' },
146 { label: 'Supply chain', slug: 'guides/security/supply-chain' },
Merge remote-tracking branch 'origin/claude/cool-newton-7nm8r9' into claude/cool-newton-7nm8r9147 { label: 'Advisories and reporting', slug: 'guides/security/advisories' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar148 { label: 'Security overview', slug: 'guides/security/security-overview' },
149 { label: "What's free and what's paid", slug: 'guides/security/pricing' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing150 ],
151 },
152 {
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.153 label: 'Coding agents',
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing154 items: [
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.155 { label: 'Connect a coding agent', slug: 'guides/bring-your-own-agent' },
Merge branch 'worktree-agent-ad52ad80841a37960'156 { label: 'Claude Code plugin', slug: 'guides/claude-code-plugin' },
Merge branch 'worktree-agent-a6ec0a89d7fe7a9ae'157 { label: 'Sessions, claims and dependencies', slug: 'guides/sessions' },
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.158 { label: 'Sessions and why-blame', slug: 'guides/why-blame' },
159 { label: 'Memory', slug: 'guides/memory' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing160 ],
161 },
162 {
163 label: 'Connect your tools',
164 items: [
165 { label: 'Integrations', slug: 'guides/integrations' },
166 { label: 'Webhooks', slug: 'guides/webhooks' },
167 { label: 'GitHub Actions', slug: 'guides/actions' },
168 { label: 'Self-hosted runners', slug: 'guides/self-hosted-runners' },
The docs describe g1t as the place your coding agents work, not as an agent of its own. The guides to g1t's hosted agents are gone: agents, their abilities, access, budgets, memory, routines, sessions and skills, talking to agents, working with g1t, Customize, model providers, the AI Gateway, the context hub, spend, plans and the chat app's agent pages. Each old address redirects to the page that now covers what is left of it.169 { label: 'Guardrails', slug: 'guides/guardrails' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing170 ],
171 },
172 {
173 label: 'Landing changes',
174 items: [
175 { label: 'Pull requests and checks', slug: 'guides/pull-requests' },
Merge checks: statuses and check runs on every commit176 { label: 'Checks', slug: 'guides/checks' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar177 { label: 'Pull requests into other branches', slug: 'guides/base-branches' },
178 { label: 'Labels', slug: 'guides/labels' },
179 { label: 'Milestones', slug: 'guides/milestones' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing180 { label: 'The merge queue', slug: 'guides/merge-queue' },
Merge rulesets: branch and tag rules, agent-first, enforced on push and merge181 { label: 'Rules', slug: 'guides/rules' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar182 { label: 'CODEOWNERS', slug: 'guides/codeowners' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing183 { label: 'Forks and branches', slug: 'concepts/forks' },
184 ],
185 },
186 {
187 label: 'Workspaces',
188 items: [
189 { label: 'Accounts and sign-in', slug: 'guides/authentication' },
190 { label: 'GitHub', slug: 'guides/github' },
191 { label: 'Workspaces and tokens', slug: 'guides/workspaces' },
192 { label: 'Access and roles', slug: 'guides/access-and-roles' },
Workspace is the workspace's settings, in one place. Its sidebar is grouped, General, Access, Money, Compute, Code, Agents, Chat, Artifacts, Security and Integrations, every page one click away with no settings inside settings, the groups folding and the owner-only pages hidden from members; what is not here yet is marked Soon with a hint. Members is a list with search and filters for role, two-factor and team, and Invite opens a dialog: who, by username, name or email, their role and a note that goes into the invitation; nothing is filled in inline any more. Invitations is its own page with All, Pending, Accepted, Declined, Expired and Revoked filters that say how many, and each row's menu can copy the link, send it again or revoke it; identity learned to send an invitation again and to carry the note. Permissions gathers every rule about who may do what, by part: Code's base permission and member privileges, who creates teams, who creates channels, and, marked Soon with what applies today, forking private repositories, adding agents to conversations, messaging agents directly, creating spaces and default sharing, creating workspace agents and raising budgets, deploying to production and publishing packages. General lost what moved. The permissions guide is new, and the workspaces, people and teams, access, chat, teams, authentication and billing guides say where things are now.193 { label: 'Permissions', slug: 'guides/permissions' },
Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar194 { 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.195 { label: 'People and teams', slug: 'guides/people-and-teams' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing196 { label: 'Managing a repository', slug: 'guides/managing-repositories' },
Merge branch 'main' into worktree-agent-a69aeabc4b0deeb97197 { label: 'Releases', slug: 'guides/releases' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing198 { label: 'Transferring a repository', slug: 'guides/transferring-repositories' },
199 { label: 'Audit log', slug: 'guides/audit-log' },
200 { label: 'Usage and billing', slug: 'guides/usage-and-billing' },
201 { label: 'Git', slug: 'guides/git' },
202 ],
203 },
204 {
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.205 label: 'Run g1t yourself',
206 items: [
207 { label: 'With Docker Compose', slug: 'guides/self-hosting' },
208 { label: 'How a self-hosted g1t runs', slug: 'guides/self-hosting-architecture' },
209 { label: 'Deploy to Cloudflare', slug: 'guides/deploy-to-cloudflare' },
210 ],
211 },
212 {
architecture and such213 label: 'Architecture',
214 items: [
215 { label: 'Overview', slug: 'architecture/overview' },
216 { label: 'How a request is served', slug: 'architecture/requests' },
217 { label: 'Services and contracts', slug: 'architecture/services' },
218 { label: 'Git', slug: 'architecture/git' },
219 { label: 'Events', slug: 'architecture/events' },
220 { label: 'Work and the merge queue', slug: 'architecture/work' },
221 { label: 'Actions, runners and sandboxes', slug: 'architecture/compute' },
222 { label: 'Deployments and telemetry', slug: 'architecture/deployments' },
223 { label: 'Data and storage', slug: 'architecture/data' },
224 { label: 'Identity and access', slug: 'architecture/identity' },
225 { label: 'How g1t ships', slug: 'architecture/shipping' },
226 ],
227 },
228 {
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing229 label: 'Reference',
230 items: [
231 { label: 'API overview', slug: 'reference/api' },
232 { label: 'MCP tools', slug: 'reference/mcp' },
Merge main into rm-agents: mirroring removal, open signups, free-tier limits, the g1t CLI and runner fixes, with the agent removal kept. The CLI's table of operations is regenerated from the API without the agent, customize and AI credit operations; no CLI command used them.233 { label: 'CLI commands', slug: 'reference/cli' },
Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails234 { label: 'Rate limits', slug: 'reference/rate-limits' },
Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing235 { label: 'Try it in the explorer', link: '/api/reference/', attrs: { target: '_self' } },
236 { label: 'OpenAPI document', link: 'https://api.g1t.sh/openapi.json' },
237 { label: 'llms.txt', link: 'https://g1t.sh/llms.txt' },
238 ],
239 },
240 {
241 label: 'About',
242 items: [
243 { label: "What g1t can't do yet", slug: 'about/limitations' },
244 { label: 'An open letter to Cloudflare', slug: 'about/open-letter-to-cloudflare' },
245 ],
246 },
247 ...apiGroups,
248 ],
249 }),
250 ],
251});

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