Moona is in early access. These steps are for people who already have access. If you do not yet, join the waitlist and we will let you know when access opens.
Join the waitlistSetup
Run moona setup inside the project you want to guard. One command does everything — you will be protected before it finishes.
Run setup
Available once you have early access. Join the waitlist
What setup does
moona setup is the single onboarding command. In order, it:
Checks your Node version. Fails immediately if you are running Node older than 20.
Initializes configuration if this is a new project. Creates a
moona.config.jsonin the current directory. Any undeclared database host is treated as production by default — the safe starting point.Starts the guardrail daemon (or reuses one already running).
Detects and configures your agent integrations. Moona checks which of the four supported agents — Claude Code, Cursor, VS Code, Codex — you already have configured and wires each one automatically. Existing configuration files are merged, never overwritten.
Discovers databases by reading your
.envfiles, Docker Compose configuration, and Prisma schema. This is read-only: Moona never opens a database connection or reads your passwords during this step. Any remote host it finds is automatically treated as production.Prints a summary and next steps.
Non-interactive environments
By default, moona setup is fully automatic — it makes sensible decisions without prompting. Two flags give you explicit control in CI or scripted environments:
Available once you have early access. Join the waitlist
Available once you have early access. Join the waitlist
Re-discovering databases
When your project gains a new database connection — a new .env entry, a new service in Docker Compose — run moona scan to bring it into Moona's view:
Available once you have early access. Join the waitlist
moona scan re-reads your project's database configuration (read-only, never opening a connection) and lets you declare each discovered host as production or non-production. Remote hosts default to production. Skipping a host is always safe — undeclared hosts are already treated as production.
Configuration file: Moona stores your project's settings in moona.config.json at the root of your project. You can validate it at any time with moona config validate.
