Skip to main content

ymirr CLI v2

The ymirr CLI v2 is the Convex-backed infrastructure CLI. It manages projects, services, environments, and Pulumi deployments from a single entry point, with an interactive menu and scriptable commands. It also integrates Netrunner for database clone management.

Working name

This doc set is named ymirr-cli-v2 until the new CLI is fully coupled and the legacy ymirr CLI is retired. The binary is still ymirr.

What it does

  • Projects — Create and manage projects in Convex (ymirr init).
  • Services — Add, edit, remove, and list services (image, tier, DNS, Istio routes, probes).
  • Environments — Configure dev/uat/prod/preview (Cloudflare, Kubernetes, Vault, Hetzner, service overrides).
  • Deploy — Generate project_configuration.ts from Convex and run Pulumi (deploy, destroy).
  • Developer tools — Generate CI/CD YAML, preview config, logs, export env file, and Netrunner clone (create/list/destroy/status).

When you are not in a project directory, Developer Tools still shows: Logs, Export env file, and Netrunner — clone. The rest (Generate CI/CD, Generate config) require a configured project.

Installation

From the private registry:

npm config set @ymirr:registry https://npm.ivfuture.uk/
npm install -g @ymirr/ymirr-cli

One-time setup (env vars + optional global packages):

ymirr setup

Choose “Environment variables” to write ~/.ymirr-env (Pulumi, Cloudflare, Vault, Kube, Netrunner). Choose “Global packages” to install @ymirr/pulumi-infra and @ymirr/netrunner. Ensure your shell sources ~/.ymirr-env (e.g. in ~/.bashrc).

Quick start

  1. Run the CLI (interactive menu):

    ymirr
  2. Initialize a project (creates project in Convex, writes ymirr.toml):

    ymirr init
  3. Add services and environments from the menu (Deployment Tools → Service — add, Environment — add).

  4. Deploy (menu or CLI):

    ymirr deploy --env dev

For full command reference and details, see Commands and Setup.