Skip to content

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.sh
45 linesCodeBlameRaw

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.

Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)1{
2 "$schema": "../../node_modules/wrangler/config-schema.json",
3 "name": "g1t-notify",
4 "account_id": "1e6f2cffa3f445920836e8ebe446bb58",
5 "compatibility_date": "2026-09-26",
6 "main": "./src/index.ts",
7 // Reached only through service bindings. The live socket's viewer comes
8 // in a header the site sets after checking the session, which is only
9 // safe to trust because nothing else can reach this Worker.
10 "workers_dev": false,
11 "placement": { "mode": "off" },
12 "services": [
13 // Who a username is, for the inbox's notices (they name people by username).
14 { "binding": "IDENTITY", "service": "g1t-identity" }
15 ],
16 // One feed per person: their tabs' sockets (hibernating), their latest
17 // notifications, unread counts and push subscriptions, in the object's
18 // own SQLite storage (src/feed.ts). No D1.
One kind of access token; presence and status; usernames keep their case; the tour is a miniature of the real app; icons for password managers19 // One presence room per workspace (src/room.ts): who is online, away or
20 // in Do Not Disturb, and their statuses, passed to everyone there who is
21 // online. Also in the object's own SQLite storage.
Merge branch 'worktree-agent-a5c94df323642630e'22 // One live topic per repository (src/topic.ts): whose tabs are watching
23 // its pages, handed each change the events and actions services tell of
24 // (repo_changed). Also in the object's own SQLite storage.
Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)25 "durable_objects": {
One kind of access token; presence and status; usernames keep their case; the tour is a miniature of the real app; icons for password managers26 "bindings": [
27 { "name": "FEEDS", "class_name": "Feed" },
Merge branch 'worktree-agent-a5c94df323642630e'28 { "name": "ROOMS", "class_name": "Room" },
29 { "name": "TOPICS", "class_name": "Topic" }
One kind of access token; presence and status; usernames keep their case; the tour is a miniature of the real app; icons for password managers30 ]
Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)31 },
One kind of access token; presence and status; usernames keep their case; the tour is a miniature of the real app; icons for password managers32 "migrations": [
33 { "tag": "v1", "new_sqlite_classes": ["Feed"] },
Merge branch 'worktree-agent-a5c94df323642630e'34 { "tag": "v2", "new_sqlite_classes": ["Room"] },
35 { "tag": "v3", "new_sqlite_classes": ["Topic"] }
One kind of access token; presence and status; usernames keep their case; the tour is a miniature of the real app; icons for password managers36 ],
Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)37 // Web Push (RFC 8292): the public half of the VAPID key pair browsers
38 // subscribe with, and who the push services may contact. The private
39 // half is the secret VAPID_PRIVATE_KEY (scripts/ops/vapid-keys.mjs).
The phone app: Chat in full with phone notifications, plus Code and Customize (#4)40 // Empty: no pushes, everything else works. Pushes to the phone app go
41 // through Expo and need nothing here; the secret EXPO_ACCESS_TOKEN is
42 // needed only once the Expo project turns on enhanced push security.
Merge the workspace shell: navigation and phone shell, g1t as orchestrator, agents in roles with audience-checked reads, reactions and custom emoji, live notifications and browser push, the homepage tour (agents 0002, chat 0002)43 "vars": { "VAPID_PUBLIC_KEY": "BBAhBFy-jgfEKm4IDEWKNN_5Nft9SjHqahXtpuZf1Aohop03XduSZgyat-hhDKXAP2hdtMv8yPX7TfqWyR6vJTo", "VAPID_SUBJECT": "https://g1t.sh" },
44 "observability": { "enabled": true, "head_sampling_rate": 0.1 }
45}

This file's history is long; its oldest lines are credited to the oldest commit read.