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
608 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.

Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for1/*
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.2 * g1t's docs: Starlight in g1t's own design. A very dark gray base (or a
3 * near-white one, in light: styles/light.css), lavender as the accent for
4 * links and the current page, and quiet typography. Starlight's colours
5 * are mapped onto the g1t tokens once, here, for both themes.
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for6 */
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.7:root {
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for8 --sl-font: var(--g1t-font-sans);
9 --sl-font-mono: var(--g1t-font-mono);
10
11 /* Lavender is the docs' accent: links, the current page, highlights. */
Merge branch 'worktree-agent-ad7c6d88d93adc817'12 --sl-color-accent-low: color-mix(in srgb, var(--g1t-accent) 14%, var(--g1t-bg));
13 --sl-color-accent: var(--g1t-accent);
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.14 --sl-color-accent-high: var(--g1t-docs-accent-high);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for15
16 --sl-color-white: var(--g1t-fg);
17 --sl-color-gray-1: var(--g1t-fg-soft);
18 --sl-color-gray-2: var(--g1t-fg-soft);
19 --sl-color-gray-3: var(--g1t-muted);
20 --sl-color-gray-4: var(--g1t-faint);
21 --sl-color-gray-5: var(--g1t-line);
22 --sl-color-gray-6: var(--g1t-surface);
23 --sl-color-gray-7: var(--g1t-surface);
24 --sl-color-black: var(--g1t-bg);
25
26 --sl-color-bg: var(--g1t-bg);
27 --sl-color-bg-nav: color-mix(in srgb, var(--g1t-bg) 88%, transparent);
28 --sl-color-bg-sidebar: var(--g1t-bg);
29 --sl-color-hairline: var(--g1t-line);
30 --sl-color-hairline-light: var(--g1t-line);
31 --sl-color-hairline-shade: var(--g1t-line);
32 --sl-color-text: var(--g1t-fg-soft);
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.33 --sl-color-text-accent: var(--g1t-docs-link);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for34 --sl-color-text-invert: var(--g1t-bg);
35 --sl-color-bg-inline-code: var(--g1t-raised);
36
37 --sl-text-body: 0.9375rem;
38 --sl-line-height: 1.75;
39 --sl-content-width: 46rem;
Mission control counts people's own changes as theirs; a shorter sidebar with setup under Settings, and a 56px top bar40 /* The header's row, as tall as the app's top bar (3.5rem), and the tabs
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for41 beneath it. */
Mission control counts people's own changes as theirs; a shorter sidebar with setup under Settings, and a 56px top bar42 --sl-nav-height: 6.25rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for43 --sl-sidebar-width: 17rem;
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today44 /* Big enough to tap. */
45 --sl-menu-button-size: 2.5rem;
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.46}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for47
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.48/* Starlight's theme select (Auto, Light, Dark), at the foot of the phone
49 menu; the header has its own button (components/ThemeToggle.astro). */
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.50starlight-theme-select label {
51 color: var(--g1t-muted);
52 font-size: 0.85rem;
53}
54starlight-theme-select label:hover {
55 color: var(--g1t-fg);
56}
57starlight-theme-select select {
58 border-radius: 0.4rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for59}
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.60starlight-theme-select option {
61 background: var(--g1t-surface);
62 color: var(--g1t-fg);
The docs header ends at the source link: no divider before pickers it does not show63}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for64
65/* --- Header --------------------------------------------------------------- */
66
67header.header {
68 padding: 0 !important;
69 backdrop-filter: blur(10px);
70 border-bottom: 1px solid var(--g1t-line);
71}
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today72/* The search box fills the header's middle column; Header.astro centres
73 that column in the header, the same on every page. */
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for74site-search {
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today75 display: flex;
76 justify-content: center;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for77 width: 100%;
78}
79site-search button[data-open-modal] {
80 border-radius: 0.5rem;
81 background: var(--g1t-surface);
82 border-color: var(--g1t-line);
83 color: var(--g1t-faint);
84}
85site-search button[data-open-modal]:hover {
86 border-color: var(--g1t-line-strong);
87 color: var(--g1t-muted);
88}
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today89@media (min-width: 50rem) {
90 site-search button[data-open-modal] {
91 max-width: none;
92 }
93}
94/* Tablets: the full search box, as on desktop, since there is room. */
95@media (min-width: 45rem) and (max-width: 49.99rem) {
96 site-search button[data-open-modal] {
97 width: 100%;
98 border: 1px solid var(--g1t-line);
99 padding-inline: 0.75rem 0.5rem;
100 font-size: var(--sl-text-sm);
101 }
102 site-search button[data-open-modal] > span.sl-hidden {
103 display: block;
104 }
105 site-search button[data-open-modal] > kbd.sl-hidden {
106 display: flex;
107 margin-inline-start: auto;
108 }
109}
110/* Phones: a search icon, as big as a fingertip. */
111@media (max-width: 44.99rem) {
112 site-search button[data-open-modal] {
113 justify-content: center;
114 width: 2.5rem;
115 height: 2.5rem;
116 padding: 0;
117 border: 0;
118 background: transparent;
119 color: var(--g1t-muted);
120 font-size: 1.125rem;
121 }
122}
123/* The menu button sits in the header's top row, at the end, drawn like
124 the header's other icon buttons rather than as a floating disc. */
125.sl-menu-button {
126 top: calc((3.5rem - var(--sl-menu-button-size)) / 2) !important;
127 align-items: center;
128 justify-content: center;
129 border-radius: 0.5rem;
130 padding: 0;
131 background: transparent;
132 box-shadow: none;
133 color: var(--g1t-fg-soft);
134 font-size: 1.25rem;
135}
136.sl-menu-button:hover,
137.sl-menu-button:has(~ :popover-open) {
138 background: var(--g1t-raised);
139 color: var(--g1t-fg);
140}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for141
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.142/* Search, in light: the dialog is a white panel, so its results sit on a
143 step darker rather than on a white just off the panel's. */
144:root[data-theme='light'] #starlight__search {
145 --pagefind-ui-background: var(--g1t-surface);
146}
147:root[data-theme='light']
148 #starlight__search
149 :is(.pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)), .pagefind-ui__result-nested):not(:hover) {
150 background-color: var(--g1t-raised);
151}
152
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for153/* --- Sidebar -------------------------------------------------------------- */
154
155.sidebar-content {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.156 padding-top: 1.5rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for157}
158/* Groups always show their pages: no caret, no folding. */
159.sidebar-content details > summary {
160 pointer-events: none;
161 padding-top: 0.25rem;
162}
163.sidebar-content details > summary .caret {
164 display: none;
165}
166.sidebar-content .top-level > li + li {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.167 margin-top: 1.75rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for168}
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.169/* Group labels: headings over their pages, in the page's own ink. */
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for170.sidebar-content details > summary .group-label .large,
171.sidebar-content .top-level > li > details > summary {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.172 font-size: 0.875rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for173 font-weight: 600;
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.174 color: var(--g1t-fg);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for175}
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.176.sidebar-content .top-level > li > details > summary {
177 padding-inline: 0.75rem;
178 margin-bottom: 0.35rem;
179}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for180.sidebar-content ul ul,
181.sidebar-content ul ul li {
182 border-inline-start: 0;
183 margin-inline-start: 0;
184 padding-inline-start: 0;
185}
186.sidebar-content a {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.187 border-radius: 0.5rem;
188 padding: 0.4rem 0.75rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for189 font-size: 0.875rem;
190 color: var(--g1t-muted);
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.191 transition: background 0.15s, color 0.15s;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for192}
193.sidebar-content a:hover {
194 background: var(--g1t-surface);
195 color: var(--g1t-fg);
196}
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.197/* The current page: a lavender pill. */
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for198.sidebar-content a[aria-current='page'],
199.sidebar-content a[aria-current='page']:hover {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.200 background: var(--g1t-accent-low);
201 color: var(--g1t-docs-accent-high);
202 font-weight: 600;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for203}
204
205/* --- Content -------------------------------------------------------------- */
206
207.content-panel {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.208 padding-top: 2.75rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for209}
210/* The title and the page read as one, without a rule between them. */
211.content-panel + .content-panel {
212 border-top: 0;
213 padding-top: 0.5rem;
214}
215/* Headlines in Bricolage Grotesque, its optical size following the size. */
216.sl-markdown-content :is(h1, h2) {
217 font-family: var(--g1t-font-display);
218 font-optical-sizing: auto;
219}
220.sl-markdown-content h1 {
221 font-size: 2.25rem;
222 font-weight: 650;
223 letter-spacing: -0.02em;
224 line-height: 1.15;
225 color: var(--g1t-fg);
226}
227/* Sections open with space, not rules. */
228.sl-markdown-content .sl-heading-wrapper.level-h2 {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.229 margin-top: 3.5rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for230}
231.sl-markdown-content h2 {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.232 font-size: 1.75rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for233 font-weight: 600;
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.234 letter-spacing: -0.02em;
235 line-height: 1.2;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for236 color: var(--g1t-fg);
237}
238.sl-markdown-content h3 {
239 margin-top: 2rem;
240 font-size: 1.1rem;
241 font-weight: 600;
242 letter-spacing: -0.005em;
243 color: var(--g1t-fg);
244}
245.sl-markdown-content p,
246.sl-markdown-content li {
247 color: var(--g1t-fg-soft);
248}
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.249/* Links: the text's own ink, a little heavier, on a lavender underline. */
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for250.sl-markdown-content a:not(.card, .sl-link-button, .sl-link-card) {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.251 color: var(--g1t-fg);
252 font-weight: 500;
253 text-decoration-color: color-mix(in srgb, var(--g1t-accent) 55%, transparent);
254 text-decoration-thickness: 1.5px;
255 text-underline-offset: 0.25em;
256 transition: text-decoration-color 0.15s, color 0.15s;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for257}
258.sl-markdown-content a:not(.card, .sl-link-button, .sl-link-card):hover {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.259 color: var(--g1t-docs-link);
Merge branch 'worktree-agent-ad7c6d88d93adc817'260 text-decoration-color: var(--g1t-accent);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for261}
262.sl-markdown-content :not(pre) > code {
263 border-radius: 0.3rem;
264 padding: 0.1rem 0.3rem;
265 font-size: 0.85em;
266 color: var(--g1t-fg);
267 background: var(--g1t-raised);
268}
269
270/* Tables: ruled, not boxed. */
271.sl-markdown-content table {
272 display: table;
273 width: 100%;
274 border-collapse: collapse;
275 font-size: 0.875rem;
276}
277/* On a phone a wide table scrolls inside itself, not the page. */
278@media (max-width: 50rem) {
279 .sl-markdown-content table {
280 display: block;
281 overflow-x: auto;
282 }
283}
Usage, Billing settings and prepaid AI credit; fixes from the UX audit284/*
285 * There, a name, route or value in a table is never broken, not even at a
286 * hyphen or a slash: a long one widens the table, which then scrolls.
287 */
288@media (max-width: 50rem) {
289 .sl-markdown-content td code,
290 .sl-markdown-content th code {
291 white-space: nowrap;
292 overflow-wrap: normal;
293 word-break: normal;
294 }
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today295 /* The last column usually holds the sentences. Kept readable, it
296 scrolls the table sideways instead of folding to a word a line. */
297 .sl-markdown-content :is(td, th):last-child:not(:first-child) {
298 min-width: 12rem;
299 }
Usage, Billing settings and prepaid AI credit; fixes from the UX audit300}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for301.sl-markdown-content th {
302 border-bottom: 1px solid var(--g1t-line-strong);
303 background: transparent;
304 font-weight: 600;
305 color: var(--g1t-muted);
306 text-align: start;
307}
308.sl-markdown-content td,
309.sl-markdown-content th {
310 padding: 0.6rem 0.75rem;
311 border-inline: 0;
312 border-top: 0;
313}
314.sl-markdown-content td {
315 border-bottom: 1px solid var(--g1t-line);
316 vertical-align: top;
317}
318.sl-markdown-content tr:nth-child(2n) {
319 background: transparent;
320}
321
322/* Callouts: a tinted panel with a coloured edge. */
323.starlight-aside {
324 border: 0;
325 border-inline-start: 2px solid;
326 border-radius: 0 0.6rem 0.6rem 0;
327 padding: 0.85rem 1.1rem;
328}
329.starlight-aside--note {
330 border-color: var(--g1t-info);
331 background: color-mix(in srgb, var(--g1t-info) 7%, var(--g1t-bg));
332}
333.starlight-aside--tip {
Merge branch 'worktree-agent-ad7c6d88d93adc817'334 border-color: var(--g1t-success);
335 background: color-mix(in srgb, var(--g1t-success) 6%, var(--g1t-bg));
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for336}
337.starlight-aside--caution {
338 border-color: var(--g1t-warn);
339 background: color-mix(in srgb, var(--g1t-warn) 7%, var(--g1t-bg));
340}
341.starlight-aside--danger {
342 border-color: var(--g1t-danger);
343 background: color-mix(in srgb, var(--g1t-danger) 7%, var(--g1t-bg));
344}
345
346/* --- On this page --------------------------------------------------------- */
347
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.348.right-sidebar-panel {
349 padding-top: 2.75rem;
350}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for351.right-sidebar-panel h2 {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.352 font-size: 0.875rem;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for353 font-weight: 600;
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.354 color: var(--g1t-fg);
355}
356/* The headings on a rail; the one being read is marked on it. */
357.right-sidebar-panel starlight-toc > nav > ul {
358 border-inline-start: 1px solid var(--g1t-line);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for359}
360.right-sidebar-panel a {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.361 margin-inline-start: -1px;
362 border-inline-start: 1px solid transparent;
363 border-radius: 0;
364 padding-inline-start: calc(0.75rem + var(--depth) * 0.75rem);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for365 font-size: 0.8125rem;
366 color: var(--g1t-muted);
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.367 transition: color 0.15s, border-color 0.15s;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for368}
369.right-sidebar-panel a:hover {
370 color: var(--g1t-fg);
371}
372.right-sidebar-panel a[aria-current='true'] {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.373 border-color: var(--g1t-accent);
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.374 color: var(--g1t-docs-link);
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.375 font-weight: 500;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for376}
377
378/* --- Cards and buttons ---------------------------------------------------- */
379
380.card,
381.sl-link-card {
382 border-radius: 1rem;
383 background: var(--g1t-surface);
384 border: 1px solid var(--g1t-line);
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.385 transition: border-color 0.15s, background 0.15s, transform 0.15s;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for386}
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.387/* A link card lifts toward the accent under the pointer. */
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for388.sl-link-card:hover {
Merge the docs' new look: tabs for each section with their own short sidebar, a larger title under its section, a lavender pill for the current page, links in the text's colour on a lavender underline, On this page on a rail, and a header whose right side is g1t.sh, Source, Sign up and one theme button.389 border-color: color-mix(in srgb, var(--g1t-accent) 45%, var(--g1t-line));
390 background: color-mix(in srgb, var(--g1t-accent) 4%, var(--g1t-surface));
391}
392.sl-link-card:hover .icon {
393 color: var(--g1t-accent);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for394}
395.sl-link-button {
396 border-radius: 0.5rem;
397 font-size: 0.9rem;
398 font-weight: 500;
399}
400.sl-link-button.primary {
401 background: var(--g1t-fg);
402 border-color: var(--g1t-fg);
403 color: var(--g1t-bg);
404}
405.sl-link-button.primary:hover {
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.406 background: var(--g1t-docs-fg-hover);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for407}
408.sl-link-button.minimal {
409 color: var(--g1t-fg-soft);
410}
411
412/* --- Pagination and footer ----------------------------------------------- */
413
414.pagination-links a {
415 border-radius: 0.75rem;
416 border-color: var(--g1t-line);
417 box-shadow: none;
418}
419.pagination-links a:hover {
420 border-color: var(--g1t-line-strong);
421}
422.pagination-links a .link-title {
423 color: var(--g1t-fg);
424}
425.meta,
426.meta a {
427 font-size: 0.8125rem;
428 color: var(--g1t-faint);
429}
430
431/* --- Cards ---------------------------------------------------------------- */
432
433.sl-markdown-content .card-grid {
434 gap: 0.75rem;
435}
436.sl-markdown-content .card {
437 padding: 1.1rem 1.2rem;
438}
439.sl-markdown-content .card .title {
440 font-size: 1rem;
441 font-weight: 600;
442 color: var(--g1t-fg);
443}
444.sl-markdown-content .card .icon {
Merge branch 'worktree-agent-ad7c6d88d93adc817'445 color: var(--g1t-accent);
446 background: color-mix(in srgb, var(--g1t-accent) 12%, transparent);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for447 border: 0;
448 border-radius: 0.5rem;
449 padding: 0.3rem;
450}
451.sl-link-card {
452 padding: 1rem 1.2rem;
453}
454.sl-link-card .title {
455 font-size: 0.95rem;
456 font-weight: 600;
457 color: var(--g1t-fg);
458}
459.sl-link-card .description {
460 font-size: 0.85rem;
461 color: var(--g1t-muted);
462}
463
464/* Steps: numbered, on a quiet rail. */
465.sl-steps > li::before {
466 background: var(--g1t-raised) !important;
467 color: var(--g1t-fg) !important;
468 box-shadow: inset 0 0 0 1px var(--g1t-line-strong);
469 font-family: var(--g1t-font-mono);
470 font-size: 0.8rem;
471}
472.sl-steps > li::after {
473 background: var(--g1t-line) !important;
474}
475
476/* --- API reference -------------------------------------------------------- */
477
478/* An operation's method and path, at the top of its page. */
479.sl-markdown-content .g1t-endpoint {
480 display: flex;
481 align-items: center;
482 gap: 0.75rem;
483 overflow-x: auto;
484 border: 1px solid var(--g1t-line);
485 border-radius: 0.75rem;
486 padding: 0.7rem 0.9rem;
487 background: var(--g1t-surface);
488}
489.sl-markdown-content .g1t-endpoint code {
490 padding: 0;
491 background: transparent;
492 font-size: 0.875rem;
493 white-space: nowrap;
494 color: var(--g1t-fg);
495}
Merge site-audit: SEO routes, analytics with consent first in Europe, security page, founder and X account, docs header; the tour opens on the pull request and leads with Code, on the real shell, with Agents and Docs working today496/* On a phone a long path wraps onto a second line rather than hiding its end. */
497@media (max-width: 40rem) {
498 .sl-markdown-content .g1t-endpoint {
499 align-items: flex-start;
500 }
501 .sl-markdown-content .g1t-endpoint code {
502 white-space: normal;
503 overflow-wrap: anywhere;
504 }
505}
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for506/* Methods: the same small mono tag in the sidebar and on the page. */
507.g1t-method {
508 --method: var(--g1t-muted);
509 flex-shrink: 0;
510 border: 0 !important;
511 border-radius: 0.3rem;
512 padding: 0.05rem 0.4rem;
docs.g1t.sh and status.g1t.sh follow your system's light or dark setting, and each has an Auto, Light and Dark switch that this browser remembers: the docs' in the header (at the foot of the menu on a phone), with code, search, the API reference and its explorer in both themes; the status page's in its header, chosen before anything is drawn; the workspaces guide says where.513 background: color-mix(in srgb, var(--method) var(--g1t-docs-tag-tint), transparent) !important;
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for514 color: var(--method) !important;
515 font-family: var(--g1t-font-mono);
516 font-size: 0.7rem;
517 font-weight: 600;
518 letter-spacing: 0.02em;
519}
520.g1t-method-get,
521.g1t-method[data-method='get'] {
Merge branch 'worktree-agent-ad7c6d88d93adc817'522 --method: var(--g1t-success);
Fewer Artifacts reads: the store is asked for a handle only when needed, objects are kept in the isolate, and issue events read no workflows nobody listens for523}
524.g1t-method-post,
525.g1t-method[data-method='post'] {
526 --method: var(--g1t-info);
527}
528.g1t-method-put,
529.g1t-method-patch,
530.g1t-method[data-method='put'],
531.g1t-method[data-method='patch'] {
532 --method: var(--g1t-warn);
533}
534.g1t-method-delete,
535.g1t-method[data-method='delete'] {
536 --method: var(--g1t-danger);
537}
538/* In the sidebar the method sits at the end of the row, in a fixed column. */
539.sidebar-content a:has(.g1t-method) {
540 display: flex;
541 justify-content: space-between;
542 align-items: center;
543 gap: 0.5rem;
544}
545.sidebar-content .g1t-method {
546 min-width: 3.1rem;
547 text-align: center;
548 font-size: 0.625rem;
549 line-height: 1.6;
550}
Chat and workspace agents: channels, DMs and named agents you talk to551
552/* "Soon" beside a sidebar entry for a feature not built yet: quiet, like
553 the site's Coming soon tag, not a call to action. */
554.sidebar-content .sl-badge {
555 background: var(--g1t-raised);
556 border: 1px solid var(--g1t-line-strong);
557 color: var(--g1t-muted);
558 font-family: var(--g1t-font-mono);
559 font-size: 0.625rem;
560 text-transform: uppercase;
561 letter-spacing: 0.04em;
562}
g1t is described as the product it is in alpha, and its shell takes the new shape: the README, the docs home and docs/PLAN.md label every feature Live, Preview or Coming; a floating dock with the g1t mark, Today, Chat, Notifications, Agents, Code, Artifacts, your pinned apps and the Apps launcher, with People, Workspace and the account menu (now holding help) at its foot; the workspace's logo and switcher heading a flat sidebar that folds away with Ctrl B, or leading the header's breadcrumbs where there is none; the page in a rounded panel with a full-width header; Today as the front page, with first-time acceptance of agents' pull requests, what needs you and what's at stake, spend today and one item to start with, every number from a service; Notifications in place of the Inbox at /notifications; a bottom bar and More sheet on phones; and sign-in, sign-up, two-factor, reset, invites and choosing a workspace on standalone pages with no app around them.563
564/* Feature tables with a Live, Preview or Coming badge (components/Status.astro):
565 on a phone each row stacks, the name and its badge on one line and what it
566 does under them, rather than three narrow columns. */
567@media (max-width: 50rem) {
568 .sl-markdown-content table:has(.status),
569 .sl-markdown-content table:has(.status) tbody {
570 display: block;
571 width: 100%;
572 }
573 .sl-markdown-content table:has(.status) thead {
574 display: none;
575 }
576 .sl-markdown-content table:has(.status) tr {
577 display: grid;
578 grid-template-columns: minmax(0, 1fr) max-content;
579 width: 100%;
580 column-gap: 0.75rem;
581 padding-block: 0.5rem;
582 border-bottom: 1px solid var(--sl-color-hairline);
583 }
584 .sl-markdown-content table:has(.status) td {
585 border: 0;
586 padding: 0.15rem 0;
587 width: auto;
588 }
589 .sl-markdown-content table:has(.status) td:first-child {
590 font-weight: 600;
591 }
592 .sl-markdown-content table:has(.status) td:nth-child(2) {
593 grid-column: 1 / -1;
594 grid-row: 2;
595 color: var(--sl-color-gray-2);
596 }
597 .sl-markdown-content table:has(.status) td:nth-child(3) {
598 grid-column: 2;
599 grid-row: 1;
600 justify-self: end;
601 align-self: center;
602 width: max-content;
603 min-width: 0;
604 }
605 .sl-markdown-content table:has(.status) td + td {
606 margin-top: 0;
607 }
608}

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