Skip to content

Latest commit

 

History

History
77 lines (57 loc) · 2.82 KB

cli.md

File metadata and controls

77 lines (57 loc) · 2.82 KB

Optional CLI

The recommended install path is the Claude Code plugin marketplace (/plugin marketplace add daypunk/LockedIn / /plugin install lockedin@lockedin). Most users never need anything below.

This document is for power users who want a deterministic CLI for:

  • CI smoke tests against vault state.
  • Scripted vault seeding from a YAML fixture.
  • Validating a vault's schema in a build pipeline.
  • Migrating older vaults forward to the latest schema.
  • Inspecting a denormalized "experience" view for a person.

Install

uv tool install lockedin

(Or pipx install lockedin if you prefer.)

Surfaces

The CLI splits cleanly into two groups:

  • Skill-only commands: typing them in a plain terminal prints a redirect message pointing back at Claude Code, because they need an LLM in the loop.
  • Pure CLI utilities: deterministic, no LLM, run anywhere.

Pure CLI utilities

lockedin init --fixture seed.yaml             # deterministic vault seed
lockedin ingest <path> --dry-run              # diff preview only
lockedin validate                             # check vault against schema
lockedin migrate                              # upgrade vault to latest schema
lockedin experience <slug>                    # denormalized view for a person
lockedin doctor                               # diagnose runtime
lockedin hud                                  # one-line statusLine snippet
lockedin install --check                      # manual fallback skill installer

Default vault path: ~/Documents/LockedIn/. Override with --vault PATH or LOCKEDIN_VAULT.

Skill-only (redirect when used outside Claude Code)

lockedin init                                 # interactive Q&A
lockedin ingest <path>                        # smart ingest with ambiguity Q&A
lockedin render resume --target ...           # writer + reviewer turns
lockedin render jaso --company ...            # writer + reviewer turns
lockedin query "<text>"                       # natural-language vault query

Architecture split

The skill (host AI inside Claude Code) does all reasoning. The CLI does all deterministic work. They share the same vault on disk and the same schema. See docs/architecture.md for the full diagram.

Why a CLI exists at all

GitHub Actions does not run Claude Code, so deterministic checks (schema validation, fixture seeding, diff previews) need to run as plain Python. The same CLI is what the skill calls via Bash whenever a step does not need an LLM.

Versioning

The CLI version tracks the plugin version. Manual install commands (lockedin install --auto-register) write a .lockedin-manifest.json in the installed skill directory; this is hash-aware so --upgrade will refuse to overwrite locally-edited skill files without --force. The plugin marketplace install handles versioning natively.