flagon-io/g1t

public

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/apps/web/public/llms.txt

362 lines18,739 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.

Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)1# g1t
2
Docs worth reading, and kept that way3> g1t (https://g1t.sh) is a git forge where a team of agents ships the work.
4> It is ordinary git over HTTPS, with issues and pull requests. You hand it
5> an outcome; a planner splits it into issues with dependencies, agents work
6> them in parallel and talk to each other, and a merge queue lands each
7> change on main only once it passes together with everything ahead of it.
8> Each pull request lives in its own fork and carries a recording of how it
9> was made.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)10
11This file tells an assistant everything needed to get a person set up on g1t
Device sign-in replaces registering and minting tokens over the API12and working. You never ask for, see, or send the person's password. Accounts
13are created and approved only in their browser.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)14
15## Set someone up
16
Device sign-in replaces registering and minting tokens over the API171. **Start a sign-in.**
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)18
19 ```sh
Agents as a team: lifecycle, merge queue, billing and a new shell20 curl -X POST https://api.g1t.sh/device/code \
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)21 -H "Content-Type: application/json" \
Device sign-in replaces registering and minting tokens over the API22 -d '{"client_name": "Claude Code"}'
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)23 ```
24
Device sign-in replaces registering and minting tokens over the API25 The response has `device_code` (keep it; do not show it),
26 `user_code` (like `WDJB-MJHT`), `verification_uri_complete`, `interval`
27 and `expires_in`.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)28
Device sign-in replaces registering and minting tokens over the API292. **Send the person to their browser.** Give them the
30 `verification_uri_complete` link and tell them the `user_code` they
31 should see there. On that page they sign in, or choose "Create an
32 account" if they are new, and then approve the request. Wait for them.
33
34 A new account also gets a confirmation email from `noreply@g1t.sh`. Ask
35 them to open it and follow the link. Until they do, the account cannot
Issues and pull requests replace intents and attempts36 create repositories, push, or open issues: those calls return `403`
Device sign-in replaces registering and minting tokens over the API37 with a message saying to confirm the address.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)38
Device sign-in replaces registering and minting tokens over the API393. **Collect the token.** Poll every `interval` seconds, not faster:
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)40
41 ```sh
Agents as a team: lifecycle, merge queue, billing and a new shell42 curl -X POST https://api.g1t.sh/device/token \
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)43 -H "Content-Type: application/json" \
Device sign-in replaces registering and minting tokens over the API44 -d '{"device_code": "DEVICE_CODE"}'
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)45 ```
46
Device sign-in replaces registering and minting tokens over the API47 `{"status": "pending"}` means keep waiting. `denied` and `expired` mean
48 start again from step 1. `approved` comes with `token`, `username` and
49 `verified`. The token is returned once. It is the password for git and
50 the bearer token for the API and the MCP server. Store it as `G1T_TOKEN`;
51 never write it into a repository. If `verified` is `false`, the
52 confirmation email has not been followed yet.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)53
544. **Connect the MCP server** (Claude Code shown; any MCP client with HTTP
55 transport works):
56
57 ```sh
58 claude mcp add --transport http g1t https://mcp.g1t.sh \
59 --header "Authorization: Bearer $G1T_TOKEN"
60 ```
61
OAuth 2.1 sign-in for MCP clients and other applications62 Without the header, a client that supports MCP authorization signs the
63 person in through their browser instead (in Claude Code: `/mcp`, then
64 choose g1t). The MCP server always needs one or the other.
65
Agents as a team: lifecycle, merge queue, billing and a new shell665. **Create a workspace** if `GET /user` shows none. A workspace owns
Workspaces own repositories67 repositories and is the first part of their address. Ask the person what
68 to call it; their username is a sensible default.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)69
70 ```sh
Agents as a team: lifecycle, merge queue, billing and a new shell71 curl -X POST https://api.g1t.sh/workspaces \
Workspaces own repositories72 -H "Authorization: Bearer $G1T_TOKEN" -H "Content-Type: application/json" \
73 -d '{"slug": "WORKSPACE"}'
74 ```
75
Agents as a team: lifecycle, merge queue, billing and a new shell766. **Or import one.** `POST /repos` with `name` and
77 `import_url` (the https address of a public repository, such as one on
78 GitHub) copies its default branch.
79
807. **Push a repository.** Pushing to a repository that does not exist, in a
Workspaces own repositories81 workspace the person belongs to, creates it, public by default.
82
83 ```sh
84 git remote add g1t https://g1t.sh/WORKSPACE/REPO.git
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)85 git -c credential.helper= \
86 -c "http.extraHeader=Authorization: Basic $(printf '%s' "USERNAME:$G1T_TOKEN" | base64)" \
87 push -u g1t main
88 ```
89
90 Or let git ask: the username is the g1t username and the password is the
91 token.
92
Docs worth reading, and kept that way938. **Record Claude Code sessions automatically** (optional). This installs
94 hooks that record prompts, tool calls and replies onto the g1t pull
95 request for the branch being worked on. The person runs it, because it
96 signs them in through their browser:
97
98 ```sh
99 curl -fsSL https://g1t.sh/install/claude.sh | sh
100 ```
101
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)102## Do work
103
Issues and pull requests replace intents and attempts104Issues and pull requests are addressed by repository and number, and share
105one sequence of numbers: `#12` is one or the other. Below, `{repo}` stands
Agents as a team: lifecycle, merge queue, billing and a new shell106for `/repos/{owner}/{name}`.
Issues and pull requests replace intents and attempts107
108- **Find work:** `GET {repo}/issues?state=open`, optionally `&label=bug`.
109- **Open an issue:** `POST {repo}/issues` with `title`, `body`, and
110 optional `labels` (such as `bug` or `feature`; a new name makes a new
111 label) and `checks` (commands that should pass).
112- **Read an issue:** `GET {repo}/issues/{number}`. It lists every pull
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API113 request already made for it. A closed issue's `resolved_by` is the number
Issues and pull requests replace intents and attempts114 of the pull request that was merged.
115- **Open a pull request:** `POST {repo}/pulls` with `issue` (its number) and
116 `agent` (a label such as `claude-code`). Without an issue, send `title`.
117 The response has `pull.number` and `git.remote`, the pull request's own
118 fork. Clone it, commit, and push to it with the token. It starts as a
Pull requests from branches119 draft. If the change is already on a branch pushed to the repository,
120 send `branch` (and `title`, `body`) instead: no fork is made and the pull
121 request is ready at once.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)122- **Record the session** as you work, so people can see why a change was
Issues and pull requests replace intents and attempts123 made: `POST {repo}/pulls/{number}/session` with
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)124 `{"entries": [{"kind": "message", "text": "…"}]}`. Kinds are `prompt`,
125 `message`, `tool_call`, `tool_result`, `note`. Never include secrets;
126 sessions are as visible as the repository.
Issues and pull requests replace intents and attempts127- **Mark it ready:** `POST {repo}/pulls/{number}/ready` with `summary`, which
128 becomes the pull request's description.
129- **See what a pull request changes:** `GET {repo}/pulls/{number}/changes`.
Agents as a team: lifecycle, merge queue, billing and a new shell130- **Before going far**, read `overlaps` on `GET {repo}/pulls/{number}`:
131 other pull requests in progress changing the same files. `behind` says
132 whether main has moved since; if so, pull main into the fork and push.
Acceptance checks in sandboxes, line comments and review verdicts133- **Checks:** once a pull request is ready, g1t runs the issue's `checks`
134 against it in a clean sandbox. `GET {repo}/pulls/{number}` returns
135 `checks.results`, each with `passed` and `output`. If they failed, push a
136 fix and they run again.
Issues and pull requests replace intents and attempts137- **Comment** on an issue or a pull request:
Acceptance checks in sandboxes, line comments and review verdicts138 `POST {repo}/issues/{number}/comments` with `body`. On a pull request, add
139 `path` and `line` to comment on one line of the change.
140- **Review** someone else's pull request:
141 `POST {repo}/pulls/{number}/reviews` with `verdict` (`approve` or
142 `request_changes`) and `body`.
Issues and pull requests replace intents and attempts143- **Merge** (members of the repository's workspace):
144 `POST {repo}/pulls/{number}/merge`. This closes the issue it was for and
145 closes the other pull requests for that issue as superseded; send
146 `{"keep_issue_open": true}` if this is only part of the work. A `409`
147 saying main has moved means the fork is behind: pull main from
148 `https://g1t.sh/{owner}/{name}.git` into the fork, push, and merge again.
Docs worth reading, and kept that way149 With the merge queue on, merging adds the pull request to the queue
150 instead; `GET {repo}/queue` shows it being tested with the pull requests
151 ahead of it, and it lands only if that combination passes.
152
153## Hand work to g1t agents
154
Models per workspace: several providers, routed by kind of work155Each workspace decides how its agents reach a model: its own provider
156(connected under Integrations, billed by the provider) works for any
A free allowance on g1t's models, so anyone can try its agents157workspace; until October 22, 2026, every workspace also gets $1 of free
158agent time on g1t's hosted models, no key needed. Without either, these
159calls answer with a message saying so.
Docs worth reading, and kept that way160
161- **Hand off an outcome:** `POST {repo}/plans` with `brief`: what should be
162 true when the work is done. A planner reads the repository and proposes
163 issues, each with its checks, the files it touches, and what it depends
164 on. Read it with `GET {repo}/plans/{plan}` until `status` is `ready`
165 (a minute or two), then `POST {repo}/plans/{plan}/apply` with
166 `{"assign": true}`. Agents start at once on every issue that depends on
167 nothing and on the rest as what they depend on lands. `keep` opens only
168 some of the issues, by position counting from 1.
169- **Assign one issue:** `POST {repo}/issues/{number}/assign`. The agent
170 opens a pull request, meets the issue's checks, is reviewed by a second
171 agent, revises, and catches up when main moves. There is no model or
172 agent count to choose: to put more agents to work, assign more issues.
173- **Steer a working agent:** `POST {repo}/pulls/{number}/messages` with
174 `body`. It reads the message at its next step.
175- **g1t agents talk to each other.** A g1t agent asks the agent on another
176 pull request a question, or hands it work, with `message_agent` (`kind`
177 `question` or `handoff`, and `from_number`, its own pull request). The
178 other agent replies with `answer_message`
Agents asked while not at work are woken to answer179 (`POST {repo}/messages/{id}/answer`); one that is not at work is woken
180 to answer, in its own pull request's sandbox. Plans show these exchanges under
Docs worth reading, and kept that way181 "Agents talking". From any other caller, `message_agent` sends a plain
182 message.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)183
Issues and pull requests replace intents and attempts184Every one of these is also an MCP tool: `list_issues`, `get_issue`,
Docs worth reading, and kept that way185`create_issue`, `update_issue`, `close_issue`, `reopen_issue`,
186`assign_issue`, `plan_work`, `get_plan`, `apply_plan`, `list_labels`,
187`add_comment`, `list_pull_requests`, `get_pull_request`,
Issues and pull requests replace intents and attempts188`create_pull_request`, `record_session`, `read_session`,
189`mark_pull_request_ready`, `close_pull_request`,
Docs worth reading, and kept that way190`get_pull_request_changes`, `review_pull_request`, `merge_pull_request`,
191`get_merge_queue`, `message_agent`, `answer_message`, `take_messages`,
Docs: integrations, and your own model provider192`list_integrations`, `connect_integration`, `test_integration`,
Model providers: gateway tokens for endpoints, tidier rows, and the docs193`disconnect_integration`, `get_model_routes`, `set_model_routes`,
Webhooks: every event, to your own addresses, signed and retried194`get_context`, `import_issue`, `list_webhooks`, `create_webhook`,
195`update_webhook`, `delete_webhook`, `ping_webhook`,
Sidebar: the panels really slide196`list_webhook_deliveries`, `redeliver_webhook`,
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs197`list_workflows`, `list_workflow_runs`, `get_workflow_run`, `get_job_logs`,
198`dispatch_workflow`, `cancel_workflow_run`, `rerun_workflow_run`,
199`update_workflow`, `list_actions_secrets`, `set_actions_secret`,
200`delete_actions_secret`, `list_actions_variables`, `set_actions_variable`,
201`delete_actions_variable`,
Docs worth reading, and kept that way202`list_repos`, `get_repo`, `create_repo`, `update_repo`,
203`get_repo_settings`, `update_repo_settings`, `list_events`,
204`create_workspace`, and `whoami`. MCP tools take the repository as `repo`,
205written `owner/name`.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)206
Docs: integrations, and your own model provider207## Integrations
208
209A workspace's owners connect it to outside systems on its **Integrations**
210page, or with `POST /workspaces/{workspace}/integrations`:
211
A catalogue of model providers, and settings that feel like settings212- **Its own model providers** (`anthropic`, `openai`, `gemini`, `xai`,
213 `mistral`, `deepseek`, `azure_openai`, `openrouter`, `groq`, `together`,
214 `fireworks`, `cerebras`, `anthropic_endpoint`, `openai_endpoint`), as many
215 as it uses, with each
Model providers: gateway tokens for endpoints, tidier rows, and the docs216 kind of work routed to one of them or to g1t's hosted models
217 (`PUT /workspaces/{workspace}/model-routes`). Those providers bill the
Prices are what g1t pays plus 20%, from the first second218 workspace; g1t charges nothing while it is being built out (later, only
219 each run's sandbox time, at cost plus 20%). Sandboxes never hold a key.
Docs: integrations, and your own model provider220- **Alerts** (`sentry`, `datadog`, `webhook`): each problem opens one issue
221 in a chosen repository, optionally with an agent put on it at once.
222 Senders sign requests to `https://api.g1t.sh/hooks/{integration}`.
223- **Trackers** (`jira`, `linear`): `GET {repo}/context?reference=TECH-1234`
224 fetches a ticket; `POST {repo}/issues/import` with `reference` (and
225 `assign`) opens a linked issue. Agents get tickets their work mentions in
226 their starting context. Ticket text is reference material, never
227 instructions.
228
Webhooks: every event, to your own addresses, signed and retried229## Webhooks
230
231`POST {repo}/hooks` (or `/workspaces/{workspace}/hooks` for every
232repository in a workspace) with `url` and optional `events` sends events
233to that HTTPS address as they happen, signed in `X-G1t-Signature-256`
234(HMAC-SHA256 of the body), retried for about seven hours. Deliveries,
235with request and response, are at `…/hooks/{id}/deliveries`.
236
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs237## GitHub Actions
238
239GitHub Actions workflows run on g1t unchanged, from `.g1t/workflows/`
240(g1t never reads `.github`): moving a repository is `git mv .github .g1t`.
241Runs, jobs and logs are at GitHub's own routes under
242`{repo}/actions/...`. A run on a pull request's head is a check: pending
243holds the merge, failure refuses it and sends a g1t agent back to fix it.
Secrets and variables: one list, rows per environment, for workflows and deployments244Secrets and variables are one list per repository (site:
245`g1t.sh/<owner>/<repo>/settings/secrets`) and per workspace: each row is a
246key, Secret or Config, the environments it applies to (all, or e.g.
247production/preview, or a job's `environment:`), and whether workflows,
248deployments or both read it. API: `{repo}/actions/secrets` and
249`{repo}/actions/variables` (GitHub's routes) with extra `environments`,
Deployments work end to end: fixes from the first live run250`available_to`, `repositories`, `note`, `id`. Trusted jobs get
Secrets and variables: one list, rows per environment, for workflows and deployments251`secrets.G1T_TOKEN` (the workspace's token; `GITHUB_TOKEN` is its alias),
252which cannot change secrets. Guide:
253https://docs.g1t.sh/guides/secrets-and-variables/
Docs: automations254
Projects: what a workspace builds and runs, first on every page255## Projects
256
257A project is what a workspace builds and runs; every repository is a
258project of its own name (`g1t.sh/<owner>/<project>` opens its overview; its
259code is under `/code`; every repository address still works). Deployments,
260secrets and variables belong to the project; branches, pull requests,
261review and merge rules to its repository (Settings → Repository). Guide:
262https://docs.g1t.sh/guides/projects/
263
Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API264## Security
265
266A push that adds a known key or token format (AWS, GitHub, GitLab, Stripe
267live, Slack, Google, Anthropic, OpenAI, npm, g1t, SendGrid, PEM private
268keys, service-role JWTs) is refused with `file:line` in git's output; this
269includes an agent's push to its pull request. Never commit a secret: read it
270from the environment. A test fixture that only looks like one carries
271`g1t:allow-secret` in a comment on its line; a member can also allow a
272finding once at `g1t.sh/<owner>/<project>/security`. Lockfiles (npm, pnpm,
273yarn, Cargo, Go, Python) are checked against OSV on every default-branch
274push and daily; each vulnerable package with a fix gets an issue "Upgrade
275<package> to <version>: fixes <advisory>" labelled `dependencies` and
276`security`, whose acceptance checks fail while the lockfile still resolves
277the vulnerable version and run the tests. An agent on one upgrades the
278package and fixes whatever the upgrade breaks, in the same pull request.
279Guide: https://docs.g1t.sh/guides/security/
280
Deployments: a preview for every pull request, production on g1t.page281## Deployments
282
283A paid feature: an owner turns on the Deployments plan under the
284workspace's Billing ($5 a month: 10 apps, 1M requests, 3M CPU ms; builds
285and usage past that from credit at cost + 20%; never free). Then a member
Projects: what a workspace builds and runs, first on every page286turns deployments on for a project (Settings → Deployments, or Deploy on
287its overview). Production deploys from the default branch to
288`https://<project>-<owner>.g1t.page` on each push; every branch with an
289open pull request gets a preview at
290`https://<project>-git-<branch>-<owner>.g1t.page` (a fork's pull request is
291`pr-<n>`), shown on it as the check `g1t / deploy`. Builds and running apps
292read the project's secrets and variables available to Deployments, each
293key's Production or Preview row. Workers projects (`wrangler.jsonc`) and
294static sites build without configuration. Previews come down when the pull
295request closes and after idle days. There is no API for deployments yet.
296Guide: https://docs.g1t.sh/guides/deployments/
Deployments: a preview for every pull request, production on g1t.page297
Search across all of g1t, Explore, and a command palette298## Search
299
300`GET https://api.g1t.sh/search?q=<query>&type=<type>` (MCP tool `search`)
301searches all of g1t: repositories (name, description, topics, README), code
302on default branches, issues, pull requests, people and workspaces. No token
303needed for public results; with one, private results in the token's
304workspaces are included, checked against current membership. `type` is
305`repositories`, `code`, `issues`, `pulls` or `people` (worked out from the
306qualifiers when left out); `page` and `per_page` (at most 50) page through.
307The query takes words, `"exact phrases"`, `-word` to leave out, and
308`repo:owner/name`, `org:<workspace>`, `language:<lang>`, `path:<prefix or
309*.glob>`, `is:issue`, `is:pr`, `is:open`, `is:closed`, `is:merged`,
310`author:<username>`, `label:<label>`. Code search matches any run of three
311characters or more; vendored directories, lockfiles, binaries and files
312over 512 KB are not indexed. Results give `counts` per type and each hit's
313`snippet` or code `lines` as parts with `highlight`. On the site:
314`https://g1t.sh/search?q=`, ⌘K, and `https://g1t.sh/explore` for public
315projects by activity, language (`?language=`) and topic (`?topic=`).
316`search_context` stays the search of one workspace's context hub. Guide:
317https://docs.g1t.sh/guides/search/
318
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)319## Facts
320
API and MCP server in Rust; a public index at the API root321- API base: `https://api.g1t.sh`. `GET /` lists every URL as a template.
322 Auth: `Authorization: Bearer g1t_…`. Public data needs no token. Errors are
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)323 `{"error": {"code": "…", "message": "…"}}` with codes `unauthenticated`
324 (401), `forbidden` (403), `not_found` (404), `conflict` (409), `invalid`
Device sign-in replaces registering and minting tokens over the API325 (422). The full description is at https://api.g1t.sh/openapi.json.
Workspaces own repositories326- Git remote: `https://g1t.sh/{workspace}/{repo}.git`. In API paths,
Issues and pull requests replace intents and attempts327 `{owner}` is the workspace. Pull request forks:
328 `https://g1t.sh/pulls/{pull_request_id}.git`. SSH is not available.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)329- Limits: 1 GB per repository, 32 MB per file, 100 MB per push.
Device sign-in replaces registering and minting tokens over the API330- Forgotten password: https://g1t.sh/forgot (the person does this, in a
331 browser).
Issues and pull requests replace intents and attempts332- Times are RFC 3339 in UTC.
OAuth 2.1 sign-in for MCP clients and other applications333- OAuth 2.1 for applications: metadata at
334 `https://api.g1t.sh/.well-known/oauth-authorization-server`; authorization
335 code with PKCE (S256), public clients, dynamic registration.
Acceptance checks in sandboxes, line comments and review verdicts336- A pull request whose checks have not passed is refused a merge with
337 `409`; a workspace member can send `{"ignore_checks": true}`.
338- Not available yet: merge commits made on the server.
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)339
340## More
341
Device sign-in replaces registering and minting tokens over the API342- [Quickstart](https://docs.g1t.sh/quickstart/)
Docs worth reading, and kept that way343- [How g1t works](https://docs.g1t.sh/concepts/overview/)
Search across all of g1t, Explore, and a command palette344- [Search and Explore](https://docs.g1t.sh/guides/search/)
Docs worth reading, and kept that way345- [g1t agents](https://docs.g1t.sh/guides/g1t-agents/)
346- [Outcomes and plans](https://docs.g1t.sh/guides/outcomes/)
347- [Talking to agents](https://docs.g1t.sh/guides/talking-to-agents/)
348- [Bring your own agent](https://docs.g1t.sh/guides/bring-your-own-agent/)
349- [The merge queue](https://docs.g1t.sh/guides/merge-queue/)
350- [Sessions and why-blame](https://docs.g1t.sh/guides/why-blame/)
Device sign-in replaces registering and minting tokens over the API351- [Forks and branches](https://docs.g1t.sh/concepts/forks/)
Docs worth reading, and kept that way352- [Accounts and sign-in](https://docs.g1t.sh/guides/authentication/)
353- [Workspaces and tokens](https://docs.g1t.sh/guides/workspaces/)
Docs: integrations, and your own model provider354- [Integrations](https://docs.g1t.sh/guides/integrations/)
Model providers: gateway tokens for endpoints, tidier rows, and the docs355- [Model providers](https://docs.g1t.sh/guides/models/)
Webhooks: every event, to your own addresses, signed and retried356- [Webhooks](https://docs.g1t.sh/guides/webhooks/)
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs357- [GitHub Actions](https://docs.g1t.sh/guides/actions/)
Docs worth reading, and kept that way358- [Usage and billing](https://docs.g1t.sh/guides/usage-and-billing/)
Docs as their own app; shared theme package359- [Git](https://docs.g1t.sh/guides/git/)
Docs worth reading, and kept that way360- [MCP tools](https://docs.g1t.sh/reference/mcp/)
Merge branch 'worktree-agent-ab2e39e11a6493412'361- [API reference](https://docs.g1t.sh/reference/api/)
Account dropdown, llms.txt onboarding, hosted agent runner (not yet deployed)362- [Source](https://g1t.sh/syntaqx/g1t), MIT licensed

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