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/app/routes.ts

66 lines3,328 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.

Initial g1t: services, event bus, intents and attempts1import { type RouteConfig, index, route } from "@react-router/dev/routes";
2
3export default [
4 index("routes/home.tsx"),
5 route("login", "routes/login.tsx"),
API and MCP server, Rust identity service, registration, site redesign6 route("register", "routes/register.tsx"),
Initial g1t: services, event bus, intents and attempts7 route("logout", "routes/logout.tsx"),
Email verification, password reset, and Git for AI scale positioning8 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 API11 route("device", "routes/device.tsx"),
OAuth 2.1 sign-in for MCP clients and other applications12 route("oauth/authorize", "routes/oauth-authorize.tsx"),
Initial g1t: services, event bus, intents and attempts13 route("new", "routes/new.tsx"),
14 route("settings", "routes/settings.tsx"),
API and MCP server, Rust identity service, registration, site redesign15 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 shell17 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 request23 route("-/usage", "routes/workspace/usage.tsx"),
Agents as a team: lifecycle, merge queue, billing and a new shell24 route("-/billing", "routes/workspace/billing.tsx"),
Integrations: your own model provider, alerts that open issues, tickets agents read25 route("-/integrations", "routes/workspace/integrations.tsx"),
Webhooks: every event, to your own addresses, signed and retried26 route("-/webhooks", "routes/workspace/webhooks.tsx"),
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs27 route("-/secrets", "routes/workspace/secrets.tsx"),
Agents as a team: lifecycle, merge queue, billing and a new shell28 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 page32 // 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 attempts35 route(":owner/:repo", "routes/repo/layout.tsx", [
Projects: what a workspace builds and runs, first on every page36 index("routes/repo/overview.tsx"),
37 route("code", "routes/repo/code.tsx"),
Initial g1t: services, event bus, intents and attempts38 route("tree/:ref/*", "routes/repo/tree.tsx"),
39 route("blob/:ref/*", "routes/repo/blob.tsx"),
API and MCP server, Rust identity service, registration, site redesign40 route("commits", "routes/repo/commits.tsx"),
Agents as a team: lifecycle, merge queue, billing and a new shell41 route("commit/:hash", "routes/repo/commit.tsx"),
Issues and pull requests replace intents and attempts42 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 branches46 route("pulls/new", "routes/repo/pull-new.tsx"),
Issues and pull requests replace intents and attempts47 route("pull/:number", "routes/repo/pull.tsx"),
Agents as a team: lifecycle, merge queue, billing and a new shell48 route("queue", "routes/repo/queue.tsx"),
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs49 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 2451 route("actions/runs/:id/artifacts/:name", "routes/repo/actions-artifact.ts"),
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs52 route("actions/jobs/:job/log", "routes/repo/actions-log.ts"),
Deployments: a preview for every pull request, production on g1t.page53 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 shell55 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 page58 route("settings/repository", "routes/repo/settings-repository.tsx"),
Webhooks: every event, to your own addresses, signed and retried59 route("settings/webhooks", "routes/repo/webhooks.tsx"),
GitHub Actions on g1t, part three: .g1t/workflows, the pages, the docs60 route("settings/secrets", "routes/repo/secrets.tsx"),
Secrets and variables: one list, rows per environment, for workflows and deployments61 route("settings/deployments", "routes/repo/settings-deployments.tsx"),
Project dependencies: addresses, preview stacks, Affects, and agents who know62 route("settings/dependencies", "routes/repo/settings-dependencies.tsx"),
Initial g1t: services, event bus, intents and attempts63 ]),
Webhooks: every event, to your own addresses, signed and retried64 // Anything else: a 404 that still knows who is signed in.
65 route("*", "routes/not-found.tsx"),
Initial g1t: services, event bus, intents and attempts66] satisfies RouteConfig;