Installing the CLI¶
Installation methods¶
Choose one of the following installation methods based on your preferences and environment.
uv¶
Prerequisites
git2.27+ exists on your$PATH
- Install uv 0.6.15+ (released 2025-04-21) if you haven't already.
-
Install the platform CLI:
uv tool install git+https://github.com/navapbc/platform-cli -
Done. Can now use
nava-platformdirectly as in the docs.
For one-off executions:
uvx --from git+https://github.com/navapbc/platform-cli -- <platform_cli_args>
Management commands
Updating:
uv tool upgrade nava-platform-cli
Uninstalling:
uv tool uninstall nava-platform-cli
Nix¶
Prerequisites
None! Nix provides everything needed.
- Install Nix if you haven't already.
-
Install the platform CLI:
nix profile add github:navapbc/platform-cli -
Done. Can now use
nava-platformdirectly as in the docs.
For one-off executions:
nix run github:navapbc/platform-cli -- <platform_cli_args>
Management commands
Updating:
nix profile upgrade platform-cli
Uninstalling:
nix profile remove platform-cli
pipx¶
Prerequisites
git2.27+ exists on your$PATH- Python 3.11+ available on your system
- Install pipx if you haven't already
- Note, pipx requires Python 3.10+ to run itself, but installed tools are isolated from system Python packages.
-
Install the platform CLI:
pipx install git+https://github.com/navapbc/platform-cliDon't have Python 3.11+? Let pipx fetch it for you:
pipx install --fetch-missing-python --python 3.12 git+https://github.com/navapbc/platform-cli -
Done. Can now use
nava-platformdirectly as in the docs.
For one-off executions:
pipx run --spec git+https://github.com/navapbc/platform-cli nava-platform <platform_cli_args>
Management commands
Updating:
pipx upgrade nava-platform-cli
Uninstalling:
pipx uninstall nava-platform-cli
Container¶
Prerequisites
- Docker (or another container runtime)
Container images are not currently published, so you'll need to build it yourself.
- Clone the repository
-
Build the container image:
make build -
Instead of using a
nava-platformcommand directly, use the wrapper script for simplified execution:./bin/docker-wrapper infra install ./my_project_directory(or create an alias in your shell like
alias nava-platform = <path_to_checkout>/bin/docker-wrapper)
Warning
The docker-wrapper script makes assumptions about your
environment. Review the script comments before use.
Running manually
After building, you will have a nava-platform-cli image locally available that
you can run like:
docker run --rm -it nava-platform-cli
For pretty much anything useful, you will need to mount the relevant locations from your host system into the container. For example if running the tool in the directory of your target project:
docker run --rm -it -v "$(pwd):/project-dir" nava-platform-cli infra install /project-dir
Shell autocompletion¶
Enable tab completion for your shell:
nava-platform --install-completion
To manually configure completion, get the configuration output:
nava-platform --show-completion