@loworbitstudio/lo-playbook
v0.2.0
Published
Low Orbit Playbook CLI — `npx @loworbitstudio/lo-playbook init` bootstraps a project with the playbook substrate (parallel surface to the /lo-install-playbook Claude skill).
Readme
@loworbitstudio/lo-playbook
CLI surface for the Low Orbit Playbook — a parallel entry point to the /lo-install-playbook Claude skill.
Both surfaces share the same wizard runner, option modules, and Zod-backed manifest accessor (@loworbitstudio/lo-project). The CLI is the right choice when you need to bootstrap a project from outside Claude — CI scripts, fleet operations, onboarding flows where Claude isn't open yet.
Quick start
# Full interactive install — same flow as /lo-install-playbook
npx @loworbitstudio/lo-playbook init
# Headless — accept defaults
npx @loworbitstudio/lo-playbook init --yes --name veronica-home --org veronica
# Seed answers from a partial manifest
npx @loworbitstudio/lo-playbook init --yes \
--name veronica-home --org veronica \
--config ./base.yaml
# Clear the cached "Reuse previous" pointer
npx @loworbitstudio/lo-playbook init --reset-preferencesThree-way fork
Every interactive run starts with a create-next-app-style choice:
| Choice | What happens |
|--------|--------------|
| Use defaults | Stack-detected defaults are applied; you only answer the four unfindable questions (name, org, description, brand color). |
| Reuse previous | The most recently touched manifest across .projects.json-tracked repos pre-fills every answer. Cached at ${env-paths('lo-playbook').cache}/last-reuse.json for instant lookup. |
| Customize | Full prompt flow — every option visible. Matches the legacy Claude-skill behavior. |
Flags
| Flag | What it does |
|------|--------------|
| --yes | Skip prompts. Requires --name and --org. |
| --config <path> | Seed answers from a partial manifest YAML. Schema matches .lo/project.yaml. |
| --reset-preferences | Delete the cached "Reuse previous" pointer. |
| --name <slug> | Project name. Required in --yes mode unless project.name is in --config. |
| --org <dir> | Org directory under ~/Code/{org}/. Required in --yes mode unless project.org is in --config. |
| --target-dir <path> | Override the cwd (mostly used by tests). |
| --playbook-root <path> | Override the playbook checkout. Defaults to $LO_PLAYBOOK_ROOT or ~/Code/low-orbit/low-orbit-playbook. |
See docs/setup/cli.md for headless / CI usage and a sample base.yaml.
How it fits with the Claude skill
The CLI does not re-implement any option logic. It:
- Renders the three-way fork.
- Resolves the playbook checkout.
- Spawns
scripts/wizard.mjs run --target-dir <path>— the same runner the Claude skill invokes.
Adding a new playbook option (a new file under scripts/options/) requires zero CLI changes.
Cache + reuse details
The cache pointer lives at the platform-native cache directory returned by env-paths:
| Platform | Cache dir |
|----------|-----------|
| macOS | ~/Library/Caches/lo-playbook |
| Linux | ~/.cache/lo-playbook (or $XDG_CACHE_HOME/lo-playbook) |
| Windows | %LOCALAPPDATA%\lo-playbook\Cache |
If the cached pointer is stale (the manifest no longer exists on disk), the CLI falls back to a live scan over .projects.json.
Versioning
Pre-1.0 (0.x) — breaking changes can land in minor versions while the prompt module and accessor library stabilize. The package is published from CI via Changesets every time a .changeset/*.md file lands on main.
License
MIT
