Color scheme

Get Started

JamsEDU is distributed as the npm package @caboodle-tech/jamsedu. You only need to install it once and then you can run jamsedu from any terminal on your machine. Before you begin, make sure you have a recent version of Node.js installed (LTS is recommended) along with npm or pnpm as your package manager.

Install JamsEDU


    # Install with PNPM
    pnpm install -g @caboodle-tech/jamsedu

    # or install with NPM
    npm install -g @caboodle-tech/jamsedu

After installation, close and reopen your terminal, then run jamsedu --help to verify everything is working. If the command is not recognized, your global npm bin directory may not be on your system's PATH. Check your Node.js installation notes for instructions on how to resolve this for your operating system.

Create a Project

Open your terminal and navigate to the parent directory where you want your new site to be created. For example, this might be your Documents or Projects directory. Then run the initialization command:


    jamsedu --init

Follow the prompts and JamsEDU will create a new project directory with a default layout for your pages, shared chrome, and assets. Once that is complete, open the new project directory in your preferred code editor before continuing.

Preview While You Edit

Navigate into your new project directory and start the local development server with the watch command. Replace your-project below with the actual directory name that was created during initialization:


    cd your-project
    jamsedu --watch

The watch command will automatically rebuild your site every time you save a file, giving you a live preview as you work. When you are ready to generate a final production build, use jamsedu --build instead. You can also add --verbose to either command for more detailed logging output.

Project Configuration

During initialization JamsEDU creates a configuration file at .jamsedu/config.js in your project root. This file controls where the builder reads your source pages and assets, where shared layout fragments live, and where it writes the compiled site. It also includes optional settings for hooks, asset handling, and more. If you have a legacy project using jamsedu.config.js at the root, that will still be recognized. You can also point to a custom configuration file at any time by running jamsedu --config path/to/file.js.

Every available option is documented on the Configuration page.