* docs: rename to lowercase + drop leftover plans Rename docs in docs/ to lowercase kebab-case for consistency and update all references in CLAUDE.md, CONTRIBUTING.md, CHANGELOG.md, packages/server/CLAUDE.md, and inter-doc links. Drop two leftover design plan docs: - docs/ATTACHMENT_BASED_REVIEW_CONTEXT_PLAN.md - docs/plan-approval-normalization.md * docs: drop stale uppercase entries from case-insensitive rename * feat(website): power /docs from public-docs/ markdown tree Move website docs out of TSX route components and into a root-level public-docs/ directory of plain markdown files with frontmatter (title, description, nav, order). - Add packages/website/src/docs.ts loader using import.meta.glob with ?raw to compile the markdown into the bundle at build time. - Replace the 9 hand-written docs/*.tsx routes with a single $.tsx catch-all that renders any slug via react-markdown. - Drive the docs sidebar nav from frontmatter order/nav. - Auto-discover docs routes in vite.config.ts so the sitemap stays in sync without manual edits. * fix(website): bind dev server to 0.0.0.0 so port collisions trigger fallback `host: "127.0.0.1"` (or unset) lets macOS coexist with another process holding an IPv6 dual-stack `*:8082` socket, so Vite never sees EADDRINUSE and silently binds alongside it. Forcing IPv4 wildcard makes the conflict real, and Vite's default `strictPort: false` falls through to the next free port. * fix(website): restore docs page styling after markdown migration Add a .docs-prose class that mirrors the styling the original docs/*.tsx components hand-rolled (h1/h2/h3 sizes, paragraph/list spacing, link colors, code blocks, callout-style blockquotes). ReactMarkdown was emitting unstyled HTML because the previous wrapper class only had inline-code rules — headings and code blocks fell back to user-agent defaults.
2.0 KiB
title, description, nav, order
| title | description | nav | order |
|---|---|---|---|
| Getting started | Learn how to set up and use Paseo to manage your coding agents from anywhere. | Getting started | 1 |
Getting started
Paseo has three main pieces: the daemon is the local server that manages your agents, the app is the client you use from mobile, web, or desktop, and the CLI is the terminal interface that can also launch the daemon.
Prerequisites
Paseo manages existing agent CLIs. Install at least one agent and make sure it already works with your credentials before you set up Paseo.
Desktop App
Download the desktop app from paseo.sh/download or the GitHub releases page. Open it and you're done.
The desktop app bundles and manages its own daemon automatically, so you do not need a separate CLI install on that machine unless you want it.
On first launch, you may briefly see a startup screen while the local server starts and the app connects to it. After that, connect from your phone by scanning the QR code in Settings if you want mobile access.
CLI / Server
Use this path for headless setups, servers, or remote machines where you want the daemon running without the desktop app.
npm install -g @getpaseo/cli
paseo
Paseo prints a QR code in the terminal. Scan it from the mobile app, or enter the daemon address manually from another client.
Configuration and local state live under PASEO_HOME.
Voice Setup
Paseo includes first-class voice support with a local-first architecture and configurable speech providers.
For architecture, local model behavior, and provider configuration, see the Voice docs page.