mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 08:46:24 +02:00
* feat: add template synchronization utility and CI integration * refactor: make simple write to CI, no check * ci: conditionally sync CLI templates on push to main branch * docs: fix small capitalization
94 lines
2.2 KiB
Markdown
94 lines
2.2 KiB
Markdown
## 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 .
|
|
```
|
|
|
|
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:
|
|
|
|
```bash
|
|
uv run planoai build
|
|
```
|
|
|
|
Or, if you installed globally with `uv tool install .`:
|
|
|
|
```bash
|
|
planoai build
|
|
```
|
|
|
|
Note: `uv run` automatically uses the virtual environment - no activation needed.
|
|
|
|
### Development Workflow
|
|
|
|
**Build plano:**
|
|
```bash
|
|
uv run planoai build
|
|
```
|
|
|
|
**View logs:**
|
|
```bash
|
|
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).
|