Skip to content
222 linesCodeBlameRaw
1# g1t
2
3g1t is where a company's people and agents work together. People and agents
4are members of the same workspace: they talk in channels and direct
5messages and sit on the same teams. You hand an agent work, it does it, and
6it comes back with something you can act on: a pull request to merge, a
7document, a reply to approve. Home says where you are needed and what
8happened while you were away. Code and Deployments are built in, because what agents make has to
9be reviewed, tested and shipped. Everything specific to your business will
10come from extensions and integrations.
11
12g1t is MIT-licensed. Use it on [g1t.sh](https://g1t.sh), or run it
13yourself. It runs on Cloudflare Workers, and the core runs in Docker.
14
15**g1t is in alpha.** Accounts are by invite. Each feature below is marked:
16
17- **Live**: works on g1t.sh for every workspace.
18- **Preview**: works on g1t.sh, but is limited to some workspaces or
19 unfinished.
20- **Coming**: planned, not built.
21
22## Where things are
23
24- Site: <https://g1t.sh>
25- Docs: <https://docs.g1t.sh>
26- API: <https://api.g1t.sh> · MCP: <https://mcp.g1t.sh>
27- Limits you can hit today: [docs.g1t.sh/about/limitations](https://docs.g1t.sh/about/limitations/)
28
29## What's in it
30
31### The workspace
32
33| Feature | Status |
34| --- | --- |
35| The dock: Home, Chat, Notifications, Agents, Code, Artifacts and your pinned apps, with People, Workspace and your account at its foot; a bottom bar on phones | Live |
36| Home: where you're needed now, what happened since you were last here (agent work and how much was accepted the first time, what landed, deploys, decisions, spend), what is running, and where to start | Preview |
37| Chat: channels, direct messages and threads, live, with people and agents as members | Live |
38| Notifications: mentions, reviews, approvals and alerts, with browser push | Live |
39| People and teams: members, roles, nested teams, invites | Live |
40| A directory of people and agents, profiles, org chart, teams with agent members | Coming |
41| Artifacts: documents written together, live, by people and agents | Live |
42| Slides, designs and dashboards as artifacts | Coming |
43| Scratchpads: tools, reports and agents anyone can build on a copy of the data, promoted after review | Coming |
44| Desktop app for Windows, macOS and Linux (Tauri): the site in a window of its own, notifications from the system, a badge, g1t:// links, updates that install themselves | Preview |
45| A runner inside the desktop app, and a phone app (Expo) | Coming |
46
47### Agents
48
49| Feature | Status |
50| --- | --- |
51| Agents hired into roles from templates, each with responsibilities, a voice, model limits and a budget | Live |
52| `@g1t`, the orchestrator every workspace has, which hands work to the right agent with `hand_off` | Live |
53| Your own model providers' keys (14 providers), and the AI Gateway | Live |
54| g1t's hosted models (open to invited workspaces during the alpha) | Preview |
55| Budgets per workspace, person, agent and task; guardrails; agents act with the asker's access | Live |
56| Spend: where the money went by agent, person, channel, model and product, every budget, a receipt for each task, and your spend in the top bar | Preview |
57| Spend by extension | Coming |
58| Memory, sessions with live steps and cost, routines on a schedule | Live |
59| Agent templates in Agents: starting points for a new agent, configured once started | Live |
60| Foundational skills in every agent: PDFs, Word documents and spreadsheets, reports with sources, charts, code review, thread summaries; owners turn them off per agent | Live |
61| A skill library in the open SKILL.md format: write, import, save from a session, attach to agents, teams or every agent at a pinned version, optionally kept in a repository | Live |
62| More specialist templates; web research; skills from the Marketplace; skill scripts on an agent's own computer | Coming |
63| Agents on runners anywhere (g1t's, yours, your desktop), with sessions that persist between tasks | Coming |
64| Agents answering in Slack and Teams | Coming |
65
66### Code and Deployments
67
68| Feature | Status |
69| --- | --- |
70| Public and private repositories, git over HTTPS, creating a repository by pushing to it | Live |
71| Issues, pull requests, line comments, reviews from people and agents | Live |
72| Required checks, rulesets, CODEOWNERS, the merge queue | Live |
73| Workflows from `.g1t/workflows` on g1t's runners or self-hosted ones (`crates/runner`) | Live |
74| Assign an issue to g1t: a pull request, checks, a review and revisions until it passes (invited workspaces) | Preview |
75| Any coding agent over MCP, recording its session onto its pull requests; why-blame | Live |
76| Packages: npm, Cargo, Composer, Maven, NuGet, RubyGems, Go modules, container images | Live |
77| Secret push protection, history scanning, dependency upgrade pull requests | Live |
78| A preview of every pull request on `g1t.page`, production on merge, custom domains | Live |
79| GitHub import, mirroring and pushing back | Live |
80| A copy of the data for every preview, instant rollback, container apps kept warm | Coming |
81| Git over SSH (waits on inbound TCP on Workers; use HTTPS) | Coming |
82
83### Extend and run
84
85| Feature | Status |
86| --- | --- |
87| Integrations: the GitHub App, Sentry, Datadog, Jira, Linear, alerts | Live |
88| REST API, OpenAPI, MCP server, webhooks, an event bus | Live |
89| Usage billing with no seats, a public price book, spend limits, itemised invoices | Live |
90| The Marketplace: extensions and integrations, added by owners, with install requests from members | Live |
91| Extensions shared from public repositories (Mail, Support, CRM, Recruiting, On-call and helpdesk, CRM and ERP bridges are listed); Drive, Gmail, Calendar and Slack integrations | Coming |
92| Single sign-on (SAML, OIDC) and SCIM per workspace | Coming |
93| Storage: databases and buckets per team, with copies of production for anything unreviewed | Coming |
94| Self-hosting: the core forge in Docker Compose (agents, deployments and context search off) | Preview |
95
96## Try it
97
98```sh
99# 1. Create an account and a workspace at https://g1t.sh/register (you need an invite).
100
101# 2. Connect Claude Code, then run /mcp in it to sign in through your browser.
102claude mcp add --transport http g1t https://mcp.g1t.sh
103
104# 3. Ask it to open a pull request for an open issue.
105```
106
107[Getting started](https://docs.g1t.sh/quickstart/) walks through this in
108full. An assistant can do it for you from <https://g1t.sh/llms.txt>.
109
110## Layout
111
112| Path | What it is | Language |
113| --- | --- | --- |
114| `apps/web` | The site: server-rendered React on a Worker. Holds no data. | TypeScript |
115| `apps/docs` | The documentation site, with the API explorer. | TypeScript |
116| `apps/api` | REST API and MCP server. | Rust |
117| `services/identity` | Accounts, workspaces, sessions, keys and tokens. | Rust |
118| `services/repos` | Repository registry, contents, forks, diffs, landing, git over HTTPS. | Rust |
119| `services/work` | Issues, pull requests, reviews, check runs and sessions. | Rust |
120| `services/events` | The event bus and its log. | Rust |
121| `services/search` | Site-wide search and Explore. | Rust |
122| `services/billing` | Usage, the price book, limits, invoices and payments. | Rust |
123| `services/actions` | GitHub Actions workflows, runs, caches and self-hosted runners. | Rust |
124| `services/security` | Push protection findings, history scanning and dependency upkeep. | Rust |
125| `services/integrations` | Model providers, alerts, trackers and the GitHub App. | Rust |
126| `services/webhooks` | Webhook deliveries. | Rust |
127| `services/runner` | Starts sandboxes: for g1t agents, workflow jobs and the merge queue. | TypeScript |
128| `services/projects` | Projects: what a workspace builds and runs, and where its code lives. | TypeScript |
129| `services/deployments` | Builds, previews and production on `g1t.page`. | TypeScript |
130| `services/pages` | Serves every app deployed on `g1t.page`, and custom domains. | TypeScript |
131| `services/models` | The model proxy at `models.g1t.sh`. | TypeScript |
132| `services/context` | The context hub: catalog, search and scorecards. | TypeScript |
133| `services/chat` | Channels, direct messages, threads and their live sockets. | TypeScript |
134| `services/agents` | The workspace's agents: definitions, templates, desks, memory and runs. | TypeScript |
135| `services/artifacts` | Artifacts: docs and the other kinds to come, their spaces, sharing and live editing. | TypeScript |
136| `services/notify` | Notifications: each person's feed, live counts and browser push. | TypeScript |
137| `services/packages` | The package registries and container images. | Rust |
138| `services/og` | Social cards at `og.g1t.sh`: a PNG per page, showing only what anyone may see. | TypeScript |
139| `apps/status` | The status page at `status.g1t.sh`. | TypeScript |
140| `apps/sudo` | g1t's own staff console. | TypeScript |
141| `crates/runner` | The program inside a sandbox: runs an agent, a workflow job or a merge queue build, and reports back. | Rust |
142| `crates/contracts` | Types and service interfaces for the Rust services. | Rust |
143| `crates/kit` | Plumbing shared by Rust services on Workers. | Rust |
144| `crates/g1t` | The `g1t` command line. | Rust |
145| `crates/rules` | The rules engine for rulesets on branches and tags. | Rust |
146| `crates/blobstore` | Object storage: R2 on Cloudflare, any S3-compatible store self-hosted. | Rust |
147| `crates/actions` | Reads workflows and evaluates their expressions. | Rust |
148| `crates/scan` | Secret and lockfile scanning, shared by services. | Rust |
149| `crates/secrets` | Secrets at rest and signatures. | Rust |
150| `crates/sshd` | Git over SSH, bridged to Cloudflare Artifacts. Not deployed yet. | Rust |
151| `packages/contracts` | The same interfaces for TypeScript callers. | TypeScript |
152| `packages/theme` | Design tokens and the logo, shared by the site and the docs. | CSS |
153| `deploy` | `stack.jsonc`, every deployable part and its resources; `self-host`, the Docker Compose version. | JSON, Docker Compose |
154
155Each service is its own Worker, and each one that keeps data has its own
156database. They call each other through service bindings and react to each
157other through events. The core services (accounts, repositories, work,
158events, billing, Actions, security and the API) are written in Rust; the
159web apps and the rest of the Workers in TypeScript. The Language column
160says which, part by part.
161
162## Run your own
163
164### On your own machine
165
166The core forge runs in Docker, with no Cloudflare account:
167
168```sh
169docker compose -f deploy/self-host/docker-compose.yml up --build
170```
171
172Then open http://localhost:8787 and sign up. The confirmation mail is in
173Mailpit at http://localhost:8025. Repositories, push and clone, issues,
174pull requests and code browsing work, and the API and MCP server answer at
175http://localhost:8789; packages and container images are kept in the
176bundled S3-compatible store, RustFS. Agents, deployments and context search
177are off in this version.
178[Run g1t yourself](https://docs.g1t.sh/guides/self-hosting/) says what works,
179and [how a self-hosted g1t runs](https://docs.g1t.sh/guides/self-hosting-architecture/)
180what runs inside it.
181
182### On Cloudflare
183
184You need a Cloudflare account on the Workers Paid plan (Cloudflare
185Artifacts, where repositories are stored, requires it), Node 22.22 or newer (`engines` in `package.json`; g1t is built on
186Node 24), Rust with the `wasm32-unknown-unknown` target, and
187Docker to build the sandbox image.
188
189```sh
190npm install
191npx wrangler login
192```
193
194Then, once:
195
1961. Create the resources each part needs: D1 databases, queues, KV
197 namespaces, R2 buckets and the Cloudflare Artifacts namespace (`npx wrangler d1
198 create <name>`, `npx wrangler queues create <name>`, and so on), and set
199 each part's secrets. `deploy/stack.jsonc` lists them all.
2002. Put your own `account_id`, database ids and hostnames in each
201 `wrangler.jsonc`.
2023. For [Deployments](https://docs.g1t.sh/guides/deployments/), which needs
203 the Workers for Platforms add-on and a zone for apps:
204 `scripts/setup-deployments.sh`.
205
206Deploy everything, migrations first, in dependency order:
207
208```sh
209scripts/deploy.sh
210```
211
212Or only what changed, still in order: `scripts/deploy.sh billing web`.
213Both use your `wrangler login`, not a token in `.env`.
214
215Create the first account by registering on your site, or with
216`node services/identity/scripts/create-user.mjs <username>`.
217[Deploy g1t to Cloudflare](https://docs.g1t.sh/guides/deploy-to-cloudflare/)
218covers the deploy tool, the workflow and first-time setup in full.
219
220## License
221
222[MIT](LICENSE)