Fabric
You're on the list! We'll be in touch when we launch.
Please enter a valid email address.
Something went wrong. Please try again.

CLI reference

fabric is a non-interactive client: you pass everything as flags and it never stops to prompt you. By default it prints human-readable output; add --json to any command to get the same result as structured JSON for scripts and agents to parse. fabric --help and fabric <cmd> --help are always accurate: consult them rather than guessing, since the live command set is the source of truth.

Auth

CommandWhat it does
fabric signupBrowser sign-up + CLI auth in one step.
fabric loginDevice-auth in the browser; saves your credentials.
fabric login --no-browserHeadless device-code login: prints an activation URL + one-time code to approve from any browser.
fabric whoamiShow the signed-in account.

The change loop

CommandWhat it does
fabric change create "<name>"Fork a new draft change off the current trunk frontier. Becomes the most recent change.
fabric cloneMaterialize the most recent change into a working directory.
fabric statusLocal diff of your working tree vs the cloned base. No network.
fabric diffLocal detailed diff. No network.
fabric pushUpload your working tree to the change as ops. Idempotent. Does not touch trunk or merge anything.
fabric proposeMove the change draft → proposed (open it for review). Rejected if the change’s fabric.yaml is malformed.
fabric approveRecord an approving review on the change. --request-changes records the opposite; --note "<text>" attaches a message.
fabric acceptLand the change into trunk. Blocked until the repo’s approval policy (set in fabric.yaml) is met.
fabric abandonDiscard the change.

Onboarding & history

CommandWhat it does
fabric import <folder>Replace the repo with an existing Git project’s full history (runs git fast-export for you). Advances trunk and relabels the repo from the folder name; prints the next step.
fabric import <folder> --into <path>Nest the imported project under a subfolder.
fabric clone --at trunkRead-only checkout of the current trunk frontier (how to view an import’s result).
fabric clone --at op:<actor>:<seq>Read-only checkout at a past frontier (time-travel).

Conventions

  • --json on any command. Default output is human-readable text; --json gives the same result as structured data for scripting and agents.
  • Op refs are actor:seq: a frontier coordinate, not a content hash.
  • Idempotent push. Re-running push only appends what’s new; “nothing to do” means your tree already matches the change tip.

The definitive, always-current command set is fabric --help. This page mirrors it for reference. When in doubt, trust the CLI.