| 1 | import { BookOpen, FileText, GitBranch, MessagesSquare, Sparkles } from "lucide-react"; |
| 2 | import type { ReactNode } from "react"; |
| 3 | |
| 4 | import type { Route } from "./+types/docs"; |
| 5 | import { page } from "../../lib/meta"; |
| 6 | |
| 7 | export function meta({ params, ...args }: Route.MetaArgs) { |
| 8 | return page(args, { title: `Docs · ${params.owner} · g1t` }); |
| 9 | } |
| 10 | |
| 11 | function 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"). */ |
| 24 | export 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'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'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 | “Write this up” in a thread makes a page from it, linked both ways, so decisions get a home. |
| 50 | </Point> |
| 51 | </ul> |
| 52 | </div> |
| 53 | ); |
| 54 | } |