Skip to main content

Configuration

Skaff stores user configuration in JSON at ~/.config/skaff/settings.json. Environment variables with matching names override the file at runtime. Use skaff config commands rather than editing the file manually.

KeyTypeDescription
TEMPLATE_DIR_PATHSstring[]Directories or Git repositories that contain templates. Skaff scans directories for root-templates/ and clones remote repositories such as github:org/templates#branch.
PROJECT_SEARCH_PATHSstring[]Locations Skaff inspects when running skaff project ls. Helpful when projects live in multiple workspaces.
NPM_PATHstringCommand used to execute template-defined scripts. Defaults to npm; set to bunx, pnpm, or another runner as needed.

Environment variable formats:

# multiple directories
export TEMPLATE_DIR_PATHS="~/templates:/srv/templates"

# mix local directories and remote GitHub repositories (branch optional)
export TEMPLATE_DIR_PATHS="~/templates,github:timonteutelink/example-templates#main"

# custom config location
export SKAFF_CONFIG_PATH="$PWD/.skaff/settings.json"

List the active configuration at any time with skaff config get --format table.