Docs rewrite 3/5: the CLI reference - #187
Merged
Merged
Conversation
One page per verb that exists, none for the ones that don't. The overview states the CLI's three global behaviors (the current directory is the project, nothing waits on a human, refusals carry remedies) and the exit-code contract. init documents convergence's four report classes, the real scaffold, and its deliberately bare flag surface; materialize gets the page it never had — targets, the remake rules, the run's contract, check mode, and the JSON report with ok/up_to_date called out as the keys to branch on; status leans on the report-vs-gate split and the commit column; run is the probe, its exit-code proxying and denial notes; build covers the system- layer image, the committed archive as the store, and the arch gate. verify.md and export.md go with their verbs. Every --help text, JSON shape and console block was captured from the current CLI; the tag format was checked against image.py (lc-env-<16 hex>). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DJzmp2MUhwiNHR94cB91dx
Contributor
✅ Eval
lc statusConfusion & pain points (Claude analysis)Confusion & pain points
Full trace: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third pass —
docs/cli/rebuilt around the five verbs that exist, in the frozen pages' structure (Synopsis / semantics / options table / JSON / examples).What's in it
cli/index.md): the three global behaviors (current directory is the project — no walk-up, no global config; nothing waits on a human; refusals carry their remedy) and the exit-code contract, includinglc run's proxying and the--checkgate semantics.lc init: the four convergence classes (created / repaired / blocked / warned — with blocked counting against convergence and warnings never affecting exit), the real scaffold tree, what it deliberately doesn't create (src/, dependencies), and the deliberately bare flag surface.lc materialize(new page): target grammar (fitvsrobust/fit, matching-nothing is an error), the remake rules (stale vs behind vs current under--refresh), the run's contract (clean in/clean out, fetches declared inputs, commits as it goes, reports every independent failure, converges the crate), check mode's dirty-tree exemption, the absent-flags rationale (--jobs,--force), and the JSON report withok/up_to_datecalled out as the branching keys.lc status: the header facts, the commit column as the verb's reason to exist, the three states, the report-vs-gate split, and the JSON shape includingforeign_write.lc run: the probe — same environment and sandbox as a recipe, environment converge first, exit-code proxying (128+N), denial notes, works on any uv project, no sandbox opt-out.lc build: the system-layer-only image, the closed declaration key set, the committeddocker-archiveas the store (id-pinned, no registry), the arch refusal, the clean-tree requirement, and the JSON result (action: built | present).verify.mdandexport.mddeleted with their verbs; nav updated (materialize added, order follows the workflow).Verification
--helptexts, the init/materialize/status JSON shapes, and the console blocks were captured from the current CLI against a real project.actionvalues were read fromcommands.py/container.py, and the tag format corrected againstimage.py(lc-env-<16 hex>— my first draft had the pre-rebuildlc-<project>-<hash>spelling).zensical build: no new warnings; the two remaining are in frozen pages PR 4 replaces.Next: (4) developer corner, (5) nav + workflow refresh + final reconciliation.
🤖 Generated with Claude Code
https://claude.ai/code/session_01DJzmp2MUhwiNHR94cB91dx