Installation¶
project-guide can be installed via pyve (recommended), pip, pipx, or from source.
Requirements¶
- Python 3.11 or higher
- pyve, pip, or pipx package manager
project-guide depends on Jinja2 for its mode-driven templating system. This is installed automatically as a dependency.
Install via pyve (recommended)¶
If you use pyve, let pyve install and manage Project-Guide globally for you:
pyve self install provisions project-guide in pyve's toolchain venv and creates a ~/.local/bin/project-guide shim, so a single install on your PATH serves every project — no per-project pip install needed. project-guide keeps all per-project state in each project's .project-guide.yml and docs/project-guide/ tree, so the shared install is never written to. When pyve is detected at init time, project-guide's onboarding, status, and heal output adapt to pyve-managed hosting.
Install via pip¶
The simplest way to install project-guide is using pip:
This installs project-guide and its dependencies (including Jinja2) in your current Python environment.
Install via pipx (recommended for standalone CLI use)¶
If you don't use pyve, pipx is the best way to get system-wide CLI access without affecting your project's dependencies:
pipx installs the tool in an isolated environment while making the CLI command globally available.
If you don't have pipx installed:
# On macOS/Linux
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# On Windows
py -m pip install --user pipx
py -m pipx ensurepath
Install from Source¶
To install the latest development version from GitHub:
For development with all optional dependencies:
Verify Installation¶
After installation, verify that project-guide is available:
You should see the version number displayed.
Shell Completion (Optional)¶
Enable Tab completion for project-guide commands, flags, and mode names. Add the appropriate line to your shell's startup file.
Bash¶
Add to ~/.bashrc:
Zsh¶
Add to ~/.zshrc:
Fish¶
Add to ~/.config/fish/completions/project-guide.fish:
After updating your shell config, restart your shell (or source the file). Now you can:
project-guide <TAB>— complete command names (init,mode,status, etc.)project-guide mode <TAB>— complete mode names (default,plan_concept,code_direct, etc.) — reads.metadata.ymlfrom your current projectproject-guide --<TAB>— complete flags
Mode name completion is dynamic and reads the active project's .metadata.yml, so it works correctly even if you have custom modes.
Next Steps¶
- Getting Started - Get started with your first project
- Configuration - Learn about configuration options
- Commands - Explore all available commands