CLI Commands
Run liner with no arguments to open the terminal UI. Use subcommands when you want a scriptable workflow.
If you are using the one-shot npm path instead of a global install, replace liner <command> with npx --yes linersh@latest <command>.
Project Commands
Section titled “Project Commands”| Command | What it does |
|---|---|
liner init <folder> |
Create a folder with starter research files. |
liner replay <folder> [--out <path>] |
Copy a Project’s Job to Be Done and Clarify Job answers into a fresh Project while retaining lineage for later comparison. |
liner compile <folder> |
Fetch sources and write mixtape/MIXTAPE.md plus mixtape/sources/. |
liner share <folder> |
Zip the project into a .mixtape archive. |
liner import <archive> [dest] |
Unzip a .mixtape archive and refetch uncached web and YouTube sources. |
liner clone <url-or-path> [dest] |
Fetch a remote tape file or copy a local tape file. |
liner list |
List saved folders in the current directory. |
Safe Project Maintenance
Section titled “Safe Project Maintenance”Maintenance uses Liner Core’s versioned Snapshot → Change Set → apply → Receipt contract. Inspection and planning are write-free. Apply validates the exact reviewed Change Set again, and operations marked approval-required stop until the curator approves that preview.
liner project inspect reports the immutable Project ID, revision, compatibility, lifecycle state, and immutable Source IDs. Keep those IDs when scripting a multi-step change; path names and Source locators are readable labels, not maintenance identity.
| Command | What it does |
|---|---|
liner project inspect [path] |
Read Project identity, compatibility, lifecycle state, capabilities, and root-discovery evidence without writing. |
liner project guidance <folder> --format json |
Print the installed CLI’s current maintenance contract and remediation. Use markdown for human-readable guidance. |
liner project plan <folder> --request-json <json> |
Create a write-free Change Set from a versioned maintenance request. |
liner project pointer <folder> --environment <codex|claude> --action <install|update|remove> |
Plan an opt-in managed AGENTS.md or CLAUDE.md pointer update. |
liner project rename <folder> --name <name> |
Plan a Project display-name change without changing Project identity. |
liner project move <folder> --destination <path> |
Plan an atomic, identity-preserving Project root move. |
liner project apply <folder> --change-set-json <json> |
Apply one exact Change Set atomically and persist a redacted receipt. |
Structural or semantic plans require --approve. A Project move also requires --approved-destination <path> matching the exact destination in the reviewed Change Set.
Source Maintenance
Section titled “Source Maintenance”Source operations use immutable Source IDs. Metadata updates preserve identity; semantic replacement creates successor identity and lineage. Remove is retention-first, while purge is separately approved and destructive.
| Command | What it does |
|---|---|
liner sources add <folder> --type <type> ... |
Plan an atomic Source addition with duplicate and provenance checks. |
liner sources update <folder> --source-id <id> ... |
Update metadata or a locator while preserving Source identity. |
liner sources replace <folder> --source-id <id> --type <type> ... |
Create a successor Source with explicit lineage. |
liner sources remove <folder> --source-id <id> |
Detach a Source into the retention vault. |
liner sources purge <folder> --source-id <id> |
Plan separately approved deletion of retained Source content. |
Optional Maintenance Adapters
Section titled “Optional Maintenance Adapters”The Maintenance Adapter is opt-in, delegates to the installed CLI, and never replaces the Project Skill. Managed operations preserve user-authored content.
| Command | What it does |
|---|---|
liner adapters inspect <codex|claude> |
Inspect adapter state without changing it. |
liner adapters install <codex|claude> |
Explicitly install the thin Maintenance Adapter. |
liner adapters update <codex|claude> |
Update only Liner-managed adapter content. |
liner adapters remove <codex|claude> |
Remove only managed content and preserve user-authored siblings and text. |
Process Commands
Section titled “Process Commands”| Command | What it does |
|---|---|
liner manifest <folder> |
Aggregate .liner-runs/ into process.json. |
liner status <folder> |
Show a summary of runs, tokens, tool calls, and fetched URLs. |
Use liner status <folder> --no-write --json for a read-only status consumer. Use --status-only only when you intend to refresh the Status Snapshot in liner.yaml without writing process.json.
Skill Source Discovery
Section titled “Skill Source Discovery”| Command | What it does |
|---|---|
liner skills list |
List locally installed skills that Liner can import as inert Source material. |
liner skills list --json |
Emit the same discovery result as JSON. |
Cache Commands
Section titled “Cache Commands”| Command | What it does |
|---|---|
liner cache info |
Show cache location and size. |
liner cache list |
List cached source entries. |
liner cache show <url> |
Inspect one cached source. |
liner cache clear |
Clear cached source content. |
liner cache purge <url> |
Remove one cached URL. |
Setup Commands
Section titled “Setup Commands”| Command | What it does |
|---|---|
liner setup-js |
Download Playwright Chromium for JavaScript-rendered pages. |
liner uninstall |
Remove local Liner state, browser cache, and npm’s npx execution cache. |
Useful Flags
Section titled “Useful Flags”$liner compile mobile-design-foundations --emit-eventsliner compile mobile-design-foundations --no-cacheliner compile mobile-design-foundations --cookies ~/cookies.txtliner share mobile-design-foundations --no-personalliner list --jsonliner list --recursiveliner cache clear --yesliner uninstall --dry-runThe CLI creates folders, compiles the research packet, and owns supported post-creation maintenance. The TUI runs Create Operating Layer after compile and uses the same Core authority for supported Project and Source changes.
The terminal UI uses --emit-events to stream compile progress from the Python core.
liner list --recursive searches one level below the directory you pass with --dir.