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.
| Initial g1t: services, event bus, intents and attempts | 1 | import { type RouteConfig, index, route } from "@react-router/dev/routes"; |
| 2 | ||
| 3 | export default [ | |
| 4 | index("routes/home.tsx"), | |
| 5 | route("login", "routes/login.tsx"), | |
| API and MCP server, Rust identity service, registration, site redesign | 6 | route("register", "routes/register.tsx"), |
| Initial g1t: services, event bus, intents and attempts | 7 | route("logout", "routes/logout.tsx"), |
| Email verification, password reset, and Git for AI scale positioning | 8 | route("verify", "routes/verify.tsx"), |
| 9 | route("forgot", "routes/forgot.tsx"), | |
| 10 | route("reset", "routes/reset.tsx"), | |
| Device sign-in replaces registering and minting tokens over the API | 11 | route("device", "routes/device.tsx"), |
| OAuth 2.1 sign-in for MCP clients and other applications | 12 | route("oauth/authorize", "routes/oauth-authorize.tsx"), |
| Initial g1t: services, event bus, intents and attempts | 13 | route("new", "routes/new.tsx"), |
| 14 | route("settings", "routes/settings.tsx"), | |
| API and MCP server, Rust identity service, registration, site redesign | 15 | route("explore", "routes/explore.tsx", { id: "explore" }), |
| 16 | route("search", "routes/explore.tsx", { id: "search" }), | |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 17 | route("workspaces/new", "routes/workspace/new.tsx"), |
| 18 | // A workspace's own pages sit under `-`, which no repository can be named. | |
| 19 | route(":owner", "routes/workspace/layout.tsx", [ | |
| 20 | index("routes/workspace/overview.tsx"), | |
| 21 | route("-/people", "routes/workspace/people.tsx"), | |
| 22 | route("-/tokens", "routes/workspace/tokens.tsx"), | |
| Usage, like a hosting provider's: what agents cost, per day, task, repository and pull request | 23 | route("-/usage", "routes/workspace/usage.tsx"), |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 24 | route("-/billing", "routes/workspace/billing.tsx"), |
| Integrations: your own model provider, alerts that open issues, tickets agents read | 25 | route("-/integrations", "routes/workspace/integrations.tsx"), |
| Webhooks: every event, to your own addresses, signed and retried | 26 | route("-/webhooks", "routes/workspace/webhooks.tsx"), |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 27 | route("-/secrets", "routes/workspace/secrets.tsx"), |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 28 | route("-/settings", "routes/workspace/settings.tsx"), |
| 29 | ]), | |
| 30 | // Why a line is the way it is, fetched by the blame view. | |
| 31 | route(":owner/:repo/why/:hash", "routes/repo/why.ts"), | |
| Projects: what a workspace builds and runs, first on every page | 32 | // A project: its overview first, its repository's code under Code. The |
| 33 | // 1:1 project of a repository has the repository's name, so every | |
| 34 | // repository address below keeps working. | |
| Initial g1t: services, event bus, intents and attempts | 35 | route(":owner/:repo", "routes/repo/layout.tsx", [ |
| Projects: what a workspace builds and runs, first on every page | 36 | index("routes/repo/overview.tsx"), |
| 37 | route("code", "routes/repo/code.tsx"), | |
| Initial g1t: services, event bus, intents and attempts | 38 | route("tree/:ref/*", "routes/repo/tree.tsx"), |
| 39 | route("blob/:ref/*", "routes/repo/blob.tsx"), | |
| API and MCP server, Rust identity service, registration, site redesign | 40 | route("commits", "routes/repo/commits.tsx"), |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 41 | route("commit/:hash", "routes/repo/commit.tsx"), |
| Issues and pull requests replace intents and attempts | 42 | route("issues", "routes/repo/issues.tsx"), |
| 43 | route("issues/new", "routes/repo/issue-new.tsx"), | |
| 44 | route("issues/:number", "routes/repo/issue.tsx"), | |
| 45 | route("pulls", "routes/repo/pulls.tsx"), | |
| Pull requests from branches | 46 | route("pulls/new", "routes/repo/pull-new.tsx"), |
| Issues and pull requests replace intents and attempts | 47 | route("pull/:number", "routes/repo/pull.tsx"), |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 48 | route("queue", "routes/repo/queue.tsx"), |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 49 | route("actions", "routes/repo/actions.tsx"), |
| 50 | route("actions/runs/:id", "routes/repo/actions-run.tsx"), | |
| Actions: workflow_run, workflow.completed, artifacts on the run page, Node 24 | 51 | route("actions/runs/:id/artifacts/:name", "routes/repo/actions-artifact.ts"), |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 52 | route("actions/jobs/:job/log", "routes/repo/actions-log.ts"), |
| Deployments: a preview for every pull request, production on g1t.page | 53 | route("deployments", "routes/repo/deployments.tsx"), |
| 54 | route("deployments/:id", "routes/repo/deployment.tsx"), | |
| Agents as a team: lifecycle, merge queue, billing and a new shell | 55 | route("plans", "routes/repo/plans.tsx"), |
| 56 | route("plans/:id", "routes/repo/plan.tsx"), | |
| 57 | route("settings", "routes/repo/settings.tsx"), | |
| Projects: what a workspace builds and runs, first on every page | 58 | route("settings/repository", "routes/repo/settings-repository.tsx"), |
| Webhooks: every event, to your own addresses, signed and retried | 59 | route("settings/webhooks", "routes/repo/webhooks.tsx"), |
| GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs | 60 | route("settings/secrets", "routes/repo/secrets.tsx"), |
| Secrets and variables: one list, rows per environment, for workflows and deployments | 61 | route("settings/deployments", "routes/repo/settings-deployments.tsx"), |
| Project dependencies: addresses, preview stacks, Affects, and agents who know | 62 | route("settings/dependencies", "routes/repo/settings-dependencies.tsx"), |
| Initial g1t: services, event bus, intents and attempts | 63 | ]), |
| Webhooks: every event, to your own addresses, signed and retried | 64 | // Anything else: a 404 that still knows who is signed in. |
| 65 | route("*", "routes/not-found.tsx"), | |
| Initial g1t: services, event bus, intents and attempts | 66 | ] satisfies RouteConfig; |