Global CLI tools for the Digitaliko wizrd ecosystem. Bun + TypeScript.
git clone git@github.com:Digitaliko/wizrd-cli.git ~/.wizrd-cli
cd ~/.wizrd-cli && ./install.shSpawns Claude Code with the wizrd OS system prompt injected. Auto-detects your operator role and current wizrd level.
wizrd # Interactive claude session with wizrd OS
wizrd "fix the auth bug" # Non-interactive prompt
wizrd --dry-run --verbose # Show what would be executed
wizrd --model claude-opus # Override modelPure filesystem + git reads. No AI. Instant.
wizrd cmd whoami # Current operator + role
wizrd cmd level # Detect L0/L1/L2
wizrd cmd context # Full: operator + level + worktrees
wizrd cmd clients # List all clients with services
wizrd cmd clients kiaba # Single client detail
wizrd cmd services # L2 services in current L1
wizrd cmd cd kiaba ispediter # Print path (use: cd $(wizrd cmd cd kiaba ispediter))
wizrd cmd status # System status dashboard
wizrd cmd worktrees # Active worktrees
wizrd cmd dirty # Submodules with uncommitted changes
wizrd cmd branches # Active branches across submodules
wizrd cmd log # Recent worklog entries
wizrd cmd ports # Port allocations
wizrd cmd doctor # System health checkNumbered picker for common actions.
wizrd menuwizrd config sync # Generate settings.json + .mcp.json from level
wizrd config show # Dry run
wizrd config doctor # Check config healthRun the deterministic validator against the current repo. Level auto-detected from CLAUDE.md.
wizrd-validate # Run all checks (current repo, auto-detected level)
wizrd-validate --ci # CI mode (no colors)
wizrd-validate --check 04 # Run only checks matching prefix "04"
WIZRD_LEVEL=L2 wizrd-validate # Force a levelExit codes: 0 pass, 1 warnings, 2 critical.
Installs a symlink at .git/hooks/pre-commit pointing to ~/.wizrd-cli/hooks/pre-commit. The hook runs wizrd-validate and blocks commits on critical failures. Bypass with git commit --no-verify.
wizrd-hook install # Install in current repo
wizrd-hook uninstall # Remove
wizrd-hook status # CheckThe hook best-effort pulls origin/v1 of wizrd-cli before each run, so the harness stays current without per-repo updates.
Seed wizrd labels (p0–p3, in-progress, blocked, review, plus level-specific) on any repo.
wizrd-seed-labels L1 Digitaliko/kiaba-wizrd
wizrd-seed-labels L2 Digitaliko/kiaba-ispediterSee .claude/rules/github-labels.md (in any wizrd) for the canonical spec.
Any wizrd repo (L0/L1/L2) can call the composite action:
# .github/workflows/validate.yml
name: validate
on: [push, pull_request]
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Digitaliko/wizrd-cli/.github/actions/validate@v1Optional inputs:
level— forceL0|L1|L2(default: auto-detect fromCLAUDE.md)ref— wizrd-cli ref to use (default:v1)
@v1— floating major tag. Auto-receives non-breaking updates. Recommended for most repos.@v1.0.0— immutable patch tag. Pin if you need bit-for-bit reproducibility.- Breaking changes bump to
v2(new major). Thev1tag continues receiving compatible fixes.
Digitaliko/wizrd-cli is private — the composite action uses github.token, which works across the same org without extra setup.
Digitaliko/wizrd-cli/.github/actions/code-review@v1 is currently a stub. Until ported, keep using anthropics/claude-code-action@v1 directly in claude-code-review.yml. Planned inputs: mode, ci_command, claude_token.
wizrd superset setup # Init submodules, copy env, allocate ports, install deps
wizrd superset run # Start dev servers + Docker with allocated ports
wizrd superset teardown # Kill processes, release ports, Docker down
wizrd superset ports # Show global port allocation table
wizrd superset init-repo # Scaffold .superset/ config in current repo
wizrd superset doctor # Validate config healthLevel detection: Every command reads ## Wizrd Level: L0/L1/L2 from CLAUDE.md in the current directory. This determines behavior — which templates to inject, which config to generate, what setup steps to run.
Operator detection: whoami maps your system username to a role (Filip=founder, Peter=sales, Samo=dev, Radka=admin, Marko=design). The agent adjusts tone, permissions, and tool access per operator.
Templates: The wizrd agent assembles a system prompt from markdown templates at packages/agent/templates/. Core rules + level rules + operator rules get concatenated and passed to claude --append-system-prompt.
packages/
├── shared/ @wizrd-cli/shared — detect-level, operator, colors, paths
├── agent/ wizrd — spawns claude with system prompt
├── cmd/ wizrd-cmd — fast CLI commands
├── menu/ wizrd-menu — interactive picker
├── config/ wizrd-config — config generation
└── superset/ wizrd-superset — workspace lifecycle