Skip to content

Installation

You need Git and Pixi 0.72.2 or newer for the reproducible path below. Pixi installs Node.js 24 and pnpm 11.19.0 in the project environment; no global Node.js, pnpm or Python installation is required.

Install Pixi

Use the official installation instructions or download a release.

curl -fsSL https://pixi.sh/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm -useb https://pixi.sh/install.ps1 | iex"

Reopen your terminal and run pixi --version. Install Git from git-scm.com if it is not already available. All remaining commands work from a terminal in the indicated project directory.

Create a site from npm

Install the published package from npm; a checkout of the framework is not needed. To test unpublished changes, use a local archive.

Create a temporary tool environment in a new directory:

mkdir academic-sites
cd academic-sites
pixi init
pixi add "nodejs=24.*" "pnpm==11.19.0"
pixi run pnpm dlx sciastro@latest init my-site --kind individual --theme modern
cd my-site
pixi install
pixi run pnpm install
pixi run dev

@latest selects the latest regular release. For a reproducible initial scaffold, use an exact published version with sciastro@VERSION (replace VERSION with that release). The generated site's dependency is pinned to the generator's version, regardless of the channel used to invoke it. Choose --kind group for a group or --kind course for course materials. --theme classic, modern or lncc sets the initial theme; you can change it later in YAML.

The generator requires a new or empty destination. It creates files but does not install dependencies. Open the URL printed by the preview, normally http://127.0.0.1:4321/.

If you already have Node.js 24 and pnpm 11.19.0, run pnpm dlx ... directly, then pnpm install and pnpm dev in the generated directory. Pixi is optional for consumers.

Create a site from a local archive

Clone and build the source, then scaffold and install its archive:

git clone https://github.com/volpatto/sciastro.git
cd sciastro
pixi install --locked
pixi run --locked pack
pixi run --locked node dist/cli.js init ../my-site --kind individual --theme modern
cd ../my-site
pixi install
pixi run pnpm add sciastro@file:../sciastro/artifacts/sciastro-VERSION.tgz --save-exact
pixi run dev

Replace VERSION with the version in the archive filename printed by pack. The paths assume sciastro and my-site are siblings. Use --kind group for the group tutorial. The site consumes the archive, not the framework's source files. For deployment on another machine, copy the archive into my-site/vendor/, run pixi run pnpm add sciastro@file:vendor/sciastro-VERSION.tgz --save-exact, and commit that file with the website. Otherwise a sibling-directory reference will not be available on a clean runner. Once published, switch to the exact npm version with pixi run pnpm add sciastro@VERSION --save-exact.

Reproducible daily work

The first installation creates pixi.lock and pnpm-lock.yaml. Commit both with pixi.toml, package.json, content and assets. On another machine:

pixi install --locked
pixi run --locked dev

After editing, validate and build:

pixi run --locked build

This runs the content check and generates dist/. To stop the development preview:

pixi run --locked dev-stop

These are website tasks. The framework repository has separate tasks for its examples, tests and MkDocs documentation; see development.

Continue with an individual website, a research-group website or a course. The gallery contains complete previews and links to their source.