Operators Guide

Bootstrapping a Project

Copy starter asset and input files from modules into a new project using the rescile-ce bootstrap command or --init flag.

Bootstrapping a Project

When starting a new project that uses an existing module, the rescile-ce bootstrap command (see the CLI Reference for command syntax) copies starter asset and input files from the module’s own assets/ and input/ directories into your local data/ directory.

Unlike earlier releases, rescile no longer implicitly copies module assets during graph builds. Starter files are copied only when you explicitly run bootstrap or pass --init to serve, save, or validate.

What Gets Copied

A module can ship reference data in the same directory layout as a project:

my-module/
├── module.toml
├── models/
├── compliance/
├── assets/          # starter CSVs
└── input/           # starter JSON inputs

When you run bootstrap, rescile copies these files into your local data/ directory:

  • my-module/assets/*.csvdata/assets/*.csv
  • my-module/input/*.jsondata/input/*.json

CSV Merge Behavior

bootstrap merges CSV files row-wise rather than overwriting them.

  • If the local file does not exist, the module file is copied as-is.
  • If the local file already exists, module rows are appended to local rows.
  • Existing local rows are never modified or deleted.

This lets a module provide reference rows (for example, a small system.csv or team.csv) while your local files always remain the authoritative source of truth.

Input JSON Copy Behavior

JSON input files are copied only if the local file does not already exist. Use --force to replace them.

Using the Bootstrap Command

Bootstrap from all loaded modules at once:

rescile-ce --module https://github.com/my-org/rescile-modules/standard-webapp bootstrap

Restrict the operation to one module:

rescile-ce --module ./standard-webapp --module ./core-platform bootstrap --module standard-webapp

Preview what would change without writing anything:

rescile-ce --module https://github.com/my-org/rescile-modules/standard-webapp bootstrap --diff

Overwrite existing local files:

rescile-ce --module https://github.com/my-org/rescile-modules/standard-webapp bootstrap --force

Running Bootstrap Automatically

To run the bootstrap step before another command, use --init:

rescile-ce --module ./standard-webapp serve --init
rescile-ce --module ./standard-webapp save ./graph.json --init
rescile-ce --module ./standard-webapp validate --init

This is useful in CI pipelines or when starting a fresh checkout.