Docs › Get Started › Introduction

Introduction

NOVA CLI is an AI developer that lives in your terminal. Tell it what you want in plain English. It reads your project, does the work, checks it with your project's own tests, and tells you honestly what happened.

What NOVA does

NOVA does the whole job, not just a suggestion. Point it at a project and ask for something:

  • Fix bugs. Describe what's wrong, paste an error, or point at a failing test.
  • Build things. Websites, multi-page apps, dashboards, scripts and more, from a sentence.
  • Change existing work. NOVA finds and reads the files itself. You don't paste anything in.
  • Understand code. Ask how something works, where it's used, or what a change could break.
  • Test and review. Add tests, fix failing ones, or get a review of your changes.
  • Make documents. Create designed PDFs and slide decks.
  • Work with data. Analyse a spreadsheet or data file, or build a dashboard or forecast from it.
  • Ship. Check what changed, commit and push without leaving NOVA.

How NOVA keeps you in control

  • You choose how much it can do alone. Five permission modes go from "only propose a plan" to "work freely".
  • Some things always ask. Deleting files, installing software, committing, pushing, deploying and opening files with passwords or keys always need your yes.
  • It checks its own work. After a change, NOVA runs your project's tests, build and checks, and gives one clear result. It never reports a pass when no check ran.
  • It keeps a record. Every change comes with a plain-English record of what changed and what was checked.
  • You can undo. \undo rolls back the last change in one step.

NOVA CLI is in beta

NOVA CLI is live in beta and included on every plan, including Free. See Plans & Pricing.

Where to start

If you want to…Go to
Install NOVAInstallation
Try it in five minutesQuickstart
See everyday examplesCommon Workflows
Look up a commandShell Commands
Tip: Inside NOVA, commands start with a backslash, like \undo. Anything else you type is a request for NOVA.
Docs › Get Started › Installation

Installation

Install NOVA with one command. The installer brings everything NOVA needs, checks every file it downloads, and keeps NOVA up to date. You don't need administrator rights.

Before you begin

You need:

  • A 64-bit Windows, macOS or Linux computer.
  • A terminal: PowerShell on Windows, or Terminal on macOS and Linux.
  • A NOVA account to sign in with.

You don't need Python for the one-line installer. It brings its own.

Install on macOS or Linux

  1. Open Terminal.
  2. Run:
Terminal
curl -LsSf https://nova.bridgeye.com/install.sh | sh

3. Open a new terminal window so the nova command is found.

Install on Windows

  1. Open PowerShell.
  2. Run:
PowerShell
irm https://nova.bridgeye.com/install.ps1 | iex

3. Open a new PowerShell window so the nova command is found.

Install with pip or pipx

If you prefer to manage NOVA yourself, it's on PyPI. You need Python 3.10 or newer.

bash
# Direct pip install:
pip install nova-bridgeye

# To keep NOVA separate from your other Python packages, use pipx:
pipx install nova-bridgeye
Note:The package is called nova-bridgeye. bridgeye-nova (the other way round) is not NOVA.

Check your install

bash
nova --version
nova doctor

nova doctor checks that you're signed in, that everything NOVA needs is present, and that your skills loaded. If something's wrong, it tells you what to fix.

Add Git (optional)

NOVA works without Git. You only need it for version-control actions such as \commit and \push. When you ask for one, NOVA tells you Git is missing and offers to install it. Or install it any time:

nova setup-git
  • Windows: installs Git for Windows. Windows may show an administrator prompt.
  • macOS: uses Homebrew if you have it. Otherwise, type git in Terminal and macOS offers to install it.
  • Linux: NOVA shows you the right command for your system to run yourself.

Turn on tab completion (optional)

Get completion for NOVA's commands in your shell:

nova completion bash # or zsh, or fish

Add the output to your shell's startup file.

Docs › Get Started › Quickstart

Quickstart

Go from zero to your first finished change in a few minutes.

1

Install NOVA

On macOS or Linux:

curl -LsSf https://nova.bridgeye.com/install.sh | sh

On Windows (PowerShell):

irm https://nova.bridgeye.com/install.ps1 | iex

Then open a new terminal.

2

Sign in

nova login

Your browser opens so you can approve the sign-in. When it's done, NOVA says "Login successful! Session saved."

3

Open your project

Go to the folder you want to work in and start NOVA:

cd my-project
nova

The header shows your account, the folder, and your credits for today.

4

Ask for something

Type a request in plain English and press Enter:

Add input validation to the signup form, with a test for it

NOVA reads the files it needs and shows its plan as a live checklist. In the default mode, it asks before each edit and command.

5

Check the result

When NOVA finishes, it runs your project's checks and gives the task a result, such as PASS. It also prints a short record of what changed.

\diff # see exactly what changed\undo # roll back the last change
6

Leave, and come back later

Type \exit, or press Ctrl+C twice. Your session is saved. Pick it up later from the same folder:

nova resume

What's next

  • Everyday examples: Common Workflows
  • How much NOVA does on its own: Permissions
  • Every command: Shell Commands, or type \commands in NOVA
Docs › Get Started › Common Workflows

Common Workflows

Real examples of what to type for the things people do most. Copy one, change the details, and go.

Fix a bug
The app crashes when I click Save with an empty title. Fix it.

Paste the error message if you have one. NOVA finds the cause, fixes it, and runs your checks.

Run a script and let NOVA fix it
\run scripts/report.py

If the script crashes, NOVA reads the error, fixes the cause, and runs it again. See AI Healing.

Understand a project
Explain how sign-in works in this project
\trace calculateTotal\impact src/billing/invoice.py
Add tests
\testing Add tests for the date helpers\test
Plan first, then build
\mode plan
Plan how to add dark mode to the settings page

Happy with the plan? Switch back with \mode ask and tell NOVA to go ahead.

Build a website
Build a landing page for a coffee shop with a menu and a contact form

NOVA asks one question first: a single page, or a full multi-page project? When it's done, it can start the site so you can see it.

Make it look like a picture

Attach a screenshot or design with @ and describe what you want:

Make the pricing page look like @designs/pricing.png
Make a PDF or slide deck
Turn README.md into a two-page PDF guide
Make a 10-slide deck about our Q3 results from @notes.md
Analyse a data file
Analyse @sales.csv and tell me which products are growing

NOVA asks what kind of output you want, then does the analysis on your computer.

Commit and push
\status
\commit Fix empty title crash
\push
Pick up yesterday's work
nova resume
Run NOVA from a script
nova -p "Fix the lint errors" --permission-mode acceptEdits

See Headless Mode.

Docs › Plans & Pricing › Plans & Pricing

Plans & Pricing

NOVA has four plans. Every plan includes NOVA CLI and a daily credit allowance, including the Free plan.

Plans at a glance

PlanPriceCreditsBest for
Free……Trying NOVA on small repos and daily fixes
Starter……Developers
Pro……Heavy daily use, bigger repos and faster iteration cycles
Max……Active personal projects and consistent usage

What's included

FeatureFreeStarterProMax
NOVA CLI access✓✓✓✓
AI Healing✓✓✓✓
Multi-file app builds✓✓✓✓
PDF, DOCX & PPT generation✓✓✓✓
HTML & Streamlit dashboards✓✓✓✓
Custom domains✓✓✓✓
Active projects25UnlimitedUnlimited
AI edits per project1025UnlimitedUnlimited
GitHub integration––✓✓

Monthly or yearly

You can pay monthly or yearly. Yearly billing saves about 17%.

Choose or change your plan

  1. Go to runnova.ai/pricing.
  2. Pick a plan and select Get started.
  3. Back in NOVA, run \usage to see your new plan.

Note: Prices and plans can change. The pricing page always has the latest.

Docs › Plans & Pricing › Credits & Usage

Credits & Usage

NOVA uses your plan's daily credits as it works. Here's how to see what you have, and what happens when you run out.

See your credits

bash
# Inside NOVA:
\usage

# From your terminal:
nova usage

You'll see your plan, your credits, your account, and how much the current session has used. The header at the top of NOVA also shows your credits.

When you run out

If your credits for the day are used up, NOVA says:

You're out of credits for today.

Your credits refresh daily. If you need more, upgrade on the pricing page.

In a script (nova -p), running out of credits ends the run with exit code 4.

Features and models on your plan

If you ask for something your plan doesn't include, NOVA tells you and links to the pricing page. Models your plan doesn't include are shown as locked in the model list, with the plan that unlocks them.

Use credits wisely

  • Be specific. "Fix the empty-title crash in the Save button" costs less than "fix the app".
  • Plan first for big jobs with \mode plan, then build once you agree.
  • Split large tasks into smaller ones.
Docs › Core Features › Interactive Mode

Interactive Mode

Run nova in a project folder to open an interactive session. You chat with NOVA, watch it work, approve what it wants to do, and use commands to steer.

Start a session

bash
cd my-project
nova

NOVA works in the folder you start it in.

Requests and commands

Anything that starts with a backslash is a command. Everything else is a request:

\status ← a command
Why does the login page crash? ← a request

Type \ to see matching commands with a short description of each. Keep typing to narrow the list. \commands (or \help) shows everything. If you type /reset or :reset out of habit, NOVA reminds you to use a backslash instead.

Point NOVA at files

You don't need to paste code. NOVA finds and reads files itself. To point at a specific file, use @:

What does @src/utils/dates.py do?
  • Press Tab after @ to complete file names.
  • @ on an image, PDF, video or audio file attaches the file itself, so NOVA can look at it.
  • You can also drag a file into the terminal.
Tip: Attach a screenshot and NOVA can tell whether you want it to copy a design or fix a bug shown in the picture.

While NOVA works

  • A live checklist shows what NOVA has done, what it's doing, and what's left.
  • It asks when it's unsure. If your request could mean two different jobs, NOVA asks which one you meant.
  • Stop or redirect. Press Esc to stop. Type a correction, such as "use Postgres, not SQLite", and NOVA carries on from there. Anything already written is kept.
  • It can read web pages. Give NOVA a link and it reads the page instead of answering from memory.

How a task ends

When NOVA changes files, it runs your project's checks and shows a result such as PASS, followed by a short record of what changed. See Checks & Results.

Useful session commands

CommandWhat it does
\continuePick up the previous task where it stopped.
\resetStart a fresh conversation.
\clearClear the screen.
\compact / \generalShort or full header.
\exitLeave NOVA. Your session is saved.
Docs › Core Features › Permissions

Permissions

Permission modes decide what NOVA may do without asking you first. Pick the level that fits the job, and change it any time.

The five modes

ModeEdits filesRuns commands
planNever. It only proposes a plan.Never
ask (default)Asks firstAsks first
editsYesAsks first
overdriveYesYes. Still asks before writing outside the project.
autoYesYes, including outside the project

Change the mode

Inside NOVA:

nova
\mode edits

Type \mode on its own to see the current mode. Or press Shift+Tab to cycle through ask → edits → auto.

For a one-off run from a script:

bash
nova -p "Fix the lint errors" --permission-mode acceptEdits

In settings and with nova -p, the edits mode is written acceptEdits.

To set a default for a project, see Settings.

What always asks

In every mode, NOVA stops and asks before it:

  • deletes files
  • installs software onto your computer
  • commits or pushes with Git, or rewrites history
  • deploys
  • opens files that hold secrets, such as .env

In plan mode, these are refused.

Note: auto mode needs NOVA to save undo checkpoints in your project. If it can't, NOVA tells you and suggests edits instead.

Answering a request

When NOVA asks, it shows exactly what it wants to do. Before you say yes:

  1. Read the command or file paths.
  2. Check nothing unrelated is included.
  3. Approve only what you intended. If in doubt, say no and narrow the task.

If you choose "allow always", NOVA remembers it for this project on this computer only.

Allow and deny lists

You can pre-approve or always block specific commands in Settings:

.nova/settings.json
{
  "permission": {
    "allow": ["git status", "pytest*"],
    "deny": ["rm*"]
  }
}

A deny always wins over an allow.

Docs › Core Features › Checks & Results

Checks & Results

After a task that changes files, NOVA runs your project's own checks and tells you plainly what they said. A pass means a real check ran and passed.

The results

ResultWhat it means
PASSNOVA's checks ran and passed.
FAILA required check failed. The work isn't done yet.
BLOCKEDA check couldn't run, for example because a tool is missing.
SKIPPEDChecks were skipped on purpose, and the reasons are recorded.
UNVERIFIEDNOVA didn't run a check of its own, so it makes no claim either way.

Which checks run

NOVA looks at your project and finds its test, build, lint and type-check commands. It runs the ones your changes need. You can also run them yourself:

nova
\test # tests
\lint # linter
\typecheck # type checker
\check # build, type check, lint and test, stopping at the first failure

If NOVA can't find your commands, set them in Settings, for example verify.test.

NOVA's record

A task that changed something ends with NOVA's record:

  • which files changed
  • NOVA's check result
  • commands the AI ran on its own (listed separately, because they aren't NOVA's checks)
  • anything that failed

The record comes from what actually happened, not from the AI's own summary.

UNVERIFIED is not FAIL

UNVERIFIED usually means NOVA didn't recognise how to check your project, often because there's no package.json, pyproject.toml or similar file. The work may be completely right. To find out more:

nova verify

It explains why nothing ran. Then run your own tests.

Handoff notes

Each task that changes files also saves a readable handoff note in .nova/receipts/ in your project. It lists what changed, which checks ran, and which didn't and why (under Not checked). Print one any time:

bash
nova handoff
nova handoff --save # also save it

Stale results

A result only counts while the code it checked is unchanged. If files change afterwards, for example when you resume a session a day later, NOVA shows an old pass as stale rather than current.

Docs › Core Features › AI Healing

AI Healing

When something breaks, NOVA doesn't just report it. It finds the cause, fixes it, and checks again. AI Healing is included on every plan.

Run and heal

Run a file or a command through NOVA:

nova
\run app.py
\run node server.js
  1. NOVA installs any missing packages the file needs.
  2. It runs the file.
  3. If it crashes, NOVA reads the error, finds the line that caused it, fixes it, and runs it again.

\run works with Python, JavaScript, R and many other languages. It also works from your terminal:

bash
nova run app.py

Run the whole project

\run

With nothing after it, NOVA works out what your project is and starts it. For example, it starts a web app or dashboard and opens it in your browser.

Fixing failed checks

When one of your project's checks fails after a change, NOVA diagnoses the problem, patches it, and runs the check again. If it still can't get a clean result, it tells you honestly instead of claiming success.

Fix what NOVA left alone

Sometimes you ask NOVA to change only part of a project, and it notices problems elsewhere. It reports them but leaves them alone. To fix them too:

\fix

Stay in control

Healing follows your permission mode. In the default ask mode, NOVA asks before applying a fix or installing a package.

Docs › Core Features › Undo & Diff

Undo & Diff

See exactly what NOVA changed, and roll it back in one step if you don't like it.

See what changed

nova
\diff

Shows the changes from the current task.

Undo the last change

nova
\undo

Reverts the files NOVA changed in its last task. Your own changes are left alone.

Stopping isn't undoing: Pressing Esc stops NOVA, but anything it already wrote is kept. That way you can redirect it without losing good work. Use \undo when you want the changes gone.

Check your repository

If you use Git:

nova
\status

Shows what's changed, what's staged, and where your branch stands.

Docs › Core Features › Memory

Memory

NOVA can remember your rules, preferences and decisions, so you only say them once. You can see, correct and delete anything it remembers.

Tell NOVA to remember something

nova
\remember Always use pnpm, never npm

NOVA tells you where the note landed:

NOVA saysWhat it means
"a standing instruction for this folder, sent on every turn"Applied to every request in this project.
"a standing preference, on every project"Applied everywhere.
"Noted as a decision for this project."Kept, and used when relevant.
"Still deciding…"Check again in a moment with \memory.

See what NOVA remembers

nova
\memory # everything
\memory project # this project only
\memory global # what applies to every project

Each entry shows whether it's sent to NOVA on every turn, or only read when NOVA searches its memory.

Correct or remove an entry

nova
\memory replace <id> Always use pnpm and Node 20
\memory forget <id>

\memory help lists more options.

Tidy up

nova
\consolidate

Compresses older memories so they stay useful.

Note:Don't store passwords, keys or other secrets in memory.
Docs › Core Features › Sessions & Resume

Sessions & Resume

Every session is saved. Close your terminal whenever you like and pick up exactly where you left off.

What a session keeps

  • your goal and the plan
  • decisions made along the way
  • which checks ran and what they said
  • what failed
  • the files that mattered

A transcript of each session also stays on your computer.

List your sessions

bash
nova sessions # this project
nova sessions --all # every project

Resume a session

bash
nova resume # the most recent one in this project
nova resume a1b2c3 # a specific one
nova --resume # choose from a list
nova --continue # same as nova resume

You can refer to a session by its short ID, its number in the list, or a name you gave it.

What happens when you resume

  1. NOVA restores the goal, plan and decisions.
  2. It checks what changed in your project while you were away.
  3. It tells you what's stale. For example, a test that passed before someone edited the file is shown as stale, not as passing.
  4. It carries on from the next step.

Name and close sessions

bash
nova sessions rename a1b2c3 checkout-fix
nova sessions show checkout-fix
nova sessions complete checkout-fix
nova sessions abandon a1b2c3
nova sessions delete a1b2c3
  • complete: the goal is done.
  • abandon: you've stopped working on it.
  • Both keep the record. delete removes it for good, after asking.
Note:Leaving NOVA never marks a session complete. Only you do that.
Docs › Core Features › Skills

Skills

Skills are built-in know-how for particular jobs. NOVA picks the right one for your request automatically, or you can name one yourself.

Built-in skills

SkillUse it for
debugSomething is broken, failing or behaving oddly.
testingAdding, extending or fixing tests.
reviewReviewing your changes.
refactorRestructuring code without changing what it does.
explainUnderstanding existing code.
securityChecking code for security problems.
frontend-webWebsites and web apps.
pdfCreating and reading PDFs.
pptxCreating and reading slide decks.
data-analysisAnalysing data files and building dashboards.
data-sciencePrediction and forecasting.

Use a skill yourself

Type the skill's name as a command, then your task:

nova
\debug The API returns 500 on an empty search
\review
\explain What does the retry helper do?

In a script:

bash
nova -p "Review my changes" --skill review

See your skills

bash
nova skills list
nova skills inspect review

Write your own skill

A skill is a folder containing a SKILL.md file: a short description, then instructions.

SKILL.md
---
name: team-review
description: Review changes using our team checklist.
version: 1.0.0
---

# Team review checklist

Check error handling, naming and tests, and report what you checked.
  1. Create one:
    bash
    nova skills create team-review --project --description "Review changes using our checklist"
  2. Edit its SKILL.md.
  3. Check it:
    bash
    nova skills validate team-review

Write a clear description. NOVA decides when to use a skill from its description.

Add, install or remove skills

TaskCommand
Add a skill folder you havenova skills add ./my-skill (add --project for this project only)
Install from Gitnova skills install <git-url>
Removenova skills remove <name> (add --project or --global)
List by sourcenova skills list --source built-in (or user, project)
  • Skills for all your projects live in ~/.nova/skills/.
  • Project skills live in .nova/skills/ in your project, so you can share them with your team.

Before installing from Git, NOVA shows where the skill comes from and a checksum. It installs nothing unless you say yes.

Turn skills off

Use skills.disabled in Settings to switch skills off.

Docs › Core Features › Models

Models

NOVA gives you a choice of AI models, included in your plan. There's no separate AI account and no second bill. Switch models any time, and NOVA remembers your choice for each project.

Choose a model

Inside NOVA:

nova
\model

Use the arrow keys to move, Enter to choose, and Esc to cancel. The model you're using is marked with *.

You can also choose by name or number:

nova
\model 2

Your choice is saved for this project, on this computer.

Browse and search

The list starts with the models Recommended by NOVA. Your account may also show a longer list under More models. To find one:

nova
\model search fast

Or from your terminal:

bash
nova models
nova models --search coding
nova models --category reasoning

Models on your plan

Models your plan doesn't include are still listed, marked as locked, with the plan that unlocks them. See Plans & Pricing.

If a model stops responding

If a model stops responding in the middle of a task, NOVA switches to another so the work still finishes. It then tells you it switched.

Docs › Build With NOVA › Websites & Apps

Websites & Apps

Describe a website or app and NOVA builds it, from a single landing page to a full multi-page project.

Build a site

Build a website for a yoga studio with class times, prices and a booking form

NOVA asks one question first: a single self-contained page, or a full multi-page project. That way you don't find out after a long build that you wanted the other one.

Design first

NOVA settles the look first (colours, fonts, spacing and components), then builds to it. That's why the pages look designed, not generated.

Build from a picture

Build a homepage that looks like @inspiration.png

NOVA looks at the image and builds to match it.

See it running

When the build is done, NOVA can start the site and open it in your browser. Start it yourself any time:

\run

NOVA keeps it running while you work, and only ever stops processes it started itself.

Change it

Just ask:

Make the header darker and add a pricing page
Docs › Build With NOVA › Documents & Slides

Documents & Slides

NOVA creates finished, designed PDFs and slide decks. It can also read existing ones to summarise, search or rebuild them.

Make a PDF
Make a two-page PDF guide to our onboarding process from @docs/onboarding.md
Make a slide deck
Create a 10-slide deck summarising Q3 results from @q3-numbers.csv
Read an existing document

Attach a PDF with @ and ask:

Summarise @contract.pdf and list every deadline

NOVA pulls out the text, tables and figures.

Use the skills directly
\pdf Turn README.md into a printable guide\pptx Build a pitch deck from @pitch-notes.md
Docs › Build With NOVA › Data Analysis

Data Analysis

Give NOVA a spreadsheet or data file and it does the whole job: it checks the data, writes and runs the analysis, and gives you the answer, a dashboard, or a forecast. Your data file stays on your computer.

Analyse a file

bash
Analyse @sales.csv and tell me which regions are growing

Pick what you get

Before starting, NOVA asks which you want:

  1. A written analysis with charts
  2. An interactive dashboard app you run on your own computer
  3. A dashboard web page for the browser
  4. An executive dashboard for decision makers

The dashboards read your data file themselves, so you can point a finished one at fresh data later.

It checks your data first

NOVA profiles the file first: rows, columns, what each column holds, what's missing, ranges, outliers and duplicates. It flags problems like mostly empty columns or duplicate rows, and asks what to do about the worst of them.

Results in plain English

NOVA runs the analysis on your computer and reports what the output actually says, in plain English with the numbers behind it. Ask for a PDF if you want a designed report.

Your data stays yours

  • Your data file is never uploaded.
  • The analysis runs on your computer.
  • The AI works from a summary of the file (its size, column names and types, a few example values) and from the results.
  • When columns need cleaning, NOVA does it inside the analysis instead of saving an altered copy of your file.

Prediction and forecasting

\data-science Predict next quarter's churn from @customers.csv

NOVA works in steps: a hypothesis, an experiment, a measured result, and what it learned. It keeps a research log so earlier results shape what it tries next.

Docs › Build With NOVA › Git & Version Control

Git & Version Control

NOVA can commit and push your work while keeping its changes separate from yours. It always asks before anything leaves your computer.

Check where you are

nova
\status

Shows what's changed, what's staged, and how far ahead of or behind the shared copy you are.

Commit and push

nova
\commit Fix empty title crash # commit with a message
\commit # NOVA asks for a message
\push # push the current branch
\ship # commit and push in one step
\gitoptions # a menu of Git actions

NOVA only commits its own work

NOVA keeps track of what it changed. When it commits, it includes only what it wrote. Your unfinished changes are left as they were. If you and NOVA both changed the same file, NOVA tells you instead of deciding for you.

Always asks

Committing, pushing and anything that rewrites history need your approval every time, in every mode. A script run can't approve them for you.

Automatic commits (optional)

To have NOVA commit after each successful task, turn on git.auto_commit in Settings. git.auto_push also pushes. Both are off by default.

No Git? No problem

Building, editing and \undo never need Git. When you ask for something that does, NOVA offers to install it. Or run nova setup-git.

Docs › Advanced › Headless Mode

Headless Mode

Run NOVA for one task and exit, with no interactive session. This is useful for scripts, CI and scheduled jobs.

Run one task

bash
nova -p "Summarise what this project does"

Pipe input in

bash
git diff | nova -p "Write a commit message for this"
cat error.log | nova -p "Why is this failing?"
echo "Explain the build setup" | nova -p

Allow changes

With nobody there to ask, anything that needs approval is refused. In the default mode that includes edits. To allow them:

nova -p "Fix the lint errors" --permission-mode acceptEdits

To also allow deleting files in that run (and nothing else):

nova -p "Remove the old build scripts" --permission-mode acceptEdits --allow-delete

Get JSON output

Generate structured machine-readable responses:

nova -p "List the failing tests" --output-format json

Use stream-json to get events as they happen.

Keep a job bounded

Cap duration and step count in CI environments:

nova -p "Fix the flaky test" --timeout 600 --max-turns 20

Continue a session

Resume previous work non-interactively:

nova -p "Now add tests for it" --continuenova -p "Next step" --resume a1b2c3
Sign in first:Run nova login once on the machine before using nova -p. If you're not signed in, the run exits with code 3.

Check the exit code

CodeMeaning
0Finished
1Task unfinished, not verified, or the step limit was reached
2Invalid command line
3Not signed in
4Out of credits
5--timeout reached
6Refused for lack of permission, with no other result
130Interrupted
Note:Exit code 0 doesn't always mean files changed. If an edit was refused and NOVA explained why, the run still exits 0. Check the Changed line in NOVA's record.

All options are listed in Options & Exit Codes.

Docs › Advanced › Repository Intelligence

Repository Intelligence

NOVA builds a private map of how your project connects: what depends on what, what calls what, and what a change could affect. It uses the map automatically, so answers hold for the whole codebase.

It works automatically

You don't have to do anything. In existing projects, NOVA uses the map for architecture, impact and cross-file questions.

Ask the map yourself

nova
\map # the project's structure
\trace calculateTotal # where it's defined, called and used
\impact src/billing/invoice.py # what a change could affect

Private and local

  • The map is built and kept on your computer.
  • Your code is read, never run, to build it.
  • If the map isn't available, NOVA falls back to ordinary search and keeps working.

Manage it

bash
nova intelligence status # is it ready and up to date?
nova intelligence refresh # update it
nova intelligence rebuild # rebuild it from scratch
nova intelligence off # use ordinary search only
nova intelligence on # always use it when relevant
nova intelligence clear --yes

Inside NOVA, use \intelligence status and the same words.

If nova doctor reports a problem with it:

bash
nova doctor --repair-intelligence
Docs › Advanced › Project Rules & Reports

Project Rules & Reports

Give your project rules that apply to every change, whether it's made by a person, by NOVA or by another tool. Four quick reports tell you where things stand. They don't need sign-in or AI, so they're great for CI.

Create a rules file

bash
nova init

This creates .nova/policy.yml in your project. Edit it, then commit it so your team shares the rules:

.nova/policy.yml
version: 1

protected_paths:
  - .github/workflows/**
  - migrations/**

protected_branches:
  - main
  - release/*

required_checks:
  - test
  - lint

approval_required_for:
  - git push
  - dependency install
protected_paths: changes here need a person's approval.
protected_branches: publishing to these needs its own approval.
required_checks: checks that must pass.
approval_required_for: actions that always stop for review.
You can also add allowed_dependencies, a list of packages NOVA may install, such as npm:react or pip:requests.

The four reports

bash
nova brief # a quick map: branch, stack, commands, what's changed
nova verify # run the checks your changes need, and explain the result
nova risk # what a reviewer should look at first
nova handoff # a summary of the changes and their checks

Add --json to any of them for machine-readable output.

Exit codes for reports

CodeMeaning
0Everything required passed
1A required check failed or never ran
2Blocked: a person needs to approve
3NOVA doesn't recognise this as a project it can check
Docs › Advanced › Hooks

Hooks

Hooks run your own commands when things happen in NOVA. For example, you can send a notification when a task ends, or block an action your team doesn't allow.

Events

EventWhen it runs
session_startNOVA starts a session.
pre_tool_useBefore NOVA takes an action.
post_tool_useAfter NOVA takes an action.
turn_endA task finishes.
session_endThe session ends.

Add a hook

Add hooks in Settings:

.nova/settings.json
{
  "hooks": {
    "turn_end": ["./scripts/notify.sh"]
  }
}

What your hook receives

Each hook gets a short JSON description of the event on its standard input. To see exactly what's sent:

bash
nova config hooks-doc

Block an action

If a pre_tool_use hook exits with an error, NOVA doesn't take that action, and is told why.

Note: Hooks set in a project's shared settings only run after you trust the project.

Docs › Advanced › MCP Servers

MCP Servers

Connect NOVA to outside tool servers using MCP. Those tools follow the same permission rules as everything else.

Add a server

Add servers under mcp.servers in Settings. A server is either a command NOVA starts, or an address it connects to:

.nova/settings.json
{
  "mcp": {
    "servers": {
      "my-tools": { "command": "npx", "args": ["my-mcp-server"] },
      "remote-tools": { "url": "https://example.com/mcp" }
    }
  }
}

Check it works

nova doctor

The MCP section shows whether each server is reachable.

Skip servers for one run

Bypass external tools when you want instant offline execution:

nova -p "Quick question about the code" --no-mcp

Note: Servers set in a project's shared settings only start after you trust the project.

Docs › Advanced › NOVA App

NOVA App

NOVA App is a visual workspace for NOVA that opens in your browser and runs entirely on your own computer.

Open NOVA App

From your terminal, in a project folder:

bash
nova-app

Or from inside NOVA:

nova
\nova-app

\app works too. NOVA App opens in your default browser for the current project.

What you can do

  • Chat with NOVA about your project.
  • Browse your sessions and skills.
  • See your Git status.
  • Set up scheduled work.
  • Check how NOVA understands your project.

Stop NOVA App

Press Ctrl+C in the terminal that started it.

Note: If NOVA says NOVA App isn't in your installed build yet, update NOVA and try again.

Docs › Configuration › Settings

Settings

Change how NOVA behaves for you, for a project, or for your whole team.

View and change settings

bash
nova config list # everything, and where each value comes from
nova config get permission.mode # one setting
nova config set permission.mode acceptEdits # this project, shared with your team
nova config set permission.mode acceptEdits --local # this project, this computer only
nova config set ui.header compact --user # all your projects

Where settings live

Later ones win:

  1. NOVA's defaults
  2. ~/.nova/settings.json: your settings, for every project
  3. .nova/settings.json in your project: shared with your team (commit it)
  4. .nova/settings.local.json in your project: this computer only (don't commit it)
  5. Command-line options, like --permission-mode

If one value is invalid, NOVA skips just that value and tells you. If you misspell a key, NOVA suggests the right one.

Settings you can change

SettingValuesDefaultWhat it does
permission.modeplan, ask, acceptEdits, overdrive, autoaskHow much NOVA does without asking.
permission.allowlistemptyCommands NOVA may run without asking.
permission.denylistemptyCommands NOVA always refuses.
ignorelistemptyExtra file patterns to leave out of searches.
routing.max_iterationsnumber30The most steps in one task before NOVA stops and reports.
verify.enabledtrue / falsetrueRun your checks after a task that edits files.
verify.testcommanddetectedYour test command.
verify.buildcommanddetectedYour build command.
verify.lintcommanddetectedYour lint command.
verify.typecheckcommanddetectedYour type-check command.
git.auto_committrue / falsefalseCommit after a successful task.
git.auto_pushtrue / falsefalsePush after committing.
skills.disabledlistemptySkills to switch off.
skills.enabledlistemptyIf set, only these skills load.
repository_intelligence.enabledauto, on, offautoUse the project map when it helps.
ui.headergeneral, compactgeneralHow much the header shows.
telemetry.enabledtrue / falsetrueKeep a local usage log on your computer. Nothing is sent.
hooksobjectemptySee Hooks.
mcp.serversobjectemptySee MCP Servers.

Example

.nova/settings.json
{
  "permission": { "mode": "acceptEdits" },
  "verify": { "test": "pytest -q" },
  "ignore": ["dist/**", "*.log"]
}
Tip:An "allow always" answer is saved in .nova/settings.local.json, so your choice never widens permissions for your whole team.
Docs › Configuration › Trusted Projects

Trusted Projects

A project's shared settings arrive with the code when you clone it. Some settings run commands. NOVA ignores those until you say you trust the project.

What needs trust

  • custom check commands (verify.*)
  • pre-approved commands (permission.allow)
  • hooks
  • MCP servers
  • project skills that run code

Trust a project

bash
nova trust

NOVA shows exactly what the project wants to run, then asks. Read it before saying yes.

See and undo trust

bash
nova trust --show # show what the project asks for, without trusting it
nova trust --list # every project you trust
nova trust --revoke # stop trusting this project
Docs › Configuration › Updates & Uninstall

Updates & Uninstall

Keep NOVA up to date, go back a version if you need to, or remove it cleanly.

Automatic updates

If you used the one-line installer, NOVA updates itself. New versions download and are checked in the background, and NOVA tells you when to restart.

Updates are skipped on metered connections and in scripts. To turn them off entirely, set NOVA_NO_AUTO_UPDATE=1.

Update by hand

bash
nova update --status # what's installed and what's waiting
nova update --now # get the latest version now
nova update --rollback # go back to the previous version

Updating pip, pipx or conda installs

Installed withUpdate with
pippip install --upgrade nova-bridgeye
pipxpipx upgrade nova-bridgeye
condapython -m pip install --upgrade nova-bridgeye using that environment's Python

Uninstall

bash
nova uninstall

NOVA lists what it will remove and asks first. It keeps your settings, history, memory, sessions and skills in ~/.nova, and never touches your projects.

To remove your NOVA data too:

bash
nova uninstall --purge

NOVA asks again before deleting your data. If you installed with pip, pipx or conda, nova uninstall tells you the right command instead.

Windows: the last step finishes as NOVA closes. Open a new terminal afterwards.

Docs › Reference › CLI Commands

CLI Commands

Commands you run from your normal terminal.

Everyday

CommandWhat it does
novaOpen an interactive session in this folder.
nova -p "task"Run one task and exit. See Headless Mode.
nova loginSign in through your browser.
nova logoutSign out on this computer.
nova usageYour plan and credits.
nova run <file>Run a file and fix it if it crashes.
nova-appOpen NOVA App in your browser.

Sessions

CommandWhat it does
nova sessions [--all]List sessions.
nova sessions show <session>What NOVA remembers about a session.
nova sessions rename <session> <name>Name a session.
nova sessions complete <session>Mark the goal done.
nova sessions abandon <session>Stop working on it.
nova sessions delete <session> [--yes]Delete a session.
nova resume [session]Continue a session.
nova --continue / -cContinue the most recent session.
nova --resume [session]Choose a session to continue.

Setup and maintenance

CommandWhat it does
nova --versionShow the installed version.
nova --helpList commands.
nova doctorCheck your install, sign-in, tools and skills.
nova setup-gitInstall Git.
nova update [--status | --now | --rollback]Manage updates.
nova uninstall [--purge] [--yes]Remove NOVA.
nova completion bash|zsh|fishShell completion script.

Settings, models and skills

CommandWhat it does
nova config listAll settings and where they come from.
nova config get <key>One setting.
nova config set <key> <value> [--user | --local]Change a setting.
nova config hooks-docWhat NOVA sends to hooks.
nova models [--search text] [--category name]Browse models.
nova skills list | inspect | create | add | install | validate | removeManage skills.
nova trust [--show | --list | --revoke]Trust a project's shared settings.

Project reports and map

CommandWhat it does
nova init [--force]Create a project rules file.
nova briefQuick project overview.
nova verifyRun the checks your changes need.
nova riskWhat a reviewer should look at first.
nova handoff [--save] [--json]Summary of changes and checks.
nova intelligence status | refresh | rebuild | on | off | clearManage the project map.
Docs › Reference › Shell Commands

Shell Commands

Commands you type inside NOVA. They all start with a backslash. Type \ to see suggestions, or \commands to browse them all.

Account and session

CommandWhat it does
\login / \logoutSign in or out.
\usagePlan, credits and this session's usage.
\modelChoose a model.
\mode [plan|ask|edits|overdrive|auto]Show or change the permission mode.
\doctorCheck your install.
\commands (or \help)Browse commands.
\nova-app (or \app)Open NOVA App.
\exit (or \quit)Leave NOVA.

Working on a task

CommandWhat it does
\continuePick up the previous task.
\fixFix problems NOVA reported but left alone.
\diffSee what this task changed.
\undoUndo the last task's changes.
\resetStart a fresh conversation.
\run [file or command]Run a file, a command or the project, and fix crashes.
\testRun the project's tests.
\lintRun the linter.
\typecheckRun the type checker.
\checkBuild, type check, lint and test.

Understanding the project

CommandWhat it does
\mapThe project's structure.
\trace <name>Where something is defined, called and used.
\impact <file or name>What a change could affect.
\intelligenceCheck or refresh the project map.

Git

CommandWhat it does
\statusWhat's changed and staged.
\commit [message]Commit.
\pushPush the current branch.
\shipCommit and push.
\gitoptionsGit actions menu.

Memory

CommandWhat it does
\remember <note>Save a rule, preference or decision.
\memory [project|global]See what NOVA remembers.
\memory forget <id>Remove an entry.
\memory replace <id> <text>Correct an entry.
\consolidateTidy older memories.

Files and folders

CommandWhat it does
\ls, \treeList a folder, or show its structure.
\cd <folder>, \pwdChange or show the folder.
\cat, \head, \tail <file>Show a file, or its first or last lines.
\wc <file>Count lines, words and characters.
\create [folder|file] <name>Create a file or folder.
\mkdir <folder>, \touch <file>Create a folder or an empty file.
\cp <from> <to>Copy.
\rename <old> <new> (or \mv)Rename or move.
\delete <name> (or \rm)Delete. NOVA confirms first.
\which <command>, \echo <text>Find a command, or print text.

Display and folder lock

CommandWhat it does
\clearClear the screen.
\compact, \generalShort or full header.
\verboseMore or less detail while NOVA builds.
\log [n]Recent log entries.
\makerootKeep NOVA inside the current folder.
\exitrootRemove the lock and go back to where NOVA started.

Skills

Every skill is also a command: \debug, \testing, \review, \refactor, \explain, \security, \frontend-web, \pdf, \pptx, \data-analysis, \data-science, plus any you add.

Docs › Reference › Options & Exit Codes

Options & Exit Codes

Options for running NOVA in one shot with nova -p, and what its exit codes mean.

Options

OptionWhat it does
-p "task", --printThe task to run. Or pipe it in: echo "task" | nova -p
--permission-mode <mode>plan, ask, acceptEdits, overdrive or auto.
--allow-deleteAllow deleting files in this run, and nothing else.
--output-format <format>text (default), json or stream-json.
--max-turns <n>The most steps NOVA may take.
--timeout <seconds>Stop after this long.
--skill <name>Use a specific skill. Repeat for more than one.
--continue, -cContinue the most recent session.
--resume <session>Continue a specific session.
--cwd <folder>Run in another folder.
--stdinWait for all piped input before starting.
--no-mcpDon't connect to MCP servers for this run.

Exit codes for nova -p

CodeMeaning
0Finished
1Task unfinished, not verified, or the step limit was reached
2Invalid command line
3Not signed in
4Out of credits
5--timeout reached
6Refused for lack of permission, with no other result
130Interrupted
Note:Exit code 0 doesn't always mean files changed. If an edit was refused and NOVA explained why, the run still exits 0. Check the Changed line in NOVA's record.

Exit codes for reports

For nova brief, verify, risk and handoff:

CodeMeaning
0Everything required passed
1A required check failed or never ran
2Blocked: a person needs to approve
3Not a project NOVA can check
Docs › Reference › Keyboard Shortcuts

Keyboard Shortcuts

Keys that make NOVA faster to use.

Typing

KeyWhat it does
EnterSend your message.
Shift+EnterNew line. Use Alt+Enter or Ctrl+J if your terminal doesn't support Shift+Enter.
EscClear what you've typed.
TabComplete a command, or a file name after @.
Ctrl+VOpen a folded paste to read or edit it.

Large pastes fold into one line, like [#1 Pasted 248 lines], so they don't fill your screen. NOVA still gets the full text.

While NOVA works

KeyWhat it does
EscStop NOVA. Type a correction to redirect it.
Shift+TabCycle permission modes: ask → edits → auto.

Anywhere

KeyWhat it does
Ctrl+CCopy selected text. Press twice at an empty prompt to leave NOVA.

In lists

KeyWhat it does
Up / DownMove.
EnterChoose.
EscCancel.
Docs › Teams & Enterprise › Overview

Teams & Enterprise

NOVA for companies: one pool of credits for the whole team, an organisation dashboard to run it, company sign-in, and one invoice. Everything below is what owners, admins, billing members and members see and do.

PlanForHow it's paid
Team2 to 15 peopleCard or UPI, one payment per month or year
Team Plus2 to 25 people who build the mostCard or UPI, one payment per month or year
Enterprise11 people and moreMonthly invoice, PO and bank transfer

What a team gets that personal plans can't

  • A shared pool of credits. Credits flow to whoever needs them, and unused credits carry over within the month instead of ending at midnight.
  • Control: limits per person or per group, which models and features are allowed, budget alerts.
  • Visibility: usage by member, model and day, CSV export and (Enterprise) a usage API.
  • Company sign-in with Google Workspace or Microsoft, plus SAML and automatic provisioning on Enterprise.
  • One invoice in the company's name. In India it is a GST invoice with your GSTIN, so the GST can be claimed back.
  • The company keeps the work when someone leaves: their projects are shared with an admin.

Where things happen

  • Members keep using NOVA and NOVA CLI exactly as before. While they are in a team, their credits come from the team's pool.
  • Owners, admins and billing members run the team from the organisation dashboard: runnova.ai/enterprise/org. Sign in there with the same NOVA account.
  • Teams and Enterprise are described and priced on runnova.ai/enterprise, reached from the Pricing page.
Docs › Teams & Enterprise › Plans & Prices

Plans & Prices

Prices on this page are live and shown in US dollars. One credit is about 5,000 tokens on the base model; bigger models use credits faster.

Team and Team Plus seats

SeatMonthlyYearly (per month)Credits a monthAbout a day
Team…………
Team Plus…………

Team and Team Plus are separate plans: every seat in a team is the same kind, and every seat adds its credits to one team pool. For example, a 5-seat Team gets … credits a month and a 5-seat Team Plus gets …. Move a team to Team Plus any time (you pay the difference for the rest of the period), or switch either way at renewal. Yearly billing saves about 13%. A new team keeps the seat price it bought at for 12 months, even if prices go up.

Credit packs

PackPriceAboutLasts

Packs go to the whole team and are used after the monthly pool. The pack that expires soonest is used first. Work estimates are on the base model; bigger models do fewer tasks per credit.

Enterprise

LinePrice (a month)
Platform fee…
Credits included…
Use beyond the pool…
Where NOVA runsBridgeye cloud (included), a dedicated server, or your own servers
Discounts2-year contract 5%, 3-year 10%, education and non-profits 20%

Enterprise is an annual contract billed monthly. Get an estimate with the calculator on runnova.ai/enterprise, and your point of contact confirms the price within one business day.

The 7-day trial

When the trial is offered, a team can try NOVA Teams free for 7 days with 3 seats and a 1,000-credit pool.

  • A small card check saves your card and is refunded straight away.
  • Owners and billing members get an email two days before the trial ends.
  • When it ends, the first month is charged to the card, unless you cancel from the dashboard. A cancelled trial simply ends; nothing is deleted.
Docs › Teams & Enterprise › Getting Started

Getting Started

From buying a team to your first member building on the shared pool.

1

Choose your seats

On runnova.ai/enterprise, choose Team or Team Plus, move the seat slider, and pick monthly or yearly. Select Start with N seats (or Try it free when the trial is on).
2

Pay once for the period

Give the team a name and your billing details. For a GST invoice in India, enter your GSTIN. Pay by card or UPI. Tick Save this card if you want auto top-up and one-click packs. You become the team's Owner.
3

Open the dashboard

Go to runnova.ai/enterprise/org (or Sign in to your organisation on runnova.ai/enterprise/login) with the same NOVA account.
4

Invite your team

In Members, select Invite people and enter their work emails. Each person gets a link that works once, for 7 days, and only when they are signed in to NOVA with that exact email.
5

Set the rules

In Controls, choose how members draw from the pool and which models and features they can use. In Settings, add your company details for invoices and your logo.

Moving from Pro

Your personal plan stays active until the end of the period you paid for. While you are in a team, your credits come from the team. If you leave, you go back to your own plan.

Docs › Teams & Enterprise › Roles

Roles & Permissions

Every person in an organisation has one role. There is exactly one owner.

CanOwnerAdminBillingMember
Use NOVA and NOVA CLI on the team's credits✓✓✓✓
See their own usage and limit✓✓✓✓
See the whole team's usage✓✓✓–
Invite, remove and change roles✓✓ (not admins)––
Controls: limits, groups, models, features, alerts✓✓––
Settings, logo, verified domains, single sign-on✓✓––
Buy seats, packs and renewals; save a card✓–✓–
See invoices✓✓✓–
Make or remove admins, transfer ownership✓–––
Choose who receives projects when someone leaves✓–––

The owner can't be removed and can't leave; transfer ownership to an active member first (Settings). The previous owner becomes an admin.

Docs › Teams & Enterprise › Members & Seats

Members & Seats

People hold seats. A pending invitation holds a seat too, so you can never invite more people than you pay for.

Inviting

  • Members › Invite people: enter one or more emails and a role. Copy a link yourself if an email doesn't arrive.
  • Pending invitations can be resent (a new link) or revoked.
  • With a verified domain and auto-join on, colleagues who sign in with an address at that domain join automatically while seats last (see ).

Team Plus

On Team Plus every member has a Team Plus seat, with the larger Plus limit (1,000 a day by default). To move a Team to Team Plus, use Billing › Add seats › Move the team to Team Plus; you pay the difference for the rest of the period. Enterprise can mix Standard and Plus seats; give Plus seats to people from the Seat column in Members.

Removing someone, or leaving

  • Remove ends their access to the organisation at once. Their personal NOVA account is untouched.
  • A member can leave from the Members page and goes back to their own plan.
  • Their NOVA projects are shared as an editor with the person the owner chose (the owner by default), so the company keeps the work. Ownership doesn't move and nothing is deleted. The owner picks who receives projects at the top of the Members page.
Docs › Teams & Enterprise › Credits & Limits

Credits, Limits & Top-ups

How the pool works, how members draw from it, and what happens when it runs low.

The pool

The pool is every seat's monthly credits added together. It renews every 30 days from the day the team started, whether you pay monthly or yearly. Extra credits from packs are used after the pool. The dashboard's Overview shows what's left, when it renews and when packs expire.

How members draw from it (Controls)

RuleWhat it means
DailyEach member's limit refills at midnight in your organisation's time zone
WeeklyEach member's limit refills every Monday
MonthlyEach member's limit refills when the pool renews
Share freelyNo personal limits; anyone can use the pool until it runs out

Set the team limit per member (default 300 a day) and the Plus limit for Team Plus (and Enterprise Plus seats). Give anyone a personal limit under Controls › Personal limits. On Enterprise, groups can have their own limit too. What applies, most specific first: personal limit, then group limit, then the team's.

When credits run out

  • A member who reaches their own limit sees when it resets, or can ask an admin for more.
  • When the pool and extra credits are used up, NOVA and NOVA CLI say so. Owners and billing members are offered the best-value pack right there: one click with a saved card, or a short checkout without one. Members are told to ask the owner and when the pool renews.
  • Enterprise isn't stopped at the pool: use beyond it is billed on the monthly invoice, unless your contract asks for a hard cap.

Saved card, one-click packs and auto top-up (Billing)

  • Save a card when you pay, or with Billing › Save a card (a small card check, refunded straight away). The card is kept by Razorpay; NOVA keeps only its network and last four digits.
  • With a card saved, a pack is one click: select it, then Yes, add them.
  • Auto top-up is on by default once a card is saved: when less than 10% of the pool is left, it adds the pack you chose, never spending more than your monthly limit. Turn it off, change the pack or the limit in Billing.
  • A declined card is shown in Billing and isn't retried for a day. Remove the card any time.

Budget alerts

The owner and admins get an email when the team has used 50%, 80% and 100% of its pool (change the steps in Controls). The email says how many days are left at the current pace, and at 100% it links straight to the one-click pack. Add more addresses, or a Slack or webhook address, in Controls › Budget alerts.

Docs › Teams & Enterprise › Controls & Settings

Controls & Settings

What owners and admins can switch on and off for the whole team. Changes apply on the next request.

Models

Every model NOVA offers is allowed until you block it. Blocked models disappear from members' model pickers in NOVA and are refused in NOVA CLI. On Enterprise, a group can block more models than the team does; a model blocked for the organisation stays blocked for everyone.

Features

SwitchTurns on or off
NOVA CLIUsing the team's credits from NOVA CLI
Publish sites publiclyPublishing sites anyone can open
Buy and connect custom domainsDomains for team members' sites
ConnectorsGitHub, Shopify and the other connectors
Image and video generationMedia models

Groups (Enterprise)

Group people by team, like Design or Backend (up to 50 groups). Each group can have its own limit and block models the organisation allows. Add people to a group from the Group column in Members. Deleting a group sends its members back to the team rules.

Settings

  • Organisation name, legal name and billing email for invoices.
  • GSTIN (India), address, country and state: these decide the tax on invoices (CGST and SGST in Goa, IGST elsewhere in India).
  • Time zone: when daily and weekly limits reset.
  • Logo: PNG, JPEG or WebP up to 2 MB, shown on the dashboard.
  • Purchase order (PO) number (Enterprise): printed on your monthly invoices.

Activity (audit log)

Every change to members, controls, settings, billing and sign-in is recorded with who made it and when. It is kept for 90 days on Teams and a year on Enterprise, where owners and admins can also export it as CSV (Settings › Activity).

Docs › Teams & Enterprise › Usage & API

Usage & the Usage API

See who uses what, and pull the same figures into your own tools.

The Usage page

  • Credits by day (or hour), by member, by model and by surface (NOVA or NOVA CLI), for 24 hours, 7 days, 30 days, a year or a custom range.
  • Totals, the top model, requests, and what the use would cost as packs.
  • Members see only their own usage. Export any view as CSV.

The usage API (Enterprise)

Read-only access to the same figures for finance, BI or chargeback. An owner or admin creates a token on the Security page; it is shown once, only a fingerprint is stored, and making a new token stops the old one.

EndpointReturns
/summaryTotals, top model and the current pool
/membersEach member's credits and requests, with their group
/modelsEach model's credits and requests
/dailyCredits per day (per hour for 24h)

Add ?range=24h, 7d, 30d or 1y, or ?start= and &end= as Unix times (up to 400 days). Figures are in credits.

usage API
curl -H "Authorization: Bearer nova_usage_..." \
"https://runnova.ai/api/enterprise/usage/v1/members?range=30d"
# { "organisation": "Acme", "unit": "credits", "members": [ ... ] }
Docs › Teams & Enterprise › Billing & Invoices

Billing & Invoices

Teams pay once per period; Enterprise is invoiced monthly for what was used.

Teams

  • One payment per month or year. Nothing renews by itself: owners and billing members are emailed a week and a day before the period ends.
  • Renew any time; the new period starts when the current one ends. You can change the number of seats, or switch between Team and Team Plus, at renewal (not below the people holding seats).
  • Add seats now, or move the whole team to Team Plus. You pay only for the rest of the current period.
  • Every payment gets a numbered invoice by email, in the company's name. In India it is a GST invoice with your GSTIN.

Enterprise

  • A monthly invoice for each 30-day cycle: platform fee, seats, use beyond the pool, any fixed lines (such as a dedicated server), less your contract discount, plus GST where it applies.
  • Pay online from Billing, or by bank transfer with the details on the invoice. Payment terms are on your contract.
  • Your PO number (Settings or contract) is printed on every invoice.
Docs › Teams & Enterprise › Security & Sign-in

Security & Sign-in

Verified domains, single sign-on and automatic provisioning. Set up by owners and admins on the dashboard's Security page.

How people sign in

  • Everyone uses their NOVA account: GitHub or Google, as usual, in NOVA, NOVA CLI and the dashboard.
  • With single sign-on on, people at your verified domains can choose Continue with SSO on the sign-in page and enter their work email; NOVA sends them to your identity provider and back.
  • With Require it on, people at your domains can only sign in through SSO. Other sign-ins are refused with a message explaining what to do.
  • Accounts are matched by email, so someone who signs in through SSO keeps the same NOVA account, projects and history.

Verify your domain

1

Add the domain

Security › Verified domains: enter your company domain, for example acme.com, and select Add domain.
2

Add the TXT record

At your DNS provider, add a TXT record on the domain itself with the value shown, which looks like nova-verification=….
3

Verify

Select Verify. DNS can take a few minutes to update. Once verified, turn on Auto-join if colleagues should join automatically when they sign in.

A domain can be verified by one organisation only. Public email domains (gmail.com and similar) can't be used.

Single sign-on

ProviderPlansWhat you enter
Google WorkspaceTeams, EnterpriseNothing: only Workspace accounts on your verified domains are accepted
Microsoft Entra IDTeams, EnterpriseYour directory (tenant) ID or tenant domain, like acme.onmicrosoft.com
SAML (Okta and others)EnterpriseYour identity provider's entity ID, sign-in URL and signing certificate

Setting up SAML

  • In your identity provider, create a SAML app for NOVA using the Entity ID (audience) and Single sign-on URL (ACS) shown on the Security page, or its metadata URL.
  • Send the email address as the NameID.
  • Paste your provider's entity ID, sign-in URL and signing certificate into NOVA, turn on Single sign-on, and Save.
  • Test with one person before turning on Require it.

Automatic provisioning with SCIM (Enterprise)

  • Security › Automatic provisioning: Turn on and make a token. Copy the SCIM base URL and the token (shown once) into your identity provider's provisioning settings.
  • People assigned to the NOVA app are added to your organisation; unassigning or deactivating them removes them, and their projects are handed over as usual.
  • Only addresses at your verified domains can be provisioned, and only while you have seats. The owner can't be removed by SCIM.
  • Making a new token stops the old one. Turn off stops provisioning.

Data and privacy

Bridgeye doesn't train models on your code. Each request goes to the model provider that answers it, under that provider's terms; the privacy policy lists everyone involved. Invitation links, SCIM and usage API tokens are stored only as fingerprints. Enterprise customers can also choose where NOVA itself runs.

Docs › Teams & Enterprise › FAQ

Teams & Enterprise FAQ

Short answers to the questions teams ask most.

Docs › Support › Troubleshooting

Troubleshooting

Fixes for the problems people hit most. Start with nova doctor: it checks the usual suspects and tells you what to do.

First steps

bash
nova doctor # sign-in, tools, skills
nova config get <setting> # a setting's value and where it came from
nova verify # why NOVA's checks gave the result they did

Inside NOVA, \log shows recent log entries when something failed and the details scrolled away.

Install problems

You seeWhat to do
nova: command not found right after installingOpen a new terminal.
Still not found after a pip installActivate the environment you installed into.
pip install bridgeye-nova failsThe package is nova-bridgeye.

Sign-in problems

You seeWhyWhat to do
"Login timed out."The browser sign-in wasn't approved in time.Run nova login again and approve it.
"Login Blocked"The sign-in was rejected, for example while on a VPN.Turn off the VPN and try again.
"Sign-in not saved" (Windows)Windows couldn't store your sign-in securely.Reinstall NOVA with the one-line installer, then sign in again.
"Credential valid: NO" in nova doctorYour saved sign-in stopped working.Run nova logout, then nova login.

While working

You seeWhyWhat to do
"You're out of credits for today."Today's credits are used up.Wait for tomorrow's credits, or upgrade.
"… is not available on your plan."That model or feature needs another plan.Pick another, or see Plans & Pricing.
"I stopped after 30 steps without finishing"The task hit the step limit.Say what to focus on, or split the task. Work so far is kept.
"Refused: the command contains '|'"NOVA runs commands without a shell, so pipes, ; and && aren't allowed.Ask for one plain command at a time.
"NOVA's model service blocked this request"The request couldn't be completed.Try again later. Files already written are kept.
"Unknown command …"A typo.Use NOVA's suggestion, or type \commands.
cd in a command didn't move NOVACommands don't change NOVA's folder.Use \cd.

Scripts and CI

You seeWhat to do
"Approval was required for … but NOVA is running without an interactive prompt."Add --permission-mode acceptEdits (or overdrive), plus --allow-delete if it must delete files.
Exit code 3Run nova login on that machine.
"Refusing to uninstall without confirmation."Add --yes.

Results

You seeWhat to do
Verification UNVERIFIEDRun nova verify to see why, then run your own tests. Tell NOVA your commands with verify.test and similar settings.
A pass shown as staleFiles changed since the check ran. Run the check again.
Docs › Support › FAQ

FAQ

Quick answers to common questions.

Docs › Support › Report an Issue

Report an Issue

A short, exact report gets fixed fastest. Here's what to include, and what to leave out.

Collect the basics

bash
nova --version
nova doctor

What to include

  1. Your NOVA version (from nova --version)
  2. Your operating system and terminal
  3. What you typed
  4. What you expected
  5. What happened, with the exact error message
  6. Steps to make it happen again
  7. Whether it happens every time

What to leave out

Never include passwords, API keys, access tokens, cookies, private keys or other secrets. Check logs and screenshots for them before you send anything.

Security problems: If you've found a security problem or think a secret has leaked, don't post it publicly. Change the exposed secret first, then email support@bridgeye.com.
Docs › Support › Security & Privacy

Security & Privacy

How NOVA protects your code, your secrets and your control over your computer.

You approve the risky things

Deleting files, installing software, committing, pushing, deploying and opening secret files always ask, in every mode. See Permissions.

Secrets are masked

NOVA masks recognised passwords, keys, tokens and cookies in the sessions, logs and handoff notes it saves. Masking is a safety net, so don't paste secrets into your requests.

Your sign-in is stored securely

NOVA stores your sign-in in your operating system's secure credential store where one is available. On Windows, if it can't store your sign-in securely, it saves nothing and tells you.

What stays on your computer

  • your sessions, memory and settings
  • the project map
  • data files you analyse
  • handoff notes

Other people's code

A project you clone can't run commands through NOVA until you trust it. Skills you install from Git show their source and a checksum first.

Keep NOVA in one folder

\makeroot

NOVA won't create or edit files outside the current folder until you run \exitroot.

Join our Discord

Chat with our engineers and become part of the active NOVA developer community.

Join Discord

Need help?

Open an issue on GitHub or email support@bridgeye.com.

Get help
Bridgeye • Autonomous Software Engineering.