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

Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar1import { test } from "node:test";
2import assert from "node:assert/strict";
3
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.4import { shownCard } from "./cards.ts";
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar5
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.6test("an old card keeps its links and drops actions nobody answers any more", () => {
7 const card = shownCard({
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar8 kind: "session",
9 title: "Fix the login",
10 detail: null,
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.11 state: "working",
12 href: "/acme/web/pull/1",
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar13 owner: "agents",
14 ref: "ses_1",
15 actions: [
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.16 { id: "approve", label: "Approve more", style: "primary", confirm: null, input: null, href: null },
17 { id: "open", label: "Open", style: "default", confirm: null, input: null, href: "/acme/web/pull/1" },
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar18 ],
19 });
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.20 assert.equal(card.owner, undefined);
21 assert.equal(card.ref, undefined);
22 assert.deepEqual(card.actions?.map((a) => a.id), ["open"]);
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar23});
24
Chat, artifacts and notifications no longer serve g1t's own agents. Direct messages and conversation invites take people only, and a space or folio is shared with people and teams. Chat stops waking agents, drops the RPCs agents posted, read, searched and handed off through, and stops answering buttons on agent cards; old cards keep their links. An agent's old messages still show, under its saved name or as "A deleted agent". Artifacts drops the folio and docs RPCs agents read and edited pages with, and an old agent member of a space can still be removed. Notifications drop "an agent is waiting on you". A deployment no longer trusts a pull request with secrets just because g1t's agent opened it, and the sign-up card no longer promises a team of agents.25test("a card with nothing left to press has no actions", () => {
26 const card = shownCard({ kind: "x", title: "x", detail: null, state: null, href: null, owner: "agents", actions: [{ id: "stop", label: "Stop", style: "danger", confirm: null, input: null, href: null }] });
27 assert.equal("actions" in card, false);
28 assert.deepEqual(shownCard({ kind: "x", title: "x", detail: null, state: null, href: null }), { kind: "x", title: "x", detail: null, state: null, href: null });
Cards you act on in chat; agents comment and review as themselves; names shown cleanly; commits on the calendar29});