Files
paseo/CLAUDE.md
Mohamed Boudra 81ee887d03 Reduce unnecessary re-renders in agent panel and input components
Narrow zustand selectors to only subscribe to fields each component
actually uses. Split nested objects (availableModes, projectPlacement)
into separate selectors with structural equality checks. Remove the
updatedAt processing-spinner hack in agent-input-area — the server
already guarantees agent status is "running" before ACKing the send
request, so isProcessing can clear on submit success directly.
2026-03-25 13:09:17 +07:00

2.4 KiB

CLAUDE.md

Paseo is a mobile app for monitoring and controlling your local AI coding agents from anywhere. Your dev environment, in your pocket. Connects directly to your actual development environment — your code stays on your machine.

Supported agents: Claude Code, Codex, and OpenCode.

Repository map

This is an npm workspace monorepo:

  • packages/server — Daemon: agent lifecycle, WebSocket API, MCP server
  • packages/app — Mobile + web client (Expo)
  • packages/cli — Docker-style CLI (paseo run/ls/logs/wait)
  • packages/relay — E2E encrypted relay for remote access
  • packages/desktop — Electron desktop wrapper
  • packages/website — Marketing site (paseo.sh)

Documentation

Doc What's in it
docs/ARCHITECTURE.md System design, package layering, WebSocket protocol, agent lifecycle, data flow
docs/CODING_STANDARDS.md Type hygiene, error handling, state design, React patterns, file organization
docs/TESTING.md TDD workflow, determinism, real dependencies over mocks, test organization
docs/DEVELOPMENT.md Dev server, build sync gotchas, CLI reference, agent state, Playwright MCP
docs/RELEASE.md Release playbook, draft releases, completion checklist
docs/ANDROID.md App variants, local/cloud builds, EAS workflows
docs/DESIGN.md How to design features before implementation
SECURITY.md Relay threat model, E2E encryption, DNS rebinding, agent auth

Quick start

npm run dev                          # Start daemon + Expo in Tmux
npm run cli -- ls -a -g              # List all agents
npm run cli -- daemon status         # Check daemon status
npm run typecheck                    # Always run after changes

See docs/DEVELOPMENT.md for full setup, build sync requirements, and debugging.

Critical rules

  • NEVER restart the main Paseo daemon on port 6767 without permission — it manages all running agents. If you're an agent, restarting it kills your own process.
  • NEVER assume a timeout means the service needs restarting — timeouts can be transient.
  • NEVER add auth checks to tests — agent providers handle their own auth.
  • Always run typecheck after every change.

Debugging

Find the complete daemon logs and traces in the $PASEO_HOME/daemon.log