flagon-io/g1t

public

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/apps/web/app/components/clone-box.tsx

43 lines1,745 bytesCodeBlame
1import { Link } from "react-router";
2
3import { AgentSetup } from "./agent-setup";
4import { CopyLine } from "./ui";
5import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs";
6
7/** The ways to get a repository onto a machine or in front of an agent. */
8export function CloneBox({ path }: { path: string }) {
9 return (
10 <Tabs defaultValue="https">
11 <TabsList>
12 <TabsTrigger value="https">HTTPS</TabsTrigger>
13 <TabsTrigger value="ssh">SSH</TabsTrigger>
14 <TabsTrigger value="agent">Agent</TabsTrigger>
15 </TabsList>
16 <TabsContent value="https">
17 <CopyLine text={`https://g1t.sh/${path}.git`} />
18 <p className="mt-2 text-xs text-muted">
19 To push, use your username and an{" "}
20 <Link to="/settings/tokens" className="text-fg underline underline-offset-4">
21 access token
22 </Link>{" "}
23 as the password.
24 </p>
25 </TabsContent>
26 <TabsContent value="ssh">
27 <p className="rounded-lg border border-dashed border-line p-3 text-xs text-muted">
28 Git over SSH is waiting on inbound TCP on Cloudflare, which g1t has applied for. Use HTTPS for now: it
29 clones, fetches and pushes the same. Keys you add under Settings → SSH keys will work as soon as SSH is on.
30 </p>
31 </TabsContent>
32 <TabsContent value="agent">
33 <AgentSetup />
34 <p className="mt-2 text-xs text-muted">
35 Then ask it to work on an issue in <span className="font-mono text-fg">{path}</span>.{" "}
36 <Link to="https://docs.g1t.sh/guides/bring-your-own-agent/" className="text-fg underline underline-offset-4">
37 More
38 </Link>
39 </p>
40 </TabsContent>
41 </Tabs>
42 );
43}