Skip to content

Kits and packs

No. 011

A knowledge base starts from a kit: the generic starter kit, or a team’s own. A kit can add layer packs: the architecture pack is the first.

A kit is the contract between The Cube and a knowledge base. Its kit.yml, at the root of the knowledge base, says what the knowledge base holds and how to check it:

  • the kinds of files (module specs, sub-specs, decision records and more), where each kind lives, and its id;
  • the lifecycles: the states a spec can be in, and what each move between states needs;
  • the edges: which fields reference other files or nodes;
  • the checks: the severity of each of the engine’s own checks, and the kit’s own checks, such as the starter kit’s Python validator;
  • the version range of cube that understands the kit, and the versions of the tool programs it needs.

cube check runs the engine’s checks with the kit’s settings, then the kit’s own checks. The finding codes page shows the severity the starter kit gives each engine check.

The starter kit 0.1.0 (kit-starter-0.1.0.tar.gz in every release) is a generic knowledge base to start from:

  • zero findings;
  • Claude Code skills that fill its skeletons: SaaS features, a design system, conventions and architecture decision records;
  • its checks, which need Python 3.10 or later with PyYAML 6.

The quick start starts a knowledge base from it.

A pack adds a layer to a kit. A pack only adds: it never changes the kit’s classification, export rules, paths or checks. Adding a pack changes no existing file of the kit except the packs: line of kit.yml and the rendered cube skill.

Download a pack’s archive from the release, extract it, and add it from the extracted folder:

tar -xzf pack-architecture-0.1.0.tar.gz
cube pack add ./pack-architecture-0.1.0
cube pack list

cube pack add copies the pack’s files, declares the pack in kit.yml and renders the cube skill again. It does not commit: review the change and commit it yourself. It refuses links, a hooks/ folder, unsafe paths and name clashes, and then writes nothing.

cube pack remove architecture takes the pack out again. That is a rule change: commit it with a rule-change act (the cube skill describes it), or the hooks refuse the commit. Hooks and the ratchet says why.

The cube command and its git hooks work with any agent that runs shell commands. The guidance in the kits and packs (skills, helper agents and slash commands) uses Claude Code’s .claude/ layout for now. Other agents get the checks and the hooks, but they may not load that guidance on their own.

The kit and pack archives are plain archives, not yet signed bundles. Check a download against its .sha256 file, or against sha256.sum, on the releases page.