We would love feedback on our Roadmap and we welcome contributions to Plano! Whether you're fixing bugs, adding new features, improving documentation, or creating tutorials, your help is much appreciated.
Fork the repository to create your own version of Plano:
- Navigate to the Plano GitHub repository.
- Click the "Fork" button in the upper right corner.
- This will create a copy of the repository under your GitHub account.
Once you've forked the repository, clone it to your local machine (replace <your-username> with your GitHub username):
git clone git@github.com:<your-username>/plano.git
cd planoAdd the original repository as an upstream remote so you can keep your fork in sync:
git remote add upstream git@github.com:katanemo/plano.gitTo sync your fork with the latest changes from the main repository:
git fetch upstream
git checkout main
git merge upstream/mainInstall uv (Python package manager for the planoai CLI):
curl -LsSf https://astral.sh/uv/install.sh | shInstall pre-commit hooks:
Pre-commit hooks help maintain code quality by running automated checks before each commit. Install them with:
pip install pre-commit
pre-commit installThe pre-commit hooks will automatically run:
- YAML validation
- Code formatting checks (Rust with
cargo fmt, Python withblack) - Linting checks (Rust with
cargo clippy) - Rust unit tests
The planoai CLI is used to build, run, and manage Plano locally:
cd cli
uv syncThis creates a virtual environment in .venv and installs all dependencies.
Now you can use planoai commands from anywhere, or use uv run planoai from the cli directory.
Use a descriptive name for your branch (e.g., fix-bug-123, add-feature-x).
git checkout -b <your-branch-name>Make your changes in the relevant files. If you're adding new features or fixing bugs, please include tests where applicable.
Run Rust tests:
cd crates
cargo testFor library tests only:
cargo test --libRun Python CLI tests:
cd cli
uv run pytestOr with verbose output:
uv run pytest -vRun pre-commit checks manually:
Before committing, you can run all pre-commit checks manually:
pre-commit run --all-filesGo back to the original Plano repository, and you should see a "Compare & pull request" button. Click that to submit a Pull Request (PR). In your PR description, clearly explain the changes you made and why they are necessary.
We will review your pull request and provide feedback. Once approved, your contribution will be merged into the main repository!
- Ensure that all existing tests pass.
- Write clear commit messages.
- Add tests for any new functionality.
- Follow the existing coding style (enforced by pre-commit hooks).
- Update documentation as needed.
- Pre-commit hooks must pass before committing.
To get in touch with us, please join our discord server. We will be monitoring that actively and offering support there.