Local Package Manager

Install NovaDev and packages locally.

novapm gives NovaDev a Python-like installation path: install the language into a local home folder, add launcher scripts to PATH, install packages, pack packages, and configure a registry hosted by a website.

Install

Choose the script installer or Windows setup app.

The Vercel site serves a bootstrap installer, the NovaDev language zip, a registry JSON file, and package zip files. The installer downloads the language, configures the registry, and can install every bundled package in one command. Windows users can also use `NovaDevSetup.exe` after it is built with Inno Setup.

Install NovaDev (Windows)

# Step 1
# Create a folder anywhere on your computer.
# Example:
# C:\Users\\Downloads\NovaDev

# Step 2
# Download install-novadev.py from the NovaDev website.
# It should appear in your Windows Downloads folder.

# Step 3
# Copy or move install-novadev.py into the folder you created.

# Step 4
# Open PowerShell inside that folder and run:

python install-novadev.py --zip-url https://novadev-org.vercel.app/downloads/novadev.zip --install-all-packages


# Expected output

Installing package: hello-ui
Installed hello-ui 0.1.0
  C:\Users\\.novadev\packages\hello-ui@0.1.0

Installing package: auth-kit
Installed auth-kit 0.1.0
  C:\Users\\.novadev\packages\auth-kit@0.1.0

Installing package: dashboard-kit
Installed dashboard-kit 0.1.0
  C:\Users\\.novadev\packages\dashboard-kit@0.1.0

NovaDev installed successfully!

Home:
C:\Users\\.novadev

Language:
C:\Users\\.novadev\language

Launchers:
C:\Users\\.novadev\bin

Registry:
https://novadev-org.vercel.app/downloads/registry.json


# If the "nova" command is not recognized,
# temporarily add NovaDev to your PATH:

$env:Path = "$HOME\.novadev\bin;$env:Path"


# Verify the installation

nova shell

nova run examples/hello.nova

novapm doctor

novapm search


# Optional (Permanent PATH)

# Add the following folder to your Windows User PATH:

%USERPROFILE%\.novadev\bin


# The installer automatically downloads:
# https://novadev-org.vercel.app/downloads/novadev.zip

# And automatically uses:
# https://novadev-org.vercel.app/downloads/registry.json

Commands

Everything a local package manager needs at the start.

Click a command to copy it.

Vercel download layout
downloads/
  install-novadev.py
  NovaDevSetup.exe
  novadev.zip
  registry.json
  checksums.json
  packages/
    hello-ui.zip
    auth-kit.zip
    dashboard-kit.zip
User computer layout
~/.novadev/
  bin/
    nova
    nova-shell
    novapm
  language/
    nova.py
    shell.py
    novapm.py
    novadev/
  packages/
  cache/
  registry.json
  installed.json
  config.json
nova-package.json
{
  "name": "hello-ui",
  "version": "0.1.0",
  "description": "Example NovaDev UI helpers",
  "entry": "index.nova",
  "kind": "module",
  "files": ["index.nova"]
}

Website Registry

How this becomes downloadable for other developers.

1Host the site

Deploy the static nova website folder to Vercel so users can download the installer and zips.

2Install from zip

The installer downloads downloads/novadev.zip and copies NovaDev into ~/.novadev/language.

3Use registry JSON

The installer points novapm at downloads/registry.json, which points to package zip files.

Windows Installer

NovaDevSetup.exe makes NovaDev visible in Windows.

The Windows installer places NovaDev in %LOCALAPPDATA%\NovaDev, adds the bin folder to the user's PATH, creates Start Menu shortcuts, bundles novapm, and opens NovaDev Manager.

nova

Runs NovaDev files and project compiler commands from any new terminal.

novapm

Installs, removes, searches, and lists NovaDev packages from the hosted registry.

NovaDev Manager

A Tkinter GUI for install/update, package management, shell launch, and doctor checks.

build NovaDevSetup.exe
.\installer\windows\build-installer.ps1

# Output:
# nova website/downloads/NovaDevSetup.exe