Skip to content

g1t/apps/web/app/components/clone-box.tsx

50 lines1,998 bytesCodeBlame

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 intent1import { Link } from "react-router";
2
Code button: the SSH tab shows the address it will have, disabled, with why it is not on yet3import { cloneUrl, sshUrl, useAddresses } from "../lib/addresses";
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look4import { AgentSetup } from "./agent-setup";
Hosted agents: sandboxes on Cloudflare Containers started from an intent5import { CopyLine } from "./ui";
6import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs";
7
8/** The ways to get a repository onto a machine or in front of an agent. */
9export function CloneBox({ path }: { path: string }) {
Merge branch 'worktree-agent-aaf03bdceac799c89'10 const addresses = useAddresses();
Hosted agents: sandboxes on Cloudflare Containers started from an intent11 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 intent20 <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 quotas22 <Link to="/settings/tokens" className="text-fg underline underline-offset-4">
Hosted agents: sandboxes on Cloudflare Containers started from an intent23 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 yet29 <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 intent37 </p>
38 </TabsContent>
39 <TabsContent value="agent">
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look40 <AgentSetup />
Hosted agents: sandboxes on Cloudflare Containers started from an intent41 <p className="mt-2 text-xs text-muted">
Invite-only launch: sign in with GitHub, repository access and lifecycle, many emails, a new look42 Then ask it to work on an issue in <span className="font-mono text-fg">{path}</span>.{" "}
Docs as their own app; shared theme package43 <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 intent44 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.