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.
| Say why git over SSH is not on yet | 1 | import { env } from "cloudflare:workers"; |
| 2 | ||
| 3 | import { | |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 4 | accountsClient, |
| Say why git over SSH is not on yet | 5 | actionsClient, |
| A repository's Security overview is one row per feature in three groups, each with a status word (Enabled, Disabled, Needs setup, Coming), a line on what it does and the one thing to do about it: the security policy (View policy, or Set up a security policy, which commits a starting SECURITY.md on a branch and opens it as a pull request), dependency alerts, security updates (the switch, kept on Vulnerabilities and now in Settings too), code scanning (Enabled once an analysis was uploaded), secret scanning (push protection always on) and code quality as Coming; and under Reporting, advisories and the private vulnerability reporting switch. Anyone who can see a public repository but has no role on it sees the public face at the same address: the policy, the published advisories and, when it is on, Report a vulnerability. Advisories get their pages (the list with its state filter, one advisory with Publish, Withdraw and Edit, a form for a new draft or changes) and reports theirs (new ones first, each accepted into a draft advisory or declined), with a Reports page beside Advisories and an Advisories tab; the public report form takes an email when signed out and counts against the front door's heavy limit. Security settings gain Alerts for secrets in the history and Private vulnerability reporting. Settings → Notifications gains a Security section: critical and high alerts at once (always, for the workspaces one owns or manages security for) and the rest in a daily or weekly digest, at once, or not at all, with security alerts now among the email reasons. The notifications guide says how security alerts arrive and what the digest is, the security guide the overview's rows and the public face, secret protection the history alerts switch, webhooks the summary and advisory events, and a new guide covers advisories and private reporting; the report_settings method lets the public page know whether a repository takes reports. | 6 | advisoriesClient, |
| Say why git over SSH is not on yet | 7 | agentsClient, |
| 8 | billingClient, | |
| Chat and workspace agents: channels, DMs and named agents you talk to | 9 | chatClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 10 | contextClient, |
| Say why git over SSH is not on yet | 11 | deploymentsClient, |
| Docs: a workspace knowledge base people and agents write together | 12 | docsClient, |
| Artifacts is a mode in the rail, the shell and the phone's tab bar in place of Docs: its home lists everything you can open by day or as cards under All, Yours and Shared with you, with search, filters and tiles to start a doc (slides, designs and dashboards say they are coming soon), and its sidebar holds favorites, spaces, Private, Shared, projects' docs and the trash. | 13 | foliosClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 14 | memoryReviewClient, |
| Merge branch 'mirroring' into artifacts-mode | 15 | mirrorsClient, |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 16 | packagesClient, |
| Say why git over SSH is not on yet | 17 | projectsClient, |
| 18 | eventsClient, | |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 19 | guardrailsClient, |
| Say why git over SSH is not on yet | 20 | identityClient, |
| Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all | 21 | inboxClient, |
| Say why git over SSH is not on yet | 22 | integrationsClient, |
| 23 | reposClient, | |
| Search across all of g1t, Explore, and a command palette | 24 | searchClient, |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 25 | securityClient, |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 26 | securitySuiteClient, |
| Say why git over SSH is not on yet | 27 | webhooksClient, |
| 28 | workClient, | |
| Agents → Skills is the workspace's skill library in the open SKILL.md format: write a skill in g1t, import a SKILL.md or zip, link a repository whose .g1t/skills folders publish on every push, or save a finished session as a skill once a person reviews it; attach a skill to an agent, a team or the whole workspace, each attachment pinned to a version. Agents see each skill's name and when to use it, and read the rest with use_skill when a request needs it; a skill never adds a permission, and scripts wait for an agent's own computer. The agent skills guide says how. | 29 | skillLibraryClient, |
| Chat and workspace agents: channels, DMs and named agents you talk to | 30 | workspaceAgentsClient, |
| Say why git over SSH is not on yet | 31 | } from "@g1t/contracts"; |
| 32 | ||
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 33 | import { instrumented } from "./perf.server"; |
| 34 | ||
| 35 | /** | |
| 36 | * Each binding the clients use, timed for `Server-Timing` and, for the | |
| 37 | * services that read D1 with sessions, told where to read (lib/perf.ts). | |
| 38 | */ | |
| 39 | const IDENTITY = instrumented("identity", env.IDENTITY); | |
| 40 | const REPOS = instrumented("repos", env.REPOS); | |
| 41 | const WORK = instrumented("work", env.WORK); | |
| 42 | const BILLING = instrumented("billing", env.BILLING); | |
| 43 | const EVENTS = instrumented("events", env.EVENTS); | |
| 44 | const INTEGRATIONS = instrumented("integrations", env.INTEGRATIONS); | |
| 45 | const WEBHOOKS = instrumented("webhooks", env.WEBHOOKS); | |
| 46 | const ACTIONS = instrumented("actions", env.ACTIONS); | |
| 47 | const DEPLOYMENTS = instrumented("deployments", env.DEPLOYMENTS); | |
| 48 | const PROJECTS = instrumented("projects", env.PROJECTS); | |
| 49 | const SECURITY = instrumented("security", env.SECURITY); | |
| 50 | const CONTEXT = instrumented("context", env.CONTEXT); | |
| 51 | const SEARCH = instrumented("search", env.SEARCH); | |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 52 | const PACKAGES = instrumented("packages", env.PACKAGES); |
| Chat and workspace agents: channels, DMs and named agents you talk to | 53 | const CHAT = instrumented("chat", env.CHAT); |
| 54 | const AGENTS = instrumented("agents", env.AGENTS); | |
| The artifacts service is services/artifacts, the Worker g1t-artifacts, bound as ARTIFACTS by the API, the site and the agents; its live rooms move to it with a Durable Object transfer from g1t-docs-service, and its database, bucket, indexes and queue keep their names. The git store's binding and settings are GITSTORE, its ops scripts gitstore-*, and workflow run artifacts keep their compatible API under run_artifacts modules. The deploy tool puts a Worker that has never deployed before the Workers in its stage that bind to it, and the deploy guide gives the cutover runbook. | 55 | const ARTIFACTS = instrumented("artifacts", env.ARTIFACTS); |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 56 | |
| 57 | export const identity = identityClient(IDENTITY); | |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 58 | /** A person's email addresses and account security: methods of identity. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 59 | export const accounts = accountsClient(IDENTITY); |
| 60 | export const repos = reposClient(REPOS); | |
| 61 | export const work = workClient(WORK); | |
| 62 | export const billing = billingClient(BILLING); | |
| 63 | export const events = eventsClient(EVENTS); | |
| Inbox: a bell in the top bar opens it beside the page, and /inbox holds it all | 64 | /** Each person's inbox, which the events service keeps. */ |
| 65 | export const inbox = inboxClient(EVENTS); | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 66 | export const integrations = integrationsClient(INTEGRATIONS); |
| Merge branch 'mirroring' into artifacts-mode | 67 | /** Mirroring: a repository's remotes, takeovers and hand-backs, kept by integrations. */ |
| 68 | export const mirrors = mirrorsClient(INTEGRATIONS); | |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 69 | export const webhooks = webhooksClient(WEBHOOKS); |
| 70 | export const actions = actionsClient(ACTIONS); | |
| 71 | export const deployments = deploymentsClient(DEPLOYMENTS); | |
| 72 | export const projects = projectsClient(PROJECTS); | |
| 73 | export const security = securityClient(SECURITY); | |
| Teams and CODEOWNERS, labels and milestones, dependency updates, the security suite, and a clearer top bar | 74 | /** The security suite: patterns, bypasses, code scanning, the dependency graph, settings. */ |
| 75 | export const securitySuite = securitySuiteClient(SECURITY); | |
| A repository's Security overview is one row per feature in three groups, each with a status word (Enabled, Disabled, Needs setup, Coming), a line on what it does and the one thing to do about it: the security policy (View policy, or Set up a security policy, which commits a starting SECURITY.md on a branch and opens it as a pull request), dependency alerts, security updates (the switch, kept on Vulnerabilities and now in Settings too), code scanning (Enabled once an analysis was uploaded), secret scanning (push protection always on) and code quality as Coming; and under Reporting, advisories and the private vulnerability reporting switch. Anyone who can see a public repository but has no role on it sees the public face at the same address: the policy, the published advisories and, when it is on, Report a vulnerability. Advisories get their pages (the list with its state filter, one advisory with Publish, Withdraw and Edit, a form for a new draft or changes) and reports theirs (new ones first, each accepted into a draft advisory or declined), with a Reports page beside Advisories and an Advisories tab; the public report form takes an email when signed out and counts against the front door's heavy limit. Security settings gain Alerts for secrets in the history and Private vulnerability reporting. Settings → Notifications gains a Security section: critical and high alerts at once (always, for the workspaces one owns or manages security for) and the rest in a daily or weekly digest, at once, or not at all, with security alerts now among the email reasons. The notifications guide says how security alerts arrive and what the digest is, the security guide the overview's rows and the public face, secret protection the history alerts switch, webhooks the summary and advisory events, and a new guide covers advisories and private reporting; the report_settings method lets the public page know whether a repository takes reports. | 76 | /** Security advisories and private vulnerability reports: methods of the security service. */ |
| 77 | export const advisories = advisoriesClient(SECURITY); | |
| Say why git over SSH is not on yet | 78 | /** Agent runs, sessions and memory: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 79 | export const agents = agentsClient(WORK); |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 80 | /** What agents may do in a sandbox: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 81 | export const guardrails = guardrailsClient(WORK); |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 82 | /** The context hub: catalog, search and scorecards. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 83 | export const context = contextClient(CONTEXT); |
| Search across all of g1t, Explore, and a command palette | 84 | /** Search across all of g1t, and Explore. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 85 | export const search = searchClient(SEARCH); |
| Packages, with a container registry on g1t.sh; workspaces deleted whole and kept 30 days; Members for every member | 86 | /** The workspace's registries: container images, and more to come. */ |
| 87 | export const packages = packagesClient(PACKAGES); | |
| Agents get guardrails, run credentials, an audit log, a context hub, repository instructions and mentions; security upkeep; snake_case API | 88 | /** Memory candidates and their review: methods of the work service. */ |
| Fast pages, required checks on the branch, self-hosted runners, honest incidents | 89 | export const memoryReview = memoryReviewClient(WORK); |
| Chat and workspace agents: channels, DMs and named agents you talk to | 90 | /** Channels, direct messages and threads, where people and agents talk. */ |
| 91 | export const chat = chatClient(CHAT); | |
| 92 | /** The workspace's own agents: who they are, their limits and their desks. */ | |
| 93 | export const workspaceAgents = workspaceAgentsClient(AGENTS); | |
| Agents → Skills is the workspace's skill library in the open SKILL.md format: write a skill in g1t, import a SKILL.md or zip, link a repository whose .g1t/skills folders publish on every push, or save a finished session as a skill once a person reviews it; attach a skill to an agent, a team or the whole workspace, each attachment pinned to a version. Agents see each skill's name and when to use it, and read the rest with use_skill when a request needs it; a skill never adds a permission, and scripts wait for an agent's own computer. The agent skills guide says how. | 94 | /** The workspace's skill library: skills, their versions and where they are attached (the agents service). */ |
| 95 | export const skillLibrary = skillLibraryClient(AGENTS); | |
| The artifacts service is services/artifacts, the Worker g1t-artifacts, bound as ARTIFACTS by the API, the site and the agents; its live rooms move to it with a Durable Object transfer from g1t-docs-service, and its database, bucket, indexes and queue keep their names. The git store's binding and settings are GITSTORE, its ops scripts gitstore-*, and workflow run artifacts keep their compatible API under run_artifacts modules. The deploy tool puts a Worker that has never deployed before the Workers in its stage that bind to it, and the deploy guide gives the cutover runbook. | 96 | /** The artifacts service's spaces (Artifacts' spaces) and projects' docs. Its old pages are no longer read. */ |
| 97 | export const docs = docsClient(ARTIFACTS); | |
| 98 | /** Artifacts (folios): docs, and later slides, designs and dashboards, kept by the artifacts service. */ | |
| 99 | export const folios = foliosClient(ARTIFACTS); |
This file's history is long; its oldest lines are credited to the oldest commit read.