plano/cli/README.md

95 lines
2.2 KiB
Markdown
Raw Normal View History

## plano CLI - Local Development
This guide will walk you through setting up the plano CLI for local development using uv.
### Install uv
First, install the uv package manager. This is required for managing dependencies and running the development version of planoai.
**On macOS and Linux:**
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
**On Windows:**
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### Setup
1. **Install dependencies**
In the cli directory, run:
```bash
uv sync
```
This will create a virtual environment in `.venv` and install all dependencies from `pyproject.toml`.
2. **Install the CLI tool globally (optional)**
To install planoai as a global tool on your system:
```bash
uv tool install --editable .
```
2025-12-26 11:21:42 -08:00
This installs planoai globally in editable mode, allowing you to run `planoai` commands from anywhere while still using the source code from this directory. Any changes you make to the code will be reflected immediately.
3. **Run plano commands**
Use `uv run` to execute plano commands with the development version:
2025-12-26 11:21:42 -08:00
```bash
uv run planoai build
```
2025-12-26 11:21:42 -08:00
Or, if you installed globally with `uv tool install .`:
2025-12-26 11:21:42 -08:00
```bash
planoai build
```
2025-12-26 11:21:42 -08:00
Note: `uv run` automatically uses the virtual environment - no activation needed.
### Development Workflow
**Build plano:**
```bash
2025-12-26 11:21:42 -08:00
uv run planoai build
```
**View logs:**
2024-10-10 17:44:41 -07:00
```bash
2025-12-26 11:21:42 -08:00
uv run planoai logs --follow
```
**Run other plano commands:**
```bash
uv run planoai <command> [options]
```
### CI: Keep CLI templates and demos in sync
The CLI templates in `cli/planoai/templates/` are the source of truth for mapped
demo `config.yaml` files.
Use the sync utility to write mapped demo configs from templates:
```bash
uv run python -m planoai.template_sync
```
### Optional: Manual Virtual Environment Activation
While `uv run` handles the virtual environment automatically, you can activate it manually if needed:
```bash
source .venv/bin/activate
planoai build # No need for 'uv run' when activated
```
**Note:** For end-user installation instructions, see the [Plano documentation](https://docs.planoai.dev).