g1t/apps/web/app/components/clone-box.tsx
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.
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 1 | import { Link } from "react-router"; |
| 2 | ||
| Code button: the SSH tab shows the address it will have, disabled, with why it is not on yet | 3 | import { cloneUrl, sshUrl, useAddresses } from "../lib/addresses"; |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 4 | import { AgentSetup } from "./agent-setup"; |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 5 | import { CopyLine } from "./ui"; |
| 6 | import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs"; | |
| 7 | ||
| 8 | /** The ways to get a repository onto a machine or in front of an agent. */ | |
| 9 | export function CloneBox({ path }: { path: string }) { | |
| Merge branch 'worktree-agent-aaf03bdceac799c89' | 10 | const addresses = useAddresses(); |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 11 | return ( |
| 12 | <Tabs defaultValue="https"> | |
| 13 | <TabsList> | |
| 14 | <TabsTrigger value="https">HTTPS</TabsTrigger> | |
| 15 | <TabsTrigger value="ssh">SSH</TabsTrigger> | |
| 16 | <TabsTrigger value="agent">Agent</TabsTrigger> | |
| 17 | </TabsList> | |
| 18 | <TabsContent value="https"> | |
| Merge branch 'worktree-agent-aaf03bdceac799c89' | 19 | <CopyLine text={cloneUrl(addresses, path)} /> |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 20 | <p className="mt-2 text-xs text-muted"> |
| 21 | To push, use your username and an{" "} | |
| status.g1t.sh with incident management, invites that land you in the workspace, settings as pages, usage without quotas | 22 | <Link to="/settings/tokens" className="text-fg underline underline-offset-4"> |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 23 | access token |
| 24 | </Link>{" "} | |
| 25 | as the password. | |
| 26 | </p> | |
| 27 | </TabsContent> | |
| 28 | <TabsContent value="ssh"> | |
| Code button: the SSH tab shows the address it will have, disabled, with why it is not on yet | 29 | <CopyLine text={sshUrl(addresses, path)} disabled /> |
| 30 | <p className="mt-2 text-xs text-muted"> | |
| 31 | Not on yet: git over SSH is waiting on inbound TCP on Cloudflare, which g1t has applied for. Use HTTPS for | |
| 32 | now; it clones, fetches and pushes the same. Keys you add under{" "} | |
| 33 | <Link to="/settings/keys" className="text-fg underline underline-offset-4"> | |
| 34 | SSH keys | |
| 35 | </Link>{" "} | |
| 36 | will work as soon as SSH is on. | |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 37 | </p> |
| 38 | </TabsContent> | |
| 39 | <TabsContent value="agent"> | |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 40 | <AgentSetup /> |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 41 | <p className="mt-2 text-xs text-muted"> |
| Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look | 42 | Then ask it to work on an issue in <span className="font-mono text-fg">{path}</span>.{" "} |
| Docs as their own app; shared theme package | 43 | <Link to="https://docs.g1t.sh/guides/bring-your-own-agent/" className="text-fg underline underline-offset-4"> |
| Hosted agents: sandboxes on Cloudflare Containers started from an intent | 44 | More |
| 45 | </Link> | |
| 46 | </p> | |
| 47 | </TabsContent> | |
| 48 | </Tabs> | |
| 49 | ); | |
| 50 | } |
This file's history is long; its oldest lines are credited to the oldest commit read.