Manage projects from the CLI (#3460)

* feat(cli): manage projects

Expose the existing project lifecycle through one CLI command group so projects can be managed without opening the app.

* fix(cli): preserve remote project paths

Project paths belong to the daemon when a target is explicit. Require that path instead of resolving the CLI machine's cwd, and keep local convenience resolution for the default connection.

* docs(cli): document project management

* docs(cli): remove repeated project reference
This commit is contained in:
Mohamed Boudra
2026-08-16 20:32:08 +02:00
committed by GitHub
parent ac7796035d
commit ac4331456c
16 changed files with 417 additions and 7 deletions
+29 -1
View File
@@ -1,6 +1,6 @@
---
title: CLI
description: "Paseo CLI reference: manage agents, workspaces, plugins, scripts, schedules, daemons, and permissions from your terminal."
description: "Paseo CLI reference: manage projects, workspaces, agents, plugins, scripts, schedules, daemons, and permissions from your terminal."
nav: CLI
order: 3
category: Getting started
@@ -59,6 +59,34 @@ Use `--output-schema` to return only matching JSON output. You can pass a schema
By default, `paseo run` waits for completion. Use `--background` to return immediately while the agent keeps running.
## Projects
Register the current directory as a project, then list the projects known to the daemon:
```bash
cd ~/dev/my-app
paseo project create
paseo project ls
```
Use the project ID from `paseo project ls` to rename, reset, or delete a project:
```bash
paseo project rename <project-id> "My app"
paseo project rename <project-id> --reset
paseo project delete <project-id>
```
`--reset` restores the name derived from the project directory. Deleting a project archives its active workspaces and removes the project from Paseo. It does not delete the project directory.
For a local daemon, `paseo project create [path]` defaults to the current directory and resolves relative paths on the CLI machine. When you use `--host` or `PASEO_HOST`, provide a path that the target daemon can access:
```bash
paseo project create /srv/repos/api --host devbox:6767
```
The remote daemon interprets that path on its own machine. See [Workspaces](/docs/workspaces) for how projects group working directories and sessions.
## Workspaces
Create a workspace independently when you want to prepare its files before starting an agent:
+1 -1
View File
@@ -23,7 +23,7 @@ When the desktop app finds installed Paseo skills, it keeps the bundled skills u
## `/paseo`, Paseo Reference
The foundational skill. Paseo reference for managing agents and workspaces. Load it when an agent needs to create agents, send them prompts, or manage workspace isolation.
The foundational skill. Paseo reference for managing projects, workspaces, and agents. Load it when an agent needs to register a project, create agents, send them prompts, or manage workspace isolation.
Not typically invoked directly by users, it's a reference that other skills depend on.
+2
View File
@@ -27,6 +27,8 @@ my-app
Each workspace is a separate place to work. You can keep one for your main checkout, create another for a feature, or open a GitHub PR as another workspace.
Use the [CLI project commands](/docs/cli#projects) to register, list, rename, or delete projects.
## Workspaces contain sessions
Agents run inside a workspace as sessions. A workspace can have one agent session, several agent sessions, terminals, browsers, and diffs open at the same time.