bassclef
Config

Substrate config

The .bassclef-source.json schema — every field, its default, and what it controls.

Use this when

You want to understand what .bassclef-source.json actually controls, or you are troubleshooting a bassclef install and want to compare your file against the expected schema.

Skip this when

You just want auto-update to be off (it already is, by default). See auto-update behavior for that specific question.

The full schema

Every field, default, and one-line description.

{
  "source": "https://github.com/sunj-labs/bassclef",
  "version": "latest",
  "auto_sync": false,
  "tier": "lite",
  "install_class": "project"
}

Field reference

source

Where bassclef pulls from. Default: the public GitHub repo. Override if you fork bassclef or pin to a private mirror.

version

The version to pin at. Default: latest. Can be a specific tag (v0.31.0) or a commit SHA. Use a specific version if you want predictable behavior across sessions.

auto_sync

Full detail at auto-update behavior.

tier

Which tier of the bassclef vocabulary to install. Default: lite. Options:

  • lite — starter frame (around 30 skills, 16 rules, 20 hooks)
  • standard — full vocabulary with Anthropic API key features
  • pro — full vocabulary plus embedding + LLM-judge tier

See tier system for the full comparison.

install_class

Whether bassclef installs at the repo level (project) or the user level (operator). Default: project. Operator install shares substrate across every repo on your machine; project install keeps the substrate scoped to one repo.

Editing the file

The file is committed to your repo. Any change goes through code review like any other config file. That is intentional — bassclef behavior changes should be as reviewable as code changes.

On this page