The README says what g1t is now and only what works today: g1t is the git platform people's own coding agents work through (Git tracks changes, g1t coordinates change), with sessions, Live now, claims, integration in the merge queue, why-blame, memory and Ask first, then Code, Deployments and observability, the workspace and how to extend it. Gone are the hosted agents, templates, skills, Customize, the Marketplace, invite-only sign-up, assigning an issue to g1t and every Coming row, none of which g1t offers. Try it installs the CLI and the Claude Code plugin; the layout drops the agents, models and context services, which are no longer deployed, and adds telemetry, the desktop and phone apps and the plugins; running your own says deployments and billing are off rather than agents. Checked: every g1t command in it against the CLI (cargo test -p g1t).
1 file+110−1170/1 viewed
| 1 | 1 | # g1t | |
| 2 | 2 | ||
| 3 | − | g1t is where a company's people and agents work together. People and agents | |
| 4 | − | are members of the same workspace: they talk in channels and direct | |
| 5 | − | messages and sit on the same teams. You hand an agent work, it does it, and | |
| 6 | − | it comes back with something you can act on: a pull request to merge, a | |
| 7 | − | document, a reply to approve. Home says where you are needed and what | |
| 8 | − | happened while you were away. Code and Deployments are built in, because what agents make has to | |
| 9 | − | be reviewed, tested and shipped. Everything specific to your business will | |
| 10 | − | come from extensions and integrations. | |
| 11 | − | ||
| 12 | − | g1t is MIT-licensed. Use it on [g1t.sh](https://g1t.sh), or run it | |
| 13 | − | yourself. 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: | |
| 3 | + | **Git tracks changes. g1t coordinates change.** | |
| 16 | 4 | ||
| 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. | |
| 5 | + | g1t is a git platform built for teams whose code is written by people and | |
| 6 | + | their coding agents at the same time. You keep your own harness (Claude | |
| 7 | + | Code, Codex, Cursor, Copilot or anything that speaks MCP); g1t is the | |
| 8 | + | place they all work through. It hosts the repositories, shows who and what | |
| 9 | + | is working on each project right now, keeps parallel work from colliding, | |
| 10 | + | tests changes together before they land, deploys them, and remembers why | |
| 11 | + | each change was made. | |
| 21 | 12 | ||
| 22 | − | ## Where things are | |
| 13 | + | g1t is MIT-licensed and in alpha. Use it on [g1t.sh](https://g1t.sh) (anyone | |
| 14 | + | can sign up), or run it yourself. It runs on Cloudflare Workers, with | |
| 15 | + | repositories in Cloudflare Artifacts, and the core runs in Docker. | |
| 23 | 16 | ||
| 24 | 17 | - Site: <https://g1t.sh> | |
| 25 | 18 | - Docs: <https://docs.g1t.sh> | |
| 26 | 19 | - API: <https://api.g1t.sh> · MCP: <https://mcp.g1t.sh> | |
| 27 | 20 | - Limits you can hit today: [docs.g1t.sh/about/limitations](https://docs.g1t.sh/about/limitations/) | |
| 28 | 21 | ||
| 29 | − | ## What's in it | |
| 22 | + | ## Try it | |
| 30 | 23 | ||
| 31 | − | ### The workspace | |
| 24 | + | ```sh | |
| 25 | + | # 1. Sign up and make a workspace at https://g1t.sh/register. | |
| 32 | 26 | ||
| 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, 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 | Coming | | |
| 46 | − | | A phone app for Android and iOS (Expo, in `apps/mobile`): Chat in full, live, with notifications on the phone; Code and Customize; signed in with OAuth, to g1t.sh or your own g1t. Android first, in testing; not in the stores yet | Preview | | |
| 27 | + | # 2. Install the g1t CLI (Windows: irm https://g1t.sh/install.ps1 | iex). | |
| 28 | + | curl -fsSL https://g1t.sh/install | sh | |
| 29 | + | g1t auth login | |
| 47 | 30 | ||
| 48 | − | ### Agents | |
| 31 | + | # 3. Install g1t's Claude Code plugin. It adds g1t's MCP server and records | |
| 32 | + | # your sessions; run /mcp in Claude Code and sign plugin:g1t:g1t in. | |
| 33 | + | claude plugin marketplace add https://g1t.sh/flagon-io/g1t.git | |
| 34 | + | claude plugin install g1t@g1t | |
| 35 | + | ``` | |
| 49 | 36 | ||
| 50 | − | | Feature | Status | | |
| 51 | − | | --- | --- | | |
| 52 | − | | Agents hired into roles from templates, each with responsibilities, a voice, model limits and a budget | Live | | |
| 53 | − | | `@g1t`, the orchestrator every workspace has, which hands work to the right agent with `hand_off` | Live | | |
| 54 | − | | Your own model providers' keys (14 providers), and the AI Gateway | Live | | |
| 55 | − | | g1t's hosted models (open to invited workspaces during the alpha) | Preview | | |
| 56 | − | | Budgets per workspace, person, agent and task; guardrails; agents act with the asker's access | Live | | |
| 57 | − | | 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 | | |
| 58 | − | | Spend by extension | Coming | | |
| 59 | − | | Memory, sessions with live steps and cost, routines on a schedule | Live | | |
| 60 | − | | Agent templates in Agents: starting points for a new agent, configured once started | Live | | |
| 61 | − | | 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 | | |
| 62 | − | | 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 | | |
| 63 | − | | More specialist templates; web research; skills from the Marketplace; skill scripts on an agent's own computer | Coming | | |
| 64 | − | | Agents on runners anywhere (g1t's, yours, your desktop), with sessions that persist between tasks | Coming | | |
| 65 | − | | Agents answering in Slack and Teams | Coming | | |
| 37 | + | Then work as you always do in a g1t repository: the session shows on the | |
| 38 | + | project's page as it runs. [Getting started](https://docs.g1t.sh/quickstart/) | |
| 39 | + | walks through it in full, and [Connect a coding agent](https://docs.g1t.sh/guides/bring-your-own-agent/) | |
| 40 | + | sets up other harnesses. An assistant can do it for you from | |
| 41 | + | <https://g1t.sh/llms.txt>. | |
| 66 | 42 | ||
| 67 | − | ### Code and Deployments | |
| 43 | + | ## What's in it | |
| 68 | 44 | ||
| 69 | − | | Feature | Status | | |
| 70 | − | | --- | --- | | |
| 71 | − | | Public and private repositories, git over HTTPS, creating a repository by pushing to it | Live | | |
| 72 | − | | Issues, pull requests, line comments, reviews from people and agents | Live | | |
| 73 | − | | Required checks, rulesets, CODEOWNERS, the merge queue | Live | | |
| 74 | − | | Workflows from `.g1t/workflows` on g1t's runners or self-hosted ones (`crates/runner`) | Live | | |
| 75 | − | | Assign an issue to g1t: a pull request, checks, a review and revisions until it passes (invited workspaces) | Preview | | |
| 76 | − | | Any coding agent over MCP, recording its session onto its pull requests; why-blame | Live | | |
| 77 | − | | Packages: npm, Cargo, Composer, Maven, NuGet, RubyGems, Go modules, container images | Live | | |
| 78 | − | | Secret push protection, history scanning, dependency upgrade pull requests | Live | | |
| 79 | − | | A preview of every pull request on `g1t.page`, production on merge, custom domains | Live | | |
| 80 | − | | GitHub import: every branch and tag, and issues | Live | | |
| 81 | − | | A copy of the data for every preview, instant rollback, container apps kept warm | Coming | | |
| 82 | − | | Git over SSH (waits on inbound TCP on Workers; use HTTPS) | Coming | | |
| 45 | + | ### Coordinating agents | |
| 83 | 46 | ||
| 84 | − | ### Extend and run | |
| 47 | + | - **Sessions.** Every run of a coding agent is recorded as it works: its | |
| 48 | + | prompts, tool calls, subagents, branches, commits and pull requests. Work | |
| 49 | + | that is not an issue yet is a session titled by what it is for. The | |
| 50 | + | [Claude Code plugin](https://docs.g1t.sh/guides/claude-code-plugin/) does | |
| 51 | + | it with no setup; any harness can with the CLI or MCP. | |
| 52 | + | - **Live now.** A project's page shows who is working on it right now and | |
| 53 | + | with which harness, grouped by issue, pull request or branch. | |
| 54 | + | - **Claims.** Advisory, expiring claims on issues, so two agents don't do the | |
| 55 | + | same work, with hand-offs between sessions and coordination events | |
| 56 | + | (`g1t work events --follow`, or over MCP) when work overlaps. | |
| 57 | + | - **Integration.** The merge queue tests changes together before they land, | |
| 58 | + | finds which change broke a combination by bisecting, and sends the failure | |
| 59 | + | to the session responsible. | |
| 60 | + | - **Why-blame and decisions.** `g1t why file:line` answers why code is as it | |
| 61 | + | is: its commit, pull request, issue, the decisions recorded along the way, | |
| 62 | + | and the sessions behind it. | |
| 63 | + | - **Memory.** Short notes about a project or workspace that your team and | |
| 64 | + | your agents read before they start and add to as they learn. | |
| 65 | + | - **Ask g1t.** Ask about your work from any page, or by messaging @g1t. It | |
| 66 | + | answers with your workspace's own AI provider and reads g1t as you. | |
| 85 | 67 | ||
| 86 | − | | Feature | Status | | |
| 87 | − | | --- | --- | | |
| 88 | − | | Integrations: the GitHub App, Sentry, Datadog, Jira, Linear, alerts | Live | | |
| 89 | − | | REST API, OpenAPI, MCP server, webhooks, an event bus | Live | | |
| 90 | − | | Usage billing with no seats, a public price book, spend limits, itemised invoices | Live | | |
| 91 | − | | The Marketplace: extensions and integrations, added by owners, with install requests from members | Live | | |
| 92 | − | | 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 | | |
| 93 | − | | Single sign-on (SAML, OIDC) and SCIM per workspace | Coming | | |
| 94 | − | | Storage: databases and buckets per team, with copies of production for anything unreviewed | Coming | | |
| 95 | − | | Self-hosting: the core forge in Docker Compose (agents, deployments and context search off) | Preview | | |
| 68 | + | ### Code | |
| 96 | 69 | ||
| 97 | − | ## Try it | |
| 70 | + | - Public and private repositories, git over HTTPS, creating a repository by | |
| 71 | + | pushing to it, GitHub import (every branch and tag, and issues). | |
| 72 | + | - Issues, milestones, labels, pull requests, line comments and reviews. | |
| 73 | + | - Required checks, rulesets, CODEOWNERS and the merge queue. | |
| 74 | + | - Workflows from `.g1t/workflows` in GitHub Actions syntax, on g1t's Linux | |
| 75 | + | runners or self-hosted ones on Linux, macOS and Windows, with caches, | |
| 76 | + | secrets and variables. | |
| 77 | + | - Packages: npm, Cargo, Composer, Maven, NuGet, RubyGems, Go modules and | |
| 78 | + | container images. | |
| 79 | + | - Secret push protection, history scanning and dependency update pull | |
| 80 | + | requests. | |
| 98 | 81 | ||
| 99 | − | ```sh | |
| 100 | − | # 1. Create an account and a workspace at https://g1t.sh/register (you need an invite). | |
| 82 | + | ### Deployments and observability | |
| 101 | 83 | ||
| 102 | − | # 2. Install g1t's Claude Code plugin (it adds g1t's MCP server and records | |
| 103 | − | # your sessions), then run /mcp in Claude Code and sign plugin:g1t:g1t in. | |
| 104 | − | claude plugin marketplace add https://g1t.sh/flagon-io/g1t.git | |
| 105 | − | claude plugin install g1t@g1t | |
| 84 | + | - A preview of every pull request on `g1t.page`, production on merge, custom | |
| 85 | + | domains. Static sites, Workers and containers, chosen from the project. | |
| 86 | + | - Logs, traces, metrics and errors from your apps over OpenTelemetry. | |
| 87 | + | ||
| 88 | + | ### The workspace | |
| 89 | + | ||
| 90 | + | - Chat: channels, direct messages and threads, live. | |
| 91 | + | - Artifacts: docs written together, live, with comments, suggestions and | |
| 92 | + | history. | |
| 93 | + | - Home, notifications with browser push, people and teams, roles, invites. | |
| 94 | + | - A desktop app for Windows and Linux that can also be a runner for your | |
| 95 | + | workspace, and an Android app in testing ([g1t.sh/download](https://g1t.sh/download)). | |
| 106 | 96 | ||
| 107 | − | # 3. Ask it to open a pull request for an open issue. | |
| 108 | − | ``` | |
| 97 | + | ### Extend | |
| 109 | 98 | ||
| 110 | − | [Getting started](https://docs.g1t.sh/quickstart/) walks through this in | |
| 111 | − | full. An assistant can do it for you from <https://g1t.sh/llms.txt>. | |
| 99 | + | - REST API, OpenAPI, an MCP server, webhooks and the `g1t` CLI, all from one | |
| 100 | + | set of operations. | |
| 101 | + | - Integrations: your own AI providers, Sentry, Datadog and webhook alerts, | |
| 102 | + | Jira and Linear. | |
| 103 | + | - Usage billing with no seats and a public price book. | |
| 112 | 104 | ||
| 113 | 105 | ## Layout | |
| 114 | 106 | ||
| ⋯ | |||
| 117 | 109 | | `apps/web` | The site: server-rendered React on a Worker. Holds no data. | TypeScript | | |
| 118 | 110 | | `apps/docs` | The documentation site, with the API explorer. | TypeScript | | |
| 119 | 111 | | `apps/api` | REST API and MCP server. | Rust | | |
| 120 | − | | `services/identity` | Accounts, workspaces, sessions, keys and tokens. | Rust | | |
| 112 | + | | `apps/desktop` | The desktop app (Tauri), with a runner inside. | Rust, TypeScript | | |
| 113 | + | | `apps/mobile` | The phone app (Expo). | TypeScript | | |
| 114 | + | | `apps/status` | The status page at `status.g1t.sh`. | TypeScript | | |
| 115 | + | | `apps/sudo` | g1t's own staff console. | TypeScript | | |
| 116 | + | | `services/identity` | Accounts, workspaces, sessions, keys, tokens and invites. | Rust | | |
| 121 | 117 | | `services/repos` | Repository registry, contents, forks, diffs, landing, git over HTTPS. | Rust | | |
| 122 | − | | `services/work` | Issues, pull requests, reviews, check runs and sessions. | Rust | | |
| 118 | + | | `services/work` | Issues, pull requests, reviews, check runs, agent sessions, claims and the merge queue. | Rust | | |
| 123 | 119 | | `services/events` | The event bus and its log. | Rust | | |
| 124 | 120 | | `services/search` | Site-wide search and Explore. | Rust | | |
| 125 | 121 | | `services/billing` | Usage, the price book, limits, invoices and payments. | Rust | | |
| 126 | − | | `services/actions` | GitHub Actions workflows, runs, caches and self-hosted runners. | Rust | | |
| 127 | − | | `services/security` | Push protection findings, history scanning and dependency upkeep. | Rust | | |
| 128 | − | | `services/integrations` | Model providers, alerts, trackers and the GitHub App. | Rust | | |
| 122 | + | | `services/actions` | Workflows, runs, caches and self-hosted runners. | Rust | | |
| 123 | + | | `services/security` | Push protection findings, history scanning and dependency updates. | Rust | | |
| 124 | + | | `services/integrations` | AI providers, Ask, alerts, trackers and the GitHub App. | Rust | | |
| 129 | 125 | | `services/webhooks` | Webhook deliveries. | Rust | | |
| 130 | − | | `services/runner` | Starts sandboxes: for g1t agents, workflow jobs and the merge queue. | TypeScript | | |
| 126 | + | | `services/packages` | The package registries and container images. | Rust | | |
| 127 | + | | `services/runner` | Starts sandboxes for workflow jobs, builds and the merge queue. | TypeScript | | |
| 131 | 128 | | `services/projects` | Projects: what a workspace builds and runs, and where its code lives. | TypeScript | | |
| 132 | 129 | | `services/deployments` | Builds, previews and production on `g1t.page`. | TypeScript | | |
| 133 | 130 | | `services/pages` | Serves every app deployed on `g1t.page`, and custom domains. | TypeScript | | |
| 134 | − | | `services/models` | The model proxy at `models.g1t.sh`. | TypeScript | | |
| 135 | − | | `services/context` | The context hub: catalog, search and scorecards. | TypeScript | | |
| 131 | + | | `services/telemetry` | Observability: OpenTelemetry ingest, logs, traces, metrics and errors. | TypeScript | | |
| 136 | 132 | | `services/chat` | Channels, direct messages, threads and their live sockets. | TypeScript | | |
| 137 | − | | `services/agents` | The workspace's agents: definitions, templates, desks, memory and runs. | TypeScript | | |
| 138 | − | | `services/artifacts` | Artifacts: docs and the other kinds to come, their spaces, sharing and live editing. | TypeScript | | |
| 133 | + | | `services/artifacts` | Docs: their spaces, sharing and live editing. | TypeScript | | |
| 139 | 134 | | `services/notify` | Notifications: each person's feed, live counts and browser push. | TypeScript | | |
| 140 | − | | `services/packages` | The package registries and container images. | Rust | | |
| 141 | 135 | | `services/og` | Social cards at `og.g1t.sh`: a PNG per page, showing only what anyone may see. | TypeScript | | |
| 142 | − | | `apps/status` | The status page at `status.g1t.sh`. | TypeScript | | |
| 143 | − | | `apps/sudo` | g1t's own staff console. | TypeScript | | |
| 144 | − | | `crates/runner` | The program inside a sandbox: runs an agent, a workflow job or a merge queue build, and reports back. | Rust | | |
| 136 | + | | `crates/g1t` | The `g1t` command line. | Rust | | |
| 137 | + | | `crates/runner` | The program inside a sandbox, and the self-hosted runner: runs a workflow job or a build and reports back. | Rust | | |
| 145 | 138 | | `crates/contracts` | Types and service interfaces for the Rust services. | Rust | | |
| 146 | 139 | | `crates/kit` | Plumbing shared by Rust services on Workers. | Rust | | |
| 147 | − | | `crates/g1t` | The `g1t` command line. | Rust | | |
| 148 | 140 | | `crates/rules` | The rules engine for rulesets on branches and tags. | Rust | | |
| 149 | 141 | | `crates/blobstore` | Object storage: R2 on Cloudflare, any S3-compatible store self-hosted. | Rust | | |
| 150 | 142 | | `crates/actions` | Reads workflows and evaluates their expressions. | Rust | | |
| 151 | 143 | | `crates/scan` | Secret and lockfile scanning, shared by services. | Rust | | |
| 152 | 144 | | `crates/secrets` | Secrets at rest and signatures. | Rust | | |
| 153 | − | | `crates/sshd` | Git over SSH, bridged to Cloudflare Artifacts. Not deployed yet. | Rust | | |
| 145 | + | | `crates/sshd` | Git over SSH, bridged to Cloudflare Artifacts. Not deployed. | Rust | | |
| 154 | 146 | | `packages/contracts` | The same interfaces for TypeScript callers. | TypeScript | | |
| 155 | 147 | | `packages/theme` | Design tokens and the logo, shared by the site and the docs. | CSS | | |
| 148 | + | | `plugins/claude-code` | g1t's Claude Code plugin: hooks, skills and commands. | JavaScript | | |
| 149 | + | | `plugins/other-harnesses` | The AGENTS.md snippet for Codex, Cursor and other harnesses. | Markdown | | |
| 156 | 150 | | `deploy` | `stack.jsonc`, every deployable part and its resources; `self-host`, the Docker Compose version. | JSON, Docker Compose | | |
| 157 | 151 | ||
| 158 | 152 | Each service is its own Worker, and each one that keeps data has its own | |
| 159 | 153 | database. They call each other through service bindings and react to each | |
| 160 | − | other through events. The core services (accounts, repositories, work, | |
| 161 | − | events, billing, Actions, security and the API) are written in Rust; the | |
| 162 | − | web apps and the rest of the Workers in TypeScript. The Language column | |
| 163 | − | says which, part by part. | |
| 154 | + | other through events. The core services are written in Rust; the web apps | |
| 155 | + | and the rest of the Workers in TypeScript. | |
| 164 | 156 | ||
| 165 | 157 | ## Run your own | |
| 166 | 158 | ||
| ⋯ | |||
| 172 | 164 | docker compose -f deploy/self-host/docker-compose.yml up --build | |
| 173 | 165 | ``` | |
| 174 | 166 | ||
| 175 | − | Then open http://localhost:8787 and sign up. The confirmation mail is in | |
| 176 | − | Mailpit at http://localhost:8025. Repositories, push and clone, issues, | |
| 177 | − | pull requests and code browsing work, and the API and MCP server answer at | |
| 178 | − | http://localhost:8789; packages and container images are kept in the | |
| 179 | − | bundled S3-compatible store, RustFS. Agents, deployments and context search | |
| 180 | − | are off in this version. | |
| 167 | + | Then open <http://localhost:8787> and sign up. The confirmation mail is in | |
| 168 | + | Mailpit at <http://localhost:8025>. Repositories, push and clone, issues, | |
| 169 | + | pull requests, code browsing, search, webhooks and observability work, and | |
| 170 | + | the API and MCP server answer at <http://localhost:8789>; packages and | |
| 171 | + | container images are kept in the bundled S3-compatible store, RustFS. | |
| 172 | + | Deployments and billing are off, and the merge queue can't test or land | |
| 173 | + | pull requests without g1t's runner. | |
| 181 | 174 | [Run g1t yourself](https://docs.g1t.sh/guides/self-hosting/) says what works, | |
| 182 | 175 | and [how a self-hosted g1t runs](https://docs.g1t.sh/guides/self-hosting-architecture/) | |
| 183 | 176 | what runs inside it. | |
| ⋯ | |||
| 185 | 178 | ### On Cloudflare | |
| 186 | 179 | ||
| 187 | 180 | You need a Cloudflare account on the Workers Paid plan (Cloudflare | |
| 188 | − | Artifacts, where repositories are stored, requires it), Node 24 (`.nvmrc`, and `engines` in `package.json`), Rust with the | |
| 189 | − | `wasm32-unknown-unknown` target, and | |
| 190 | − | Docker to build the sandbox image. | |
| 181 | + | Artifacts, where repositories are stored, requires it), Node 24 (`.nvmrc`, | |
| 182 | + | and `engines` in `package.json`), Rust with the `wasm32-unknown-unknown` | |
| 183 | + | target, and Docker to build the sandbox image. | |
| 191 | 184 | ||
| 192 | 185 | ```sh | |
| 193 | 186 | npm install | |