Skip to content
54 linesCodeBlameRaw
1import { BookOpen, FileText, GitBranch, MessagesSquare, Sparkles } from "lucide-react";
2import type { ReactNode } from "react";
3
4import type { Route } from "./+types/docs";
5import { page } from "../../lib/meta";
6
7export function meta({ params, ...args }: Route.MetaArgs) {
8 return page(args, { title: `Docs · ${params.owner} · g1t` });
9}
10
11function Point({ icon, title, children }: { icon: ReactNode; title: string; children: ReactNode }) {
12 return (
13 <li className="flex gap-3.5 rounded-xl border border-line bg-surface p-4">
14 <span className="flex size-8 shrink-0 items-center justify-center rounded-lg bg-raised text-muted">{icon}</span>
15 <span>
16 <span className="block text-sm font-medium">{title}</span>
17 <span className="mt-0.5 block text-[0.8125rem] leading-relaxed text-muted">{children}</span>
18 </span>
19 </li>
20 );
21}
22
23/** Docs mode, coming: what it will be (docs/WORKSPACE.md, "Docs"). */
24export default function Docs() {
25 return (
26 <div className="mx-auto max-w-3xl">
27 <div className="flex items-center gap-2">
28 <span className="flex size-10 items-center justify-center rounded-xl bg-accent/15 text-accent">
29 <BookOpen size={20} />
30 </span>
31 <span className="rounded-full px-2 py-0.5 text-[0.6875rem] font-medium tracking-wide text-muted uppercase ring-1 ring-line">Coming soon</span>
32 </div>
33 <h1 className="mt-5 text-3xl font-semibold tracking-tight">Docs that keep themselves true</h1>
34 <p className="mt-3 max-w-2xl text-[0.9375rem] leading-relaxed text-muted">
35 The workspace&apos;s written knowledge: specs, runbooks, decisions and onboarding, edited together in real time. Agents read it before they
36 work and keep it current after every merge.
37 </p>
38 <ul className="mt-8 grid gap-3 sm:grid-cols-2">
39 <Point icon={<FileText size={16} />} title="Spaces and pages">
40 One space per team or project, each a tree of pages with history, comments and backlinks.
41 </Point>
42 <Point icon={<Sparkles size={16} />} title="Agents read and write">
43 Every reply and task draws on it. Without write access, an agent&apos;s edit is a suggestion you accept or reject.
44 </Point>
45 <Point icon={<GitBranch size={16} />} title="Pages know what they describe">
46 A page that cites code is marked stale when a merge changes it, and its owner drafts the update.
47 </Point>
48 <Point icon={<MessagesSquare size={16} />} title="Conversations become pages">
49 &ldquo;Write this up&rdquo; in a thread makes a page from it, linked both ways, so decisions get a home.
50 </Point>
51 </ul>
52 </div>
53 );
54}