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
178 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 remote-tracking branch 'origin/claude/cool-newton-7nm8r9' into claude/cool-newton-7nm8r91/* The title bar, in the colours of the page under it (titlebar.js sets
2 them): g1t's rail on g1t's pages, light or dark. 36px tall. */
3:root {
4 --bg: #050507;
5 --fg: #ededef;
6 --muted: #a0a0a8;
7 --accent: #b6a8ff;
8 --hover: rgba(237, 237, 239, 0.1);
9 --pill: rgba(237, 237, 239, 0.09);
10 --pill-hover: rgba(237, 237, 239, 0.14);
11 --pill-edge: rgba(237, 237, 239, 0.08);
12}
13* {
14 box-sizing: border-box;
15}
16html,
17body {
18 height: 100%;
19 margin: 0;
20 overflow: hidden;
21 background: var(--bg);
22}
23.bar {
24 height: 100%;
25 display: flex;
26 align-items: center;
27 gap: 2px;
28 padding-left: 6px;
29 color: var(--muted);
30 font: 500 12px/1 system-ui, "Segoe UI", -apple-system, Roboto, sans-serif;
31 user-select: none;
32 -webkit-user-select: none;
33 cursor: default;
34}
35.mac .bar {
36 padding-left: 78px;
37}
38.side {
39 display: flex;
40 align-items: center;
41 gap: 2px;
42 flex: 1 1 0;
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.43 /* Never narrower than its buttons: the search shrinks instead. */
44 min-width: min-content;
Merge remote-tracking branch 'origin/claude/cool-newton-7nm8r9' into claude/cool-newton-7nm8r945}
46.end {
47 justify-content: flex-end;
48}
49.middle {
50 flex: 0 1 560px;
51 min-width: 0;
52 display: flex;
53 justify-content: center;
54}
55button {
56 all: unset;
57 box-sizing: border-box;
58 display: inline-flex;
59 align-items: center;
60 justify-content: center;
61 color: inherit;
62}
63.icon {
64 width: 28px;
65 height: 26px;
66 border-radius: 6px;
67}
68.icon:hover {
69 background: var(--hover);
70 color: var(--fg);
71}
72.icon:disabled {
73 opacity: 0.35;
74 background: none;
75 color: inherit;
76}
77.search {
78 width: 100%;
79 height: 24px;
80 gap: 8px;
81 padding: 0 10px;
82 justify-content: flex-start;
83 border-radius: 6px;
84 background: var(--pill);
85 box-shadow: inset 0 0 0 1px var(--pill-edge);
86}
87.search:hover {
88 background: var(--pill-hover);
89 color: var(--fg);
90}
91.search span,
92.title {
93 overflow: hidden;
94 text-overflow: ellipsis;
95 white-space: nowrap;
96}
97.title {
98 padding: 0 8px;
99}
100.caption {
101 width: 46px;
102 height: 36px;
103}
104.caption:hover {
105 background: var(--hover);
106 color: var(--fg);
107}
108.caption.close:hover {
109 background: #c42b1c;
110 color: #fff;
111}
112button:focus-visible {
113 outline: 2px solid var(--accent);
114 outline-offset: -2px;
115}
Merge branch 'main' into rm-agents116/* The runner: a dot in its tone, right beside the settings, the size of
117 an icon button. A wide window has room for what it is doing too. Its
118 menu hangs under it, drawn by the page below (the site). */
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.119.chip {
Merge branch 'main' into rm-agents120 gap: 7px;
121 min-width: 28px;
122 height: 26px;
123 padding: 0 10px;
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.124 border-radius: 6px;
125 white-space: nowrap;
126}
127.chip[hidden] {
128 display: none;
129}
Merge branch 'main' into rm-agents130.chip:hover,
131.chip[aria-expanded="true"] {
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.132 background: var(--hover);
133 color: var(--fg);
134}
135.chip-dot {
Merge branch 'main' into rm-agents136 width: 8px;
137 height: 8px;
138 flex: none;
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.139 border-radius: 50%;
140 background: var(--muted);
141}
142.chip[data-tone="ok"] .chip-dot {
143 background: #4ade80;
144}
145.chip[data-tone="working"] .chip-dot {
146 background: #60a5fa;
147 animation: breathe 1.6s ease-in-out infinite;
148}
149.chip[data-tone="warning"] .chip-dot {
150 background: #fbbf24;
151}
152.chip[data-tone="problem"] .chip-dot {
153 background: #f87171;
154}
155.chip[data-tone="off"] .chip-dot {
156 background: var(--muted);
157 opacity: 0.6;
158}
159@keyframes breathe {
160 50% {
161 opacity: 0.35;
162 }
163}
164@media (prefers-reduced-motion: reduce) {
165 .chip[data-tone="working"] .chip-dot {
166 animation: none;
167 }
168}
Merge branch 'main' into rm-agents169/* The dot alone, until the window is wide enough that the words fit
170 beside it without crowding the search. */
171.chip-text {
172 display: none;
173}
174@media (min-width: 1360px) {
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.175 .chip-text {
Merge branch 'main' into rm-agents176 display: inline;
The desktop app is 0.3.4, and the runner has a window of its own. Beside the title bar's Settings button a chip says what the runner is doing, live, with a dot in its colour (Runner running, Running a job, Running 2 jobs, Runner starting, Runner updating, Runner stopped, Runner offline, Runner needs you), as Docker Desktop shows its engine; in a narrow window only the dot shows. It opens the Runner window, as the tray's runner row now does: at its top what the whole runner is doing, with what it is running, its version and workspace, and its own Stop or Start; then each kind of job's card as before; then its setup (running jobs here at all, how jobs run, the workspace, the computer with Check for runner updates and View on g1t); and its log, open and following along as it is written. Settings keeps the runner as one line, what it is doing with Open runner, and each window saves only its own settings over what the app has now, so neither undoes the other's. The chip's words are diagnosis.rs's, the Runner window is made off the main thread as Settings now is, and it has a capability of its own with only the commands it uses; the title bar may now ask the runner's status. Two things fixed on the way: a settings row hidden until it applies, Restart to change the title bar, showed all the time, since its row's display beat the hidden attribute; and in a narrow window the title bar's buttons ran over the search, which now shrinks instead. The desktop guide describes the chip, the Runner window and where each runner setting now is.177 }
178}

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