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: