Installation

Manzano is distributed as a standalone CLI. Install it and use manzano to check, lint, test, and run your modules.

Prerequisites: macOS, Linux, or Windows. What you'll learn: How to install Manzano and verify your installation.

Install Manzano

Install the Manzano CLI via Homebrew:

brew tap manzano-studio/tap
brew install manzano

Verify the installation:

manzano --version

This installs the manzano CLI which includes all Grove tools: the compiler, server, and runtime.

Verify Installation

Create a new project and run its tests:

manzano init my-app
cd my-app
manzano test

manzano init scaffolds a project with a working starter module and prints a short Grove cheat sheet on completion. The project includes two developer-assistant context files at the project root (AGENTS.md and CLAUDE.md) so that AI coding assistants have the right project context from the first session.

Keep the CLI Up to Date

The manzano CLI includes a soft expiration check: builds older than ~10 days print a warning, and builds older than ~14 days refuse to run. This keeps clients in sync with platform API evolution.

If you use manzano only occasionally, plan to run brew upgrade manzano weekly, or re-install before each session:

brew upgrade manzano

CLI Commands

CommandPurpose
manzano init <name>Create a new Grove project
manzano devStart the local development server
manzano testRun *_test.grove test files
manzano deployDeploy to Manzano Cloud
manzano todoManage console tasks

For full details, see CLI Reference.

Project Structure

A Grove project is a directory with a grove.toml file at the root:

project_id = "my-app"

Each subdirectory containing .grove files is a module. All .grove files in a directory are merged into a single module scope. Files matching *_test.grove are test files -- they are excluded from compilation and loaded by the test runner.

my-app/
  grove.toml           # Project config
  todo/
    module.grove       # Module source
    todo_test.grove    # Tests (excluded from compilation)
  orders/
    module.grove
    types.grove        # Merged into the orders module

Editor Support

Grove uses the .grove file extension. While dedicated editor plugins are in development, setting your editor to use a syntax mode for a C-like language provides reasonable highlighting for keywords, strings, and blocks.

See Also