docs(website): add provider pages and refresh docs
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { createFileRoute, Link } from "@tanstack/react-router";
|
||||
import { CursorFieldProvider } from "~/components/butterfly";
|
||||
import { SiteFooter } from "~/components/site-footer";
|
||||
import { SiteHeader } from "~/components/site-header";
|
||||
import { AGENT_PAGES } from "~/data/agent-pages";
|
||||
import { pageMeta } from "~/meta";
|
||||
import "~/styles.css";
|
||||
|
||||
export const Route = createFileRoute("/agents")({
|
||||
head: () => ({
|
||||
meta: pageMeta(
|
||||
"Supported agents – Every coding agent Paseo runs | Paseo",
|
||||
"Run Claude Code, Codex, OpenCode, Cursor CLI, Gemini CLI, Hermes Agent, Qwen Code, Kimi Code, and 28 more coding agents from your phone. Self-hosted, your code stays on your machine.",
|
||||
),
|
||||
}),
|
||||
component: AgentsPage,
|
||||
});
|
||||
|
||||
function AgentsPage() {
|
||||
return (
|
||||
<CursorFieldProvider>
|
||||
<div className="bg-background">
|
||||
<div className="p-6 md:px-32 md:pt-20 max-w-7xl mx-auto">
|
||||
<nav className="mb-16">
|
||||
<SiteHeader />
|
||||
</nav>
|
||||
<header className="space-y-4 max-w-2xl">
|
||||
<h1 className="text-3xl md:text-5xl font-medium tracking-tight">
|
||||
Every agent Paseo supports
|
||||
</h1>
|
||||
<p className="text-white/70 text-lg leading-relaxed">
|
||||
Paseo runs the native CLI for {AGENT_PAGES.length} coding agents — your skills, your
|
||||
config, your MCP servers, all intact. Drive any of them from your phone.
|
||||
</p>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
<main className="px-6 md:px-32 pb-24 max-w-7xl mx-auto">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3">
|
||||
{AGENT_PAGES.map((agent) => (
|
||||
<Link
|
||||
key={agent.slug}
|
||||
to={`/${agent.slug}`}
|
||||
className="block rounded-xl border border-white/10 bg-white/[0.02] p-5 hover:border-white/20 hover:bg-white/[0.04] transition-colors"
|
||||
>
|
||||
<h2 className="font-medium text-white">{agent.name}</h2>
|
||||
<p className="mt-1 text-sm text-white/60 leading-relaxed">{agent.subtitle}</p>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<p className="mt-10 text-sm text-white/50">
|
||||
Want to add another?{" "}
|
||||
<a href="/docs/custom-providers" className="underline hover:text-white/80">
|
||||
Configure any ACP-compatible agent
|
||||
</a>{" "}
|
||||
in <code className="font-mono text-white/60">~/.paseo/config.json</code>.
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<SiteFooter />
|
||||
</div>
|
||||
</CursorFieldProvider>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/agoragentic")(agentRouteOptions("agoragentic"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/amp")(agentRouteOptions("amp"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/auggie")(agentRouteOptions("auggie"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/autohand")(agentRouteOptions("autohand"));
|
||||
@@ -1,22 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { LandingPage } from "~/components/landing-page";
|
||||
import { pageMeta } from "~/meta";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/claude-code")({
|
||||
head: () => ({
|
||||
meta: pageMeta(
|
||||
"Claude Code Mobile App – Ship from your phone | Paseo",
|
||||
"Run Claude Code from your phone. Launch agents, check on progress, review diffs, and merge — all from your pocket. Self-hosted, your code stays on your machine.",
|
||||
),
|
||||
}),
|
||||
component: ClaudeCodePage,
|
||||
});
|
||||
|
||||
function ClaudeCodePage() {
|
||||
return (
|
||||
<LandingPage
|
||||
title="Ship with Claude Code from your phone"
|
||||
subtitle="Launch agents, check on progress, and merge from anywhere. Your Claude Code setup, your machine, your pocket."
|
||||
/>
|
||||
);
|
||||
}
|
||||
export const Route = createFileRoute("/claude-code")(agentRouteOptions("claude-code"));
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/cline")(agentRouteOptions("cline"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/codebuddy")(agentRouteOptions("codebuddy"));
|
||||
@@ -1,22 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { LandingPage } from "~/components/landing-page";
|
||||
import { pageMeta } from "~/meta";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/codex")({
|
||||
head: () => ({
|
||||
meta: pageMeta(
|
||||
"Codex Mobile App – Run Codex from anywhere | Paseo",
|
||||
"Run OpenAI Codex from your phone. Kick off agents, monitor progress, and ship code without being at your desk. Self-hosted, your code never leaves your machine.",
|
||||
),
|
||||
}),
|
||||
component: CodexPage,
|
||||
});
|
||||
|
||||
function CodexPage() {
|
||||
return (
|
||||
<LandingPage
|
||||
title="Run Codex from anywhere"
|
||||
subtitle="Kick off Codex agents on your machine from your phone. Check in on the train, review on the couch, merge from the park."
|
||||
/>
|
||||
);
|
||||
}
|
||||
export const Route = createFileRoute("/codex")(agentRouteOptions("codex"));
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/copilot")(agentRouteOptions("copilot"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/cortex-code")(agentRouteOptions("cortex-code"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/corust")(agentRouteOptions("corust"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/crow")(agentRouteOptions("crow"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/cursor")(agentRouteOptions("cursor"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/deepagents")(agentRouteOptions("deepagents"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/dimcode")(agentRouteOptions("dimcode"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/dirac")(agentRouteOptions("dirac"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/factory-droid")(agentRouteOptions("factory-droid"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/fast-agent")(agentRouteOptions("fast-agent"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/gemini")(agentRouteOptions("gemini"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/glm")(agentRouteOptions("glm"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/goose")(agentRouteOptions("goose"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/hermes")(agentRouteOptions("hermes"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/junie")(agentRouteOptions("junie"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/kilo")(agentRouteOptions("kilo"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/kimi")(agentRouteOptions("kimi"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/minion-code")(agentRouteOptions("minion-code"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/mistral-vibe")(agentRouteOptions("mistral-vibe"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/nova")(agentRouteOptions("nova"));
|
||||
@@ -1,22 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { LandingPage } from "~/components/landing-page";
|
||||
import { pageMeta } from "~/meta";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/opencode")({
|
||||
head: () => ({
|
||||
meta: pageMeta(
|
||||
"OpenCode Mobile App – Code from anywhere | Paseo",
|
||||
"Run OpenCode from your phone. Launch agents, watch them work, and ship code from wherever you are. Self-hosted, open source, your code stays local.",
|
||||
),
|
||||
}),
|
||||
component: OpenCodePage,
|
||||
});
|
||||
|
||||
function OpenCodePage() {
|
||||
return (
|
||||
<LandingPage
|
||||
title="Run OpenCode from your phone"
|
||||
subtitle="Launch agents, check on builds, and ship code from anywhere. Same setup, same machine, just not at your desk."
|
||||
/>
|
||||
);
|
||||
}
|
||||
export const Route = createFileRoute("/opencode")(agentRouteOptions("opencode"));
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/pi")(agentRouteOptions("pi"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/poolside")(agentRouteOptions("poolside"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/qoder")(agentRouteOptions("qoder"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/qwen-code")(agentRouteOptions("qwen-code"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/sigit")(agentRouteOptions("sigit"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/stakpak")(agentRouteOptions("stakpak"));
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from "@tanstack/react-router";
|
||||
import { agentRouteOptions } from "~/components/agent-route";
|
||||
|
||||
export const Route = createFileRoute("/vtcode")(agentRouteOptions("vtcode"));
|
||||
Reference in New Issue
Block a user