diff --git a/CLAUDE.md b/CLAUDE.md index 187b563ec..697bac7bf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -49,7 +49,9 @@ At the start of non-trivial work, list `docs/` and skim anything relevant to the ## Quick start ```bash -npm run dev # Start daemon + Expo in Tmux +npm run dev # Start the dev daemon +npm run dev:app # Start Expo against the dev daemon +npm run dev:desktop # Start Electron desktop dev npm run cli -- ls -a -g # List all agents npm run cli -- daemon status # Check daemon status npm run typecheck # Always run after changes @@ -58,6 +60,8 @@ npm run format # Auto-format with Biome npm run format:check # Check formatting without writing ``` +Repo dev commands use checkout-local state by default. In this checkout, `PASEO_HOME` resolves to `.dev/paseo-home`, and `npm run cli -- ...` targets that same dev home automatically. The packaged desktop app and production-style daemon keep using `~/.paseo` on port `6767`. + See [docs/development.md](docs/development.md) for full setup, build sync requirements, and debugging. ## Critical rules diff --git a/docs/development.md b/docs/development.md index e44ccf77c..ecc4627cd 100644 --- a/docs/development.md +++ b/docs/development.md @@ -23,10 +23,11 @@ Root checkout dev is intentionally split across terminals: ### PASEO_HOME -`PASEO_HOME` is the directory that holds runtime state (agents, sockets, daemon log). Resolution rules: +`PASEO_HOME` is the directory that holds runtime state (agents, worktrees, workspace config, sockets, daemon log). Resolution rules: - The **server itself** (e.g. when launched by the desktop app or `npm run start`) defaults to `~/.paseo` (see `packages/server/src/server/paseo-home.ts`). -- **Repo dev scripts** default to `$ROOT/.dev/paseo-home`, where `$ROOT` is the current checkout or worktree root. This keeps all dev state disposable with the checkout. +- **Repo dev scripts** default to `$ROOT/.dev/paseo-home`, where `$ROOT` is the current checkout or worktree root. This keeps all dev state scoped to the checkout instead of the packaged desktop app. +- **`npm run cli -- ...`** runs through the same dev-home wrapper as the dev scripts, so the in-repo CLI automatically targets the current checkout's `.dev/paseo-home` and configured dev daemon endpoint. - **Paseo-created worktrees** seed `$PASEO_WORKTREE_PATH/.dev/paseo-home` from `$PASEO_SOURCE_CHECKOUT_PATH/.dev/paseo-home` by copying durable JSON metadata. Runtime files like pid files, sockets, and logs are not copied. Override knobs: @@ -234,7 +235,7 @@ install. ## CLI reference -Use `npm run cli` to run the in-repo CLI from source (`npx tsx packages/cli/src/index.ts`). The globally installed `paseo` binary on macOS is a symlink into the installed Paseo desktop app, not this checkout — use it to drive the desktop's built-in daemon, but use `npm run cli` when you want to talk to the CLI you are editing. +Use `npm run cli` to run the in-repo CLI from source (`npx tsx packages/cli/src/index.ts`). The script wraps the CLI with `scripts/dev-home.sh`, so it automatically uses this checkout's `.dev/paseo-home` and dev daemon endpoint unless you pass an explicit override. The globally installed `paseo` binary on macOS is a symlink into the installed Paseo desktop app, not this checkout — use it to drive the desktop's built-in daemon, but use `npm run cli` when you want to talk to the CLI you are editing. ```bash npm run cli -- ls -a -g # List all agents globally