CLI reference¶
Generated
This page is generated from the code when the documentation is built (docs/hooks/reference.py). Do not edit it; change the code instead.
Every command of cheme, with its arguments and options, as cheme <command> --help prints them. The guides explain how the commands fit together.
| command | what it does |
|---|---|
cheme init |
Create a plant repository from the template (folders, schemas, skills, CI). |
cheme validate |
Validate every P&ID and list, and the lists against the P&IDs. |
cheme fmt |
Write P&IDs in canonical form: readable ids on every object, DEXPI 2.0.1, stable order. |
cheme render |
Render P&IDs to SVG or PNG: build/<sheet>(@<rev>)(_crop-X0-Y0-X1-Y1)(_inline).svg|png. |
cheme diff |
Compare P&IDs between two git revisions; write an HTML report with changes highlighted. |
cheme show |
Where an object is: its block, owner, drawing, references and what references it. |
cheme check |
Run the engineering-step gates in checks/checks.yaml (--write signs off a stage). |
cheme status |
Where the repository stands: sheets, findings by sheet, gates, sign-offs, review findings. |
cheme impact |
Artifacts whose sources changed since they were reviewed or generated: review needed. |
cheme maturity |
Which calculation maturity level the evidence supports, requirement by requirement. |
cheme issues |
The plant's issues (plant.yaml issues:) as engineering items: actions, holds, technical queries and design changes,... |
cheme cause-effect |
Write the cause-and-effect matrix of control/cause-effect.yaml (HTML and CSV). |
cheme serve |
Serve the repository read-only as a JSON API (and the viewer, with --ui). |
cheme export-static |
Write the viewer's API as static files: a read-only snapshot the viewer opens without a server (manifest.json + data/). |
cheme git-setup |
Show P&IDs as review text in git diffs, and check them before each commit. |
cheme schema |
Print the JSON Schema of a YAML file kind, or list the kinds. |
cheme migrate |
Bring the YAML inputs to the schema versions this cheme-as-code reads: a file without schema: gets `schema:... |
cheme copy |
Duplicate an object with its parts and drawing, renaming every id (e.g. |
cheme fragment |
Print a ready-to-paste XML fragment (conceptual part and drawing part). |
cheme run |
Run a Python script in cheme-as-code's interpreter, where pyDEXPI and chemeascode import. |
cheme regen |
Rebuild generated sheets: frame -> cheme run SCRIPT FILE -> fmt. |
cheme move |
Move an object's drawing: symbol, node positions, labels; attached lines follow. |
cheme rename |
Rename an id and every reference to it, or a tag and the labels that show it. |
cheme set |
Set data values of an object (typed as DEXPI defines them) and the labels showing them. |
cheme sheet |
Start a P&ID sheet with a real title block, or change its title block. |
cheme process |
Process design: BFD and PFD generated from process/materials.yaml and process/flowsheet.yaml. |
cheme layout |
3D layout: the plant model generated from layout/*.yaml, the lists and the P&IDs. |
cheme assess |
Assessment: the material take-off of the 3D model, the estimates, the LCA and the TEA. |
cheme datasheets |
Equipment datasheets: drafts, calculated sizes and dimensions, outline drawings. |
cheme skills |
The bundled skills installed in .claude/skills/: status and safe updates. |
cheme chemistry |
Chemistry: component properties from databases and correlations. |
cheme control |
Control: the loop register, operating sequences, narrative and control philosophy. |
cheme safety |
Safety: HAZOP studies and their risk matrix. |
cheme experiments |
Experiments: kinetic data, rate laws fitted to them, data sampled from a mechanism, measured electrochemical series. |
cheme data |
Optional datasets: fetch them into the user data directory. |
cheme runs |
Run records: one folder per design session in runs/ (start, record, list). |
cheme¶
Plant design as code: validate, format, render and diff a plant repository.
cheme [OPTIONS] COMMAND [ARGS]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--version |
option | flag | Print the cheme-as-code and pyDEXPI versions and the interpreter, and exit. |
Subcommands: init, validate, fmt, render, diff, show, check, status, impact, maturity, issues, cause-effect, serve, export-static, git-setup, schema, migrate, copy, fragment, run, regen, move, rename, set, sheet, process, layout, assess, datasheets, skills, chemistry, control, safety, experiments, data, runs
cheme init¶
Create a plant repository from the template (folders, schemas, skills, CI).
cheme init [OPTIONS] [directory]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
directory |
argument | path | . |
Where to create the repository. | |
--name |
option | str | `` | Plant name for plant.yaml. | |
--force / --no-force |
option | flag | Overwrite existing files. |
cheme validate¶
Validate every P&ID and list, and the lists against the P&IDs.
A sheet declared generated in plant.yaml is rebuilt from its generator in a scratch file and compared (cheme.generated-sheet-drift); --skip-generators leaves that out.
cheme validate [OPTIONS] [paths]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
paths |
argument | path | Only these files. | ||
--json |
option | flag | Machine-readable report. | ||
--fail-on |
option | error | warning | info |
error |
Lowest level that fails: error, warning or info. | |
--quiet / -q |
option | flag | Print only failures. | ||
--skip-generators |
option | flag | Do not run generators to check generated sheets for drift. | ||
--ignore |
option | str | Leave out these rules (ids or globs); also for --json and --fail-on. | ||
--only |
option | str | Report only these rules (ids or globs). |
cheme fmt¶
Write P&IDs in canonical form: readable ids on every object, DEXPI 2.0.1, stable order.
cheme fmt [OPTIONS] [paths]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
paths |
argument | path | P&ID files (default: all). | ||
--check / --no-check |
option | flag | Only report files that would change. |
cheme render¶
Render P&IDs to SVG or PNG: build/<sheet>(@<rev>)(_crop-X0-Y0-X1-Y1)(_inline).svg|png.
cheme render [OPTIONS] [paths]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
paths |
argument | path | P&ID files (default: all). | ||
--png |
option | flag | Write PNG (needs the png extra). | ||
--scale |
option | float range | PNG pixels per sheet millimetre (default 4; 8 with --tiles). | ||
--crop |
option | str | Only this sheet region: X0,Y0,X1,Y1 in sheet mm, origin top left, Y down. | ||
--rev |
option | str | Render the sheets as of this git revision. | ||
-o |
option | path | Output file (one input). | ||
--tiles |
option | str | Overlapping tiles covering the sheet's whole viewBox (which can include content left of or above the frame), C columns by R rows (e.g. 4x3), or auto: build/<sheet>_tile-<row letter><column>.svg|png and build/<sheet>_tiles.json. | ||
--findings |
option | flag | Mark the drawing-geometry findings on it. | ||
--emphasise-inline |
option | flag | Draw valves, inline fittings and actuators 1.5 times larger with bolder lines, for reading a full-sheet render (a review aid; the XML is unchanged): build/<sheet>..._inline.svg|png. |
cheme diff¶
Compare P&IDs between two git revisions; write an HTML report with changes highlighted.
--json or --list print the result instead; the HTML report is then written only with --html. --list groups the changes by the plant item they belong to; --flat lists every object. A sheet that does not load or draw is named with the reason; the others are still compared, and the exit code is 1.
cheme diff [OPTIONS] [old_rev] [new_rev]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
old_rev |
argument | str | HEAD |
Old revision, e.g. main. | |
new_rev |
argument | str | New revision (default: the working tree). | ||
--path |
option | path | Only these sheets. | ||
--html |
option | path | HTML report (default: build/diff.html). | ||
--json |
option | flag | Print every sheet's changes as JSON. | ||
--list |
option | flag | Print one line per changed plant item. | ||
--flat |
option | flag | With --list: one line per changed object (0.2). | ||
--verbose / -v |
option | flag | With --list: each change under its item. |
cheme show¶
Where an object is: its block, owner, drawing, references and what references it.
cheme show [OPTIONS] {ID_OR_TAG}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ID_OR_TAG |
argument | str | yes | An XML id or a tag. | |
--sheet |
option | path | Only this sheet (default: every sheet). | ||
--layout |
option | flag | Measured plot-plan distances to the nearest items, buildings, roads, racks and the site boundary. |
cheme check¶
Run the engineering-step gates in checks/checks.yaml (--write signs off a stage).
cheme check [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--stage |
option | str | Gates of every stage up to this one (plant.yaml order). | ||
--only-stage |
option | flag | With --stage: only that stage's gates. | ||
--write / --no-write |
option | flag | Sign off the stage: record it in checks/status.json (refused unless the tree is clean and every gate passes). | ||
--review |
option | path | With --write: the review record the sign-off rests on. | ||
--by |
option | str | With --write: who signs off (default: git user.name). |
cheme status¶
Where the repository stands: sheets, findings by sheet, gates, sign-offs, review findings.
cheme status [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | Machine-readable summary. | ||
--rev |
option | str | The repository as committed at this revision (a temporary worktree). | ||
--gates / --no-gates |
option | flag | True |
Evaluate the gates (they may run commands). |
cheme impact¶
Artifacts whose sources changed since they were reviewed or generated: review needed.
Review records whose scope or basis changed since, generated sheets whose process YAML changed, stale calculated values. Read-only, info only, exit 0: nothing is regenerated.
cheme impact [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | Machine-readable findings. |
cheme maturity¶
Which calculation maturity level the evidence supports, requirement by requirement.
Levels: sourced process description, balanced conceptual PFD, converged predictive simulation, preliminary/basic engineering package. The design maturity a process.yaml claims, artifact completeness and review status are reported beside them and never raise a level; no command sets the review status (docs/concepts/glossary.md).
cheme maturity [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | The machine-readable report. | ||
--write / --no-write |
option | flag | Also write the report to checks/maturity.json. | ||
--require |
option | str | Exit 1 unless this calculation maturity level is reached: sourced, balanced, predictive, engineering. |
cheme issues¶
The plant's issues (plant.yaml issues:) as engineering items: actions, holds, technical queries and design changes, by the gate they must close before. Exits 2 when they cannot be read (no GitHub token or network).
cheme issues [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--all |
option | flag | Closed issues too. | ||
--json |
option | flag | As JSON. |
cheme cause-effect¶
Write the cause-and-effect matrix of control/cause-effect.yaml (HTML and CSV).
cheme cause-effect [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
-o |
option | path | HTML file (default: build/cause-effect.html). |
cheme serve¶
Serve the repository read-only as a JSON API (and the viewer, with --ui).
In a folder of plants (process-library's root, or a folder of plant repositories) it serves each plant under /p/<id>/ and lists them at /api/plants (ADR 0034).
cheme serve [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--repo |
option | path | Plant repository (default: the one around the cwd), or a folder of plants (a process library): then every plant is served under /p/<id>/. | ||
--library |
option | flag | Serve every plant below the folder (at most 3 levels down), also when it lies inside a plant. Without it, a folder with no plant.yaml above it but plants below it is served as a library. | ||
--host |
option | str | 127.0.0.1 |
Address to bind. A non-local address (e.g. 0.0.0.0) serves the repository to the network; requests must still name a local host or an --allow-host name. | |
--port |
option | int | 8765 |
Port to listen on. | |
--ui |
option | path | Built viewer to serve at / (a dist directory). | ||
--allow-host |
option | str | Also accept requests for this host name or address in the Host header (repeatable), e.g. the machine's LAN address with --host 0.0.0.0. Only 127.0.0.1, localhost, ::1 and a non-wildcard --host are accepted otherwise (against DNS rebinding); no wildcard. | ||
--allow-remote-checks / --no-allow-remote-checks |
option | flag | Let the viewer run the checks (POST /api/checks/run, which runs the command checks of checks/checks.yaml) although --host is not a local address. |
cheme export-static¶
Write the viewer's API as static files: a read-only snapshot the viewer opens without a server (manifest.json + data/).
cheme export-static [OPTIONS] {out}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
out |
argument | path | yes | Output directory: new, empty, or a previous snapshot (replaced). Not the plant repository, a directory containing it, or one inside it other than below build/ (e.g. build/snapshot). | |
--repo |
option | path | Plant repository (default: the one around the cwd). | ||
--rev |
option | str | Export this git revision (default: the working tree). | ||
--max-file-mb |
option | float range | 2.0 |
Leave out files larger than this (MB). | |
--exclude |
option | str | Leave out paths matching this glob (repeatable; ** spans directories, e.g. reviews/** or PROGRESS.md). |
cheme git-setup¶
Show P&IDs as review text in git diffs, and check them before each commit.
cheme git-setup [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--hook / --no-hook |
option | flag | True |
Install the pre-commit hook. |
cheme schema¶
Print the JSON Schema of a YAML file kind, or list the kinds.
cheme schema [OPTIONS] [kind]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
kind |
argument | str | plant, equipment, lines, site_plan, ... (none: list the kinds) |
cheme migrate¶
Bring the YAML inputs to the schema versions this cheme-as-code reads: a file without schema: gets schema: cheme/<kind>/v1 as its first key, its comments kept, and a v1 LCI dataset in lca/datasets/ (schema: cheme/lca/v1) gets schema: cheme/lci_dataset/v2. Exits 1 when --check finds a file to change or a file cannot be migrated.
cheme migrate [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--check |
option | flag | Only list the files that would change (default). | ||
--write |
option | flag | Rewrite the files. |
cheme copy¶
Duplicate an object with its parts and drawing, renaming every id (e.g. a spare pump).
cheme copy [OPTIONS] {ID}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ID |
argument | str | yes | The object to copy (id or tag). | |
--prefix |
option | str | yes | Id of the copy; every id inside it is derived from it. | |
--tag |
option | str | Tag of the copy (TagName, ...). | ||
--offset |
option | str | 0,0 |
Move the drawing by DX,DY (sheet mm, Y down). | |
--sheet |
option | path | The sheet (default: the one holding ID). | ||
--into |
option | str | Put the copy into this object. | ||
--print |
option | flag | Print the copied XML; change no file. | ||
--rename |
option | str | An inner tag of the copy (data, labels, ids). | ||
--renumber |
option | str | A number in the copy's inner tags, labels, ids. | ||
--set |
option | str | On every copied object having PROP. | ||
--sense-at |
option | str | Instrument: sensing location (and its node). | ||
--connect |
option | str | Connect a copied pipe's open end. |
cheme fragment¶
Print a ready-to-paste XML fragment (conceptual part and drawing part).
cheme fragment [OPTIONS] {kind} [name]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
kind |
argument | str | yes | node, pipe, valve, tee, segment, label, equipment, nozzle, instrument, signal, offpage, line, note or shape. | |
name |
argument | str | shape: the catalogue name, e.g. COLUMN_SHAPE. | ||
--id |
option | str | Id of the new object; its parts' ids derive from it. | ||
--dn |
option | str | Nominal diameter, e.g. 80. | ||
--standard |
option | str | Din2448 |
DN standard: Din2448, Iso6708 or none. | |
--from |
option | str | pipe/segment: where it starts (ITEM:NODE); signal: the source instrument. | ||
--to |
option | str | pipe/segment: where it ends (ITEM:NODE); signal: the operated valve(s) or instrument(s) it goes to, comma-separated for a trip. | ||
--points |
option | str | pipe/signal/instrument (measuring line): the bends between the two node positions, x,y;x,y (default: routed). | ||
--class |
option | str | valve: GlobeValve (default), BallValve, GateValve, Silencer, ...; equipment: the DEXPI class, e.g. CentrifugalCompressor. | ||
--at |
option | str | Position X,Y (sheet mm, Y down). | ||
--rotation |
option | float | 0.0 |
valve/tee: flow direction, degrees (0: left to right); equipment/offpage: symbol rotation, degrees. | |
--branch-dn |
option | str | tee: DN of the branch node. | ||
--branch |
option | str | tee: side the branch leaves (absolute): up, down, left or right (default: left of the flow, up for --rotation 0). | ||
--for |
option | str | label: the object it shows. | ||
--attribute |
option | str | label: the attribute shown, e.g. TagName. | ||
--tag |
option | str | valve: PipingComponentNumber; tee: its tag; equipment: K-1101; instrument: PIC-4101; nozzle: SubTagName. | ||
--number |
option | str | segment: SegmentNumber (S2); line: LineNumber; signal: ActuatingSystemNumber. | ||
--like |
option | str | segment: copy fluid, class and DN data from this segment (--sheet). | ||
--sheet |
option | path | Take shape ids, node positions and values from it. | ||
--shape |
option | str | equipment: symbol name (default: by --class). | ||
--scale |
option | str | equipment: symbol scale S or SX,SY; valve: S. | ||
--nozzle |
option | str | equipment: a nozzle, offset from the symbol centre; no DN: an instrument connection. The stub points away from the nearer side of the symbol, or DIR (left, right, up, down; N1:-10,40::left without DN). Repeat it. | ||
--marker |
option | str | equipment: a marker symbol inside it (COLUMN_PACKED_BED_SHAPE, COLUMN_TRAY_SHAPE), dy from the symbol centre, ScaleY SY (ScaleX: the equipment's), m: mirrored. Repeat it. | ||
--label-at |
option | str | equipment: tag label position X,Y. | ||
--on |
option | str | nozzle: the equipment's id. | ||
--sense |
option | str | instrument: what it measures (nozzle, segment, inline item), and where the measuring line starts. | ||
--field / --central |
option | flag | instrument: field or central bubble. | ||
--fail-action |
option | str | signal to a valve: FC, FO or FL. | ||
--in |
option | flag | offpage: flow comes in from another sheet. | ||
--out |
option | flag | offpage: flow goes out to another sheet. | ||
--note |
option | str | offpage: text beside the arrow. | ||
--note-at |
option | str | offpage: position of --note. | ||
--text |
option | str | note: the text. | ||
--fluid |
option | str | line: FluidCode. |
cheme run¶
Run a Python script in cheme-as-code's interpreter, where pyDEXPI and chemeascode import.
Usage: cheme run [--fmt SHEET] SCRIPT [ARGS...]. Options go before SCRIPT: everything after it goes to the script (sys.argv[1:]); its exit code is cheme-as-code's. The working directory is the repository root, so relative paths mean the same wherever you start it. Use this instead of python3 or uv run python: neither has pyDEXPI in a plant repository.
cheme run [OPTIONS] {script}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
script |
argument | path | yes | The Python file to run, e.g. scripts/draft_P-02.py. | |
--fmt |
option | path | After a successful run, run cheme fmt on this sheet (repeatable). |
cheme regen¶
Rebuild generated sheets: frame -> cheme run SCRIPT FILE -> fmt.
A sheet is generated when plant.yaml gives it generator: {script, frame}; it is then not edited by hand. regen refuses a sheet that differs from what its generator (as committed) makes, naming the items edited by hand, unless --force. --detach removes the generator: the XML becomes the source and the script provenance only.
cheme regen [OPTIONS] [sheets]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
sheets |
argument | str | Sheet ids or files (default: every sheet with a generator). | ||
--force / --no-force |
option | flag | Overwrite a sheet edited by hand since its last generation. | ||
--detach |
option | flag | Make the sheets hand-maintained: remove their generator. | ||
--list |
option | flag | Print which sheets are generated; change nothing. |
cheme move¶
Move an object's drawing: symbol, node positions, labels; attached lines follow.
cheme move [OPTIONS] {ID}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ID |
argument | str | yes | The object to move (id or tag). | |
--offset |
option | str | yes | DX,DY in sheet mm (Y down), e.g. -8,12. | |
--sheet |
option | path | The sheet (default: the one holding ID). | ||
--print |
option | flag | Dry run: print the change as a diff; write nothing. | ||
--no-fmt |
option | flag | Do not run cheme fmt after writing. |
cheme rename¶
Rename an id and every reference to it, or a tag and the labels that show it.
cheme rename [OPTIONS] {old} {new}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
old |
argument | str | yes | The id (or a tag) to rename. | |
new |
argument | str | yes | The new id (or tag). | |
--children / --no-children |
option | flag | Also rename the ids derived from it: OLD_* -> NEW_*. | ||
--ids / --no-ids |
option | flag | Renaming a tag: also rename the ids that spell it (HV4146 -> HV4147). | ||
--tag |
option | flag | NEW is the new tag of the object OLD names (by id): retags one of two objects sharing a tag (an instrument's sensor and actuator follow). | ||
--sheet |
option | path | The sheet (default: the one holding ID). | ||
--print |
option | flag | Dry run: print the change as a diff; write nothing. | ||
--no-fmt |
option | flag | Do not run cheme fmt after writing. |
cheme set¶
Set data values of an object (typed as DEXPI defines them) and the labels showing them.
cheme set [OPTIONS] {ID} {PROPERTY=VALUE...}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ID |
argument | str | yes | The object (id or tag). | |
PROPERTY=VALUE... |
argument | str | yes | DEXPI attribute names and values (FluidCode=Nitrogen, NominalCapacityVolume='26 MetreCubed', Stroke.Width=0.5); PROPERTY= removes it. | |
--sheet |
option | path | The sheet (default: the one holding ID). | ||
--print |
option | flag | Dry run: print the change as a diff; write nothing. | ||
--no-fmt |
option | flag | Do not run cheme fmt after writing. |
cheme sheet¶
Start a P&ID sheet with a real title block, or change its title block.
cheme sheet [OPTIONS] COMMAND [ARGS]...
cheme sheet new¶
Write a new sheet from the template, its title block filled from plant.yaml.
Sets the Model name and uri, the diagram Name and the MetaData (drawing and sheet number, title, project, client, site, revision, dates, status "for review"; approver, approval date and checker stay empty) with their title-block texts, and adds the sheet to plant.yaml (or marks a planned one drafted).
cheme sheet new [OPTIONS] {ID}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ID |
argument | str | yes | Sheet id, e.g. P-05. | |
--title |
option | str | `` | Sheet title (DrawingName); default: its plant.yaml title. | |
--file |
option | str | Path from the repository root (default pid/<ID>.xml). | ||
--revision |
option | str | RevisionNumber (default: plant.yaml project.revision). | ||
--force / --no-force |
option | flag | Overwrite an existing file. |
cheme sheet meta¶
Show or set title-block values: the MetaData and the title-block texts together.
cheme sheet meta [OPTIONS] {SHEET} [KEY=VALUE...]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
SHEET |
argument | str | yes | Sheet id or file. | |
KEY=VALUE... |
argument | str | MetaData property (RevisionNumber) or short name (Revision, Status, Title, Approver, Checker, Client, Site, Project, ...), or ModelName, ModelUri, DiagramName. An empty value empties it. None: print the title block. |
cheme process¶
Process design: BFD and PFD generated from process/materials.yaml and process/flowsheet.yaml.
cheme process [OPTIONS] COMMAND [ARGS]...
Subcommands: build, streams, reactors, crystallizers, reactor-uncertainty, reactor-hazards, reactor-choice, adsorption, cell, duty, stack, energy, pinch, furnace, props, propagate, simulate, phase, extract, methods, electrolyte, assay, layout
cheme process build¶
Generate the BFD and PFD sheets (DEXPI 2.0.1 ProcessModels with a drawing).
Refuses while the flowsheet has errors, and over a sheet edited by hand unless --force.
cheme process build [OPTIONS] [sheets]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
sheets |
argument | str | Sheet ids or files (default: every bfd/pfd sheet). | ||
--force / --no-force |
option | flag | Overwrite a sheet edited by hand since it was generated. |
cheme process streams¶
The stream table (value, unit, provenance per property) and the block balances.
cheme process streams [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: the default case). | ||
--md |
option | flag | Markdown table. | ||
--csv |
option | flag | CSV. | ||
--json |
option | flag | Streams, balances and provenance as JSON. |
cheme process reactors¶
Each reactor: model, extents, heats of reaction, ln K and ln(Q/K) at the outlet, and the duty H(out) - H(in) on the elements basis (ideal gas).
cheme process reactors [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | As JSON. |
cheme process crystallizers¶
Each crystallizer and filter or centrifuge (crystallizer:, solid_separation:): its basis (solubility-equilibrium, imposed-yield or solid-split), crystals, recovery, the outlets as dry solid and liquid, the balances and the duty. Exit 1 on an error finding.
cheme process crystallizers [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | As JSON. |
cheme process reactor-uncertainty¶
The spread of NODE's conversion, outlet flows and temperatures from the uncertainty of its reaction data, by Monte Carlo through its own reactor model. Only what the model reads is sampled (rate A and Ea; K with reverse: equilibrium; heat_of_reaction for a liquid adiabatic tank or batch; conversion for a conversion reactor; for a selectivity: step, the key's conversion and the selectivities from selectivity.uncertainty, evaluated as propagate does); other uncertainties are listed as not used, with the reason. Writes nothing. Exit 2 when it cannot be sampled or nothing it uses is uncertain.
cheme process reactor-uncertainty [OPTIONS] {node}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
node |
argument | str | yes | The reactor block or step. | |
--samples |
option | int range | 200 |
Monte Carlo draws. | |
--seed |
option | int | 1 |
Seed of the generator. | |
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | As JSON. |
cheme process reactor-hazards¶
Thermal screening of each reactor: adiabatic temperature rise, MTSR after a cooling failure, MTT, TD24, Stoessel's criticality class and, for cooled beds, the hot spot's sensitivity to the coolant temperature (domains/safety/reaction_hazards.py). Screening values only. Exit 1 on a warning (class 3 to 5, an MTSR above MTT or TD24, a sensitive bed).
cheme process reactor-hazards [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | As JSON. |
cheme process reactor-choice¶
Which ideal reactor suits NODE's reactions: the yield and selectivity of PRODUCT against the key's conversion for a plug-flow reactor, one stirred tank and --tanks tanks in series (isothermal, at the inlet's temperature and pressure), and the plug flow's instantaneous selectivity. --svg writes the plot. Exit 2 when it cannot be compared.
cheme process reactor-choice [OPTIONS] {node}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
node |
argument | str | yes | The reactor block or step. | |
--product |
option | str | yes | The desired product. | |
--key |
option | str | The converted component (default: first fed). | ||
--tanks |
option | int range | 3 |
Tanks in series to compare. | |
--case |
option | str | Case id (default: the default case). | ||
--svg |
option | path | Write the plot to this file. | ||
--region-svg |
option | path | Also compute the candidate attainable region and write its plot here. | ||
--json |
option | flag | As JSON. | ||
--csv |
option | flag | The points as CSV. |
cheme process adsorption¶
Each adsorber of process/adsorption.yaml: core's equilibrium TSA cycle (breakthrough, recoveries, regeneration heat and purge, adsorbent replacement) from sourced isotherms, or an external performance model's results checked against its operating range; and whether the split process/simulation.yaml gives the simulator follows from it. An isotherm outside its stated range and a calculated PSA are refused. Writes nothing. Exit 1 on a warning or error, 2 for an unknown case.
cheme process adsorption [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: every case). | ||
--json |
option | flag | As JSON. |
cheme process cell¶
The Faraday balance of each electrochemical cell of process/cells.yaml: extents, products per outlet, charge and element balances, electric power, thermoneutral voltage, heat duty (Q = P - extent dH, electricity counted once) and kWh per kg of product, from the specified current, current efficiency and voltage. Refuses a cell without them. Writes nothing. Exit 1 on an error finding (a refused or inconsistent cell), 2 without process/cells.yaml.
cheme process cell [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | As JSON. |
cheme process duty¶
The dynamic duties of process/duties.yaml: each cell's current or power schedule against the anolyte reservoir (voltage, efficiencies and WDE from the measured series or the specified cell, never extrapolated), the pH, inventory, product, charge, energy, dosing and bleed over time, the time to the stated pH threshold and the time outside the measured range. A duty a stack of process/cells.yaml names (equipment.duty) runs at the arrangement that stack is sized at, as in cheme process stack (cheme.duty-arrangement). --compare ID,ID --co KG compares duties at equal delivered product (the duties are named there, not as IDS; --plot then draws the compared transients). Writes nothing but the plots. Exit 1 on an error finding, 2 without process/duties.yaml, for an unknown duty id or for IDS given with --compare.
cheme process duty [OPTIONS] [ids]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ids |
argument | str | Duty ids (default: every duty). | ||
--json |
option | flag | As JSON. | ||
--plot |
option | path | Write the time plots and operating maps (SVG) into this directory. | ||
--compare |
option | str | ID,ID: compare these duties at equal delivered product (--co). | ||
--co |
option | float | With --compare: the delivered product, kg. | ||
--tolerance |
option | float | 0.001 |
With --compare: relative tolerance on the delivered product. |
cheme process stack¶
The stacks of the stacks: section of process/cells.yaml sized for their product duty at the cell's operating point (never outside its measured or declared range): active area, cells, cells per stack from the voltage limit, stacks, stack voltage and current, DC power, output and its margin, kWh per kg, the stack envelope; and the skid equipment inputs from the duty named, run at the sized arrangement over its horizon: reservoir and tank dimensions (a dosing or bleed tank over its refill or emptying interval), the recirculation and dosing pumps' flows, and with the duty's reservoir.size: to_horizon the reservoir volume that reaches its horizon. Without --write it writes nothing and reports what differs from the equipment list, the datasheets and process/duties.yaml (cheme.stack-outdated); --write writes them (a reservoir volume first, then the tanks from the duty at it); with --write --json the report (as the files are then) carries written, each file written with its tags (or duty ids). Exit 1 on an error finding (process/cells.yaml not following its schema among them: its findings are printed), 2 without process/cells.yaml or stacks, or for an unknown id.
cheme process stack [OPTIONS] [ids]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ids |
argument | str | Stack ids (default: every stack). | ||
--json |
option | flag | As JSON. | ||
--write |
option | flag | Write the calculated stack and tank dimensions into the equipment list, the pumps' inputs into their datasheets (never over a value written by hand) and a reservoir volume the duty asks for (reservoir.size: to_horizon) into process/duties.yaml. |
cheme process energy¶
Energy balances of blocks and steps (stream enthalpies against energy streams), the energy audit of the recorded simulation run, and the boundary-completeness gaps (utilities, waste and emission terminals not declared). Exit 1 on a warning or error.
cheme process energy [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | As JSON. |
cheme process pinch¶
Whole-plant pinch targets of the case's recorded simulation run (process/simulation-run.json, from cheme process simulate --fill; the simulator is not run).
Prints the current utility demand, the theoretical minimum utility demand at dTmin and the theoretical energy-saving potential (their difference: not a saving), the hot-side, cold-side and shifted pinch (or a threshold problem), the utility-use pinch violations apart from cross-pinch transfer in existing exchangers, the thermal streams with class and quality, and the reconciliation against the run's duties. --write records the result in process/pinch-run.json. Exit 1 on an error (no current converged run, too few streams) or a reconciliation finding; 2 on invalid input; 3 when --write is refused (a reconciliation finding), nothing written.
cheme process pinch [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--dt-min |
option | float | yes | The global minimum approach temperature dTmin, K (required). | |
--dt-min-source |
option | str | ASSUMED |
Where dTmin comes from (recorded; default: ASSUMED). | |
--case |
option | str | Case id (default: the default case). | ||
--include-constrained |
option | flag | Include the constrained duties (reactors) in the targets, as a sensitivity. | ||
--json |
option | flag | As JSON. | ||
--md |
option | flag | As Markdown. | ||
--write |
option | flag | Record the targets in process/pinch-run.json. |
cheme process furnace¶
Energy basis of the solid-reaction furnaces of process/furnaces.yaml (lime calcination): element balance, product and off-gas composition, reaction enthalpy and the furnace energy closure from condensed-phase NASA data (extra cantera), or a labelled specific-energy fallback. Exit 1 on a warning or error.
cheme process furnace [OPTIONS] [furnace_id]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
furnace_id |
argument | str | Furnace id (default: every furnace). | ||
--json |
option | flag | As JSON. |
cheme process props¶
Stream properties (phase, vapour fraction, molar mass, density, enthalpy) through thermo (extra props), with the process's property package, inside its validated range only.
--fill never overwrites given or assumed values; a state outside the range is refused and not written, and values calculated earlier stay and are reported stale. --fill exits 3 when it refused a stream (out of range, unsupported, failed or a contradicted phase) and wrote the rest. --check exits 1 on a warning (stale, differing or out-of-range values). --coverage names the package (materials.yaml property_method.package, or the one covering the most streams) and per stream whether it covers its components and state or why not, nearest other package included; it needs no thermo and exits 0 unless the recorded package is unknown. --json prints the run as an adapter result (cheme/adapter-result/v1) per case, same exit codes (with --coverage: the coverage as JSON).
cheme process props [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--fill |
option | flag | Write calculated values and the method. | ||
--check |
option | flag | Recalculate and report; write nothing. | ||
--coverage |
option | flag | List the property package and, per stream, whether it covers it or why not; write nothing. | ||
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | The run as an adapter result (JSON). |
cheme process propagate¶
Derive missing compositions and flows through steps their streams fully determine: pass-through steps (compressors, coolers, heaters, pumps, filters), mixers, splitters (split: fractions per outlet port, else the mass balance remainder).
Separators and reactors are only checked, never solved. Derived values are calculated with an input fingerprint; given and assumed values are never overwritten. --check exits 1 on a warning (stale propagated values). --json prints the run as an adapter result (cheme/adapter-result/v1) per case, same exit codes.
cheme process propagate [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--fill |
option | flag | Write the derived compositions and flows. | ||
--check |
option | flag | Derive and report; write nothing. | ||
--case |
option | str | Case id (default: the default case). | ||
--json |
option | flag | The run as an adapter result (JSON). |
cheme process simulate¶
Solve the flowsheet in DWSIM, or in IDAES where process/simulation.yaml says simulator: idaes (optional; CHEME_IDAES_PYTHON names a Python with idaes-pse): feeds from process/flowsheet.yaml, simulator, property package and step specifications from process/simulation.yaml.
--fill writes temperature, pressure, flow and composition of every simulated stream that lacks them (and the duty of energy streams) as calculated with a fingerprint; given and assumed values are never overwritten, a deviation from them is a warning. --fill also records the run (convergence, unit results, stream values, input fingerprints) in process/simulation-run.json; --check reports a record made from other inputs. Exits 1 on an error (unmapped step, missing spec or feed, no simulator) and, with --check, on a warning (stale or deviating values, a stale record); 3 when the simulation did not converge (no stream value written, the run recorded).
cheme process simulate [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--fill |
option | flag | Write the simulated values streams lack. | ||
--check |
option | flag | Simulate and report; write nothing. | ||
--case |
option | str | Case id (default: the default case). | ||
--save |
option | path | Also save the DWSIM flowsheet here (.dwxmz; DWSIM only). |
cheme process phase¶
Binary interaction parameter coverage and, with --temperature and --pressure, a flash (phase identification) through thermo (extra props). No solids, electrolytes or pseudocomponents; no application range claimed.
Each pair is sourced (with its source), missing (the calculation uses zero) or accepted_zero (--accept-zero). Exits 2 on invalid input, 1 with --check when a pair is missing.
cheme process phase [OPTIONS] {components}...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
components |
argument | str | yes | Component names or CAS numbers. | |
--model |
option | str | Equation of state: Peng-Robinson, Redlich-Kwong-Soave, Redlich-Kwong. | ||
--liquid |
option | str | Activity-coefficient model: NRTL, Wilson, UNIFAC. | ||
--vapor |
option | str | With --liquid: an equation of state or ideal_gas. | ||
--z |
option | str | Overall mole fractions, comma-separated (mixtures). | ||
--temperature |
option | float | Flash temperature. | ||
--temperature-unit |
option | str | K |
Unit of the temperature. | |
--pressure |
option | float | Flash pressure (absolute). | ||
--pressure-unit |
option | str | bar(a) |
Unit of the pressure. | |
--two-liquids |
option | flag | Allow a second liquid (stated assumption). | ||
--accept-zero |
option | str | A pair A:B whose missing parameter is accepted as zero (repeatable). | ||
--check |
option | flag | Exit 1 when a binary parameter is missing. | ||
--json |
option | flag | The result as JSON. |
cheme process extract¶
Liquid-liquid extraction from process/extraction.yaml: countercurrent equilibrium stages on NRTL (thermo, extra props) with a bundled or a sourced LLE system. Prints raffinate, extract, solute recovery, solvent loss, distribution and selectivity, closure, and whether the result is inside a benchmarked range (qualified). Solvent regeneration is a separate unit. Writes nothing. Exit 1 when a unit is refused (e.g. no two-phase region), fails or does not converge, 2 without the file or for an unknown unit.
cheme process extract [OPTIONS] [unit]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
unit |
argument | str | One unit of process/extraction.yaml (default: all). | ||
--systems |
option | flag | List the bundled LLE systems and exit. | ||
--json |
option | flag | {lines, results: [adapter result per unit]}. |
cheme process methods¶
The supported-method contract (methods.yml): per thermodynamic model the selection tree can recommend, whether cheme process phase and cheme process simulate run it, else its explicit substitute; and the coverage decisions for electrolytes, solids and pseudocomponents.
cheme process methods [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | The table as JSON. |
cheme process electrolyte¶
Mean ionic activity coefficient, osmotic coefficient, water activity and vapour pressure, and relative enthalpy of a qualified aqueous electrolyte system (electrolytes.yml; today NaCl-H2O) through Pitzer's equations in Cantera (extras cantera and props).
Inside the claimed range only: anything else (another salt or ion, a charge imbalance, a state outside the range, a boiling solution) is refused with exit code 3. Exit 2 on invalid input or a missing extra.
cheme process electrolyte [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--temperature |
option | float | yes | Temperature. | |
--pressure |
option | float | yes | Pressure (absolute). | |
--molality |
option | float | Molality of the salt, mol per kg of water. | ||
--mass-fraction |
option | float | Mass fraction of the salt in the solution. | ||
--species |
option | str | Solute species molalities, e.g. 'Na+=1,Cl-=1'. | ||
--system |
option | str | NaCl-H2O |
The electrolyte system. | |
--temperature-unit |
option | str | K |
Unit of the temperature. | |
--pressure-unit |
option | str | bar(a) |
Unit of the pressure. | |
--json |
option | flag | The result as JSON. |
cheme process assay¶
Characterise the petroleum assays of process/assays.yaml into pseudocomponents (Riazi-Daubert, Lee-Kesler, Lastovka-Shaw; D86 converted to TBP by API 3A1.1) and print them with their identities and the characterisation fingerprint. An insufficient assay or one outside the correlations' range is refused (no pseudocomponents).
--pressure adds the bubble and dew temperatures, --temperature with --pressure a Peng-Robinson flash (kij = 0), each with why it lies outside the benchmarked claim. --fill records the characterisations in process/assay-characterization.json; --check reports a record made from other inputs or another method version. Exits 1 on an error (with --check also on a warning), 2 on a wrong call.
cheme process assay [OPTIONS] [ids]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ids |
argument | str | Assay ids (default: all). | ||
--fill |
option | flag | Record the characterisations. | ||
--check |
option | flag | Report a missing or stale record; write nothing. | ||
--prune |
option | flag | With --fill: drop entries of removed assays. | ||
--temperature |
option | float | Flash temperature, K (with --pressure). | ||
--pressure |
option | float | Flash pressure, kPa(a): bubble and dew points, or a flash at it. | ||
--json |
option | flag | The result as JSON. |
cheme process layout¶
Print the generated layout of a view; --pin writes it into flowsheet.yaml layout.<view> so later builds keep those positions.
cheme process layout [OPTIONS] [ids]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ids |
argument | str | Object ids to pin (default: every node). | ||
--view |
option | str | bfd |
bfd or pfd. | |
--pin |
option | flag | Write the positions as overrides into the flowsheet. |
cheme layout¶
3D layout: the plant model generated from layout/*.yaml, the lists and the P&IDs.
cheme layout [OPTIONS] COMMAND [ARGS]...
Subcommands: build, route, pin, render, report, cables, lifting
cheme layout build¶
Derive layout/plant-model.yaml: equipment parts from type and dimensions, nozzles from the P&IDs (point, direction, DN, lines), maintenance envelopes, steel structures, platforms, zones, the site geometry and a pipe route for every P&ID segment.
Prints the build's findings and the model rules (clashes, headroom, access, rack fill). Refuses while a layout file is invalid, and over a model edited by hand unless --force. A rebuild from the same inputs is byte-identical.
cheme layout build [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--check |
option | flag | Write nothing; exit 1 when the model is not up to date. | ||
--force / --no-force |
option | flag | Overwrite a model edited by hand since it was built. |
cheme layout route¶
Rebuild the model, routing only the given lines (the other pipes are kept from the committed model); without --line, the same as layout build.
cheme layout route [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--line |
option | str | Route only this line (repeatable); keep the other routes. | ||
--force / --no-force |
option | flag | Overwrite a model edited by hand since it was built. |
cheme layout pin¶
Copy a generated route (into piping/routing.yaml), a proposed platform (into the item's access: in layout/equipment-placement.yaml), a proposed stair or ladder (into its structure in layout/structures.yaml, or its rack in layout/site-plan.yaml) or the opening a wall penetration proposes (into its building's or enclosure's openings; a roof penetration is refused: route the line through a wall), proposed support steel (into pipe_supports) or a valve access platform (into structures, with the routes of its valves' pipes), so the next build keeps it.
cheme layout pin [OPTIONS] {target}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
target |
argument | str | yes | A line number, pipe id, TAG/platform-N, a proposed stair or ladder (S/stair-to-L, S/ladder-to-L, RACK/ladder-start|end), a wall penetration (OWNER/LINE), proposed support steel (PIPE/SP-<arc>) or a valve access platform (VP-<valve tag>). |
cheme layout render¶
Draw the committed model as build/layout-*.svg (or .png): the plot plan, a level plan or a section, with grid, tags, line numbers, north arrow, scale bar and title block.
cheme layout render [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--plan |
option | flag | A plan (plot plan by default). | ||
--level |
option | str | Level plan of a structure or building level id. | ||
--z |
option | str | Level plan of the z range A,B (m). | ||
--section |
option | str | A section at x=VALUE or y=VALUE (m). | ||
--depth |
option | float | 6.0 |
Section depth (m). | |
--crop |
option | str | X0,Y0,X1,Y1: site m (a section: along, z). | ||
--png |
option | flag | PNG (extra png) instead of SVG. |
cheme layout report¶
Routed and unrouted lines with the reasons, lengths per line, rack fill, the model rule findings, and the generated / pinned / declared counts of the committed model.
cheme layout report [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | The report as JSON. |
cheme layout cables¶
The cable schedule of the committed model: every cable from, to, size, trays, length (Markdown by default).
cheme layout cables [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | The schedule as CSV. | ||
--json |
option | flag | The schedule as JSON. | ||
--write |
option | flag | Write electrical/cable-schedule.csv and .md. | ||
--check |
option | flag | Exit 1 when the written schedule is not current. |
cheme layout lifting¶
The lifting study of the committed model: per heavy item its crane or pad, radius, load moment, capacity needed, lift and hook height, lane and laydown; checked against layout/crane-chart.yaml when there is one (Markdown by default).
cheme layout lifting [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | The study as CSV. | ||
--json |
option | flag | The study as JSON. | ||
--write |
option | flag | Write layout/lifting-study.csv and .md. | ||
--check |
option | flag | Exit 1 when the written study is not current. |
cheme assess¶
Assessment: the material take-off of the 3D model, the estimates, the LCA and the TEA.
cheme assess [OPTIONS] COMMAND [ARGS]...
Subcommands: mto, estimate, equipment, lca, lca-scenarios, lca-cases, lci-estimate, tea, lca-search, lca-map
cheme assess mto¶
The material take-off of layout/plant-model.yaml (Markdown by default): pipe by DN, class and insulation; elbows, tees, reducers, flanges; valves; steel tonnage; grating, insulation and concrete.
cheme assess mto [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | CSV, one row per quantity. | ||
--json |
option | flag | Rows, totals, findings and provenance as JSON. | ||
--write |
option | flag | Write estimate/mto.csv and estimate/mto.md. | ||
--check |
option | flag | Exit 1 when estimate/mto.csv or .md is not current. |
cheme assess estimate¶
The take-off priced with estimate/rates.yaml, then its factors (direct, indirect, contingency): Markdown by default. cheme holds no prices; every rate is the project's, with its status, source and year.
cheme assess estimate [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | CSV, one line per row and factor. | ||
--json |
option | flag | Lines, totals, findings and provenance as JSON. | ||
--write |
option | flag | Write estimate/estimate.csv and estimate/estimate.md. | ||
--check |
option | flag | Exit 1 when estimate/estimate.csv or .md is not current. |
cheme assess equipment¶
The equipment estimate from published cost correlations (Turton et al., CAPCOST): the purchased and bare module cost of every listed item, escalated by the project's cost index in estimate/cost-basis.yaml (Markdown by default).
cheme assess equipment [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | CSV, one line per item. | ||
--json |
option | flag | Lines, totals, findings and provenance as JSON. | ||
--write |
option | flag | Write estimate/equipment-cost.csv and estimate/equipment-cost.md. | ||
--check |
option | flag | Exit 1 when estimate/equipment-cost.csv or .md is stale. |
cheme assess lca¶
The LCA of the plant's operation per functional unit (Markdown by default): the flowsheet's feeds and products in the case of lca/lca.yaml, shared between the co-products, characterised with lca/factors.yaml (and the open profiles it includes) or a Brightway project. --inventory and --dataset alone need neither: the foreground is exported without a background database or credentials. Every exchange without a burden is a gap, never 0.
cheme assess lca [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | The impacts as CSV, one row per contributor. | ||
--inventory |
option | flag | The foreground inventory as CSV. | ||
--dataset |
option | flag | The unallocated LCI dataset (kind lci_dataset) as YAML. | ||
--coverage |
option | flag | How far the result can be read: the classification and its reasons, the gaps (exchanges without a burden), the sources, the limitations, the data quality rating (TfS DQR, PEF-style indicators, primary data share) and the water balance. Writes nothing. | ||
--balance |
option | flag | The mass, element (C, H, O, N, S, Cl, ...) and carbon-by-origin balance of the plant's LCI dataset and its energy closure: in, out and residual per quantity (kg per hour and %), the tolerance, and the exchanges excluded with their reasons (with --json: as JSON). Needs no factors or background. Writes nothing. | ||
--json |
option | flag | Inventory, impacts, findings and provenance as JSON. | ||
--write |
option | flag | Write lca/inventory.csv, results.csv, results.md, gaps.csv, the unallocated LCI dataset lca/dataset.yaml and the run manifest lca/manifest.json. | ||
--check |
option | flag | Exit 1 when one of the lca/ outputs is not current. | ||
--pact |
option | path | Write the product carbon footprint as a WBCSD PACT (Pathfinder) v2 ProductFootprint JSON to this file (needs carbon_accounting with pact: in lca/lca.yaml). | ||
--strict |
option | flag | Exit 1 when an exchange of the baseline or a scenario rests on an unpublished factor: an example factor, one ASSUMED, PROXY or ESTIMATE, or a gap (each named as the error cheme.lca-factor-status, with its factor status). | ||
--case |
option | str | With --dataset, --write or --check only: the unallocated LCI dataset of this flowsheet case instead of lca/lca.yaml's, its id, title and uuid naming the case; --write writes it to lca/datasets/<dataset id>-<case>.yaml, --check exits 1 when that file is stale. The case lca/lca.yaml studies is the same as no --case. |
cheme assess lca-scenarios¶
One machine-readable record per LCA scenario (a summary by default): its stable id <dataset>/<case>/<scenario>, the design case, the unallocated foreground, each exchange's background in the scenario (geography, year, status, source; linked, proxy, missing), the characterised totals per functional unit with the allocation, the gaps, warnings, publication policy and input fingerprints. A regional scenario changes the background only; only a scenario naming its own flowsheet case changes the foreground.
cheme assess lca-scenarios [OPTIONS] [ids]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
ids |
argument | str | Scenario ids of lca/lca.yaml (baseline included); default: all. | ||
--json |
option | flag | The records as one JSON object, by path. | ||
--write |
option | flag | Write lca/scenarios/<id>.json, one per scenario. | ||
--check |
option | flag | Exit 1 when a scenario record is not current. |
cheme assess lca-cases¶
Existing flowsheet cases side by side: each case's declared capacity and provenance, and each exchange per unit (kg, or kWh for an energy product) of the functional unit's product (unallocated). Only computed cases; nothing is scaled, and an exchange a case lacks is shown as missing, not 0.
cheme assess lca-cases [OPTIONS] [cases]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
cases |
argument | str | Flowsheet case ids; default: every case. | ||
--json |
option | flag | The comparison as JSON. |
cheme assess lci-estimate¶
A Tier 0 (stoichiometric) or Tier 1 (sourced conceptual) LCI dataset for a process without a flowsheet (YAML by default): from the reactions of process/reactions.yaml, the formulas of process/materials.yaml and the estimate's yield and selectivity, with every default exchange marked assumed and its rule cited. Refuses a dataset whose element balance does not close.
cheme assess lci-estimate [OPTIONS] [spec]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
spec |
argument | str | lca/estimate.yaml |
The estimate (kind lci_estimate), from the repository root. | |
--write |
option | flag | Write the dataset (default lca/datasets/<id>.yaml). | ||
--check |
option | flag | Exit 1 when the written dataset is not current. | ||
--compare |
option | flag | Compare the estimate with the repository's flowsheet (process/flowsheet.yaml), per kg of the product: the validation of a tier against a full design. | ||
--case |
option | str | The flowsheet case for --compare. | ||
--json |
option | flag | The dataset, its balance and the findings as JSON. |
cheme assess tea¶
The techno-economic analysis of the plant (Markdown by default): the capital cost built up from the estimate, the operating cost and revenue of the flowsheet's feeds and products, the discounted cash flow (NPV, IRR, LCOP, payback), scenarios, what dominates the outcome and what would change the decision. cheme holds no prices; every one is the project's, in estimate/tea.yaml with its status, source and year.
cheme assess tea [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--csv |
option | flag | The cash flow as CSV, one row per year. | ||
--sensitivity |
option | flag | Tornado and break-even values as CSV. | ||
--json |
option | flag | Premises, results, findings and provenance as JSON. | ||
--write |
option | flag | Write estimate/tea.md, tea-cashflow.csv, tea-sensitivity.csv and (with a Monte Carlo) tea-uncertainty.csv. | ||
--check |
option | flag | Exit 1 when one of the TEA outputs is not current. | ||
--compare |
option | str | Compare with the TEA at this revision (a temporary worktree): what the two do not share, then their results. |
cheme assess lca-search¶
Find activities and flows in the Brightway project (extra lca), printed as the activity: or biosphere: mapping to paste into lca/lca.yaml.
cheme assess lca-search [OPTIONS] {text}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
text |
argument | str | yes | Words of the activity's name or product. | |
--database |
option | str | Only this database of the project. | ||
--limit |
option | int | 20 |
At most this many. | |
--project |
option | str | Brightway project; default brightway.project of lca.yaml. |
cheme assess lca-map¶
The exchanges without a background (unmapped, or declared missing:) with candidate activities of the Brightway project (extra lca), numbered, with the query that found them. A dry run: it writes nothing unless --apply names the approved candidates, and then only their activity: mappings.
cheme assess lca-map [OPTIONS] [keys]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
keys |
argument | str | Only these exchanges (e.g. feed:POWER); default every open one. | ||
--query |
option | str | Search with this text instead of each exchange's name. | ||
--database |
option | str | Only this database of the project. | ||
--limit |
option | int range | 5 |
At most this many per exchange. | |
--project |
option | str | Brightway project; default brightway.project of lca.yaml. | ||
--apply |
option | str | KEY=N: write candidate N of KEY (as listed with the same --query, --database and --limit) as its activity: into lca/lca.yaml. Repeatable; needs --source. | ||
--source |
option | str | Why these mappings (their source: in lca/lca.yaml). |
cheme datasheets¶
Equipment datasheets: drafts, calculated sizes and dimensions, outline drawings.
cheme datasheets [OPTIONS] COMMAND [ARGS]...
Subcommands: draft, fill, drawing
cheme datasheets draft¶
Write a draft equipment/datasheets/<TAG>.yaml for every listed item without one: type, service, design conditions and material from the equipment list, dimensions, nozzles from the P&IDs, inlet and outlet conditions from the flowsheet streams linked to it; every value with its source, unknowns TBD, draft: true. Existing datasheets are never touched.
cheme datasheets draft [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--tag |
option | str | Only this item (repeatable). | ||
--dry-run |
option | flag | Print the drafts, write nothing. |
cheme datasheets fill¶
Fill the TBD sizes of the draft datasheets (draft: true) with calculated values and their basis: exchanger duty, LMTD and area; pump head, NPSH available and power; compressor and expander stages and power; column shortcut stages; vessel volume and residence time. A value the datasheet gives is never overwritten; what cannot be calculated stays TBD with the reason. The main dimensions and the empty weight come from the equipment list and the layout model (--dimensions: only those, final datasheets included).
cheme datasheets fill [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--tag |
option | str | Only this item (repeatable). | ||
--param |
option | str | NAME=VALUE: an assumption for every item without its own (repeatable), e.g. pump_efficiency=0.7; written ASSUMED. --list names them. | ||
--case |
option | str | Flowsheet case. | ||
--dimensions |
option | flag | Only the main dimensions and the empty weight the equipment list and the layout model state, into final datasheets too (never over a value written by hand). | ||
--dry-run |
option | flag | Print the filled drafts, write nothing. | ||
--list |
option | flag | List the parameters, the typical overall coefficients (u_service) and the pipe roughness rows, and exit. |
cheme datasheets drawing¶
The outline drawing of each datasheet, equipment/datasheets/<TAG>.svg: an elevation and a nozzle orientation view with the stated main dimensions, the nozzle schedule, weights, materials and a title block, generated from the datasheet (never edited by hand). Without an option, lists each drawing's state (current, stale, missing).
cheme datasheets drawing [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--tag |
option | str | Only this item (repeatable). | ||
--write |
option | flag | Write equipment/datasheets/<TAG>.svg where not current. | ||
--check |
option | flag | Exit 1 when a drawing is missing or not current. | ||
--print |
option | flag | Print the drawing (one --tag) and write nothing. |
cheme skills¶
The bundled skills installed in .claude/skills/: status and safe updates.
cheme skills [OPTIONS] COMMAND [ARGS]...
cheme skills status¶
Each bundled skill file as installed: current, outdated (an earlier bundled version), modified (changed locally) or missing.
cheme skills status [OPTIONS] [names]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
names |
argument | str | Skills (default: all). | ||
--json |
option | flag | Machine-readable. |
cheme skills update¶
Install the bundled version of missing and outdated skill files. A file changed locally is kept and reported (exit 1) unless --force.
cheme skills update [OPTIONS] [names]...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
names |
argument | str | Skills (default: all). | ||
--force / --no-force |
option | flag | Also replace files changed locally (they are still reported). |
cheme chemistry¶
Chemistry: component properties from databases and correlations.
cheme chemistry [OPTIONS] COMMAND [ARGS]...
Subcommands: props, thermo, kinetics, microkinetics, library, evidence
cheme chemistry props¶
Look up properties of one component; each line names the source of its value.
Without --source the web databases are asked (network). Exits 1 when a property was not found.
cheme chemistry props [OPTIONS] {component}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
component |
argument | str | yes | Name or CAS number, e.g. ethanol, 64-17-5. | |
--property / -p |
option | str | yes | Property to look up (repeat for several). | |
--temperature |
option | float | 298.15 |
Temperature. | |
--temperature-unit |
option | str | K |
Unit of --temperature. | |
--pressure |
option | float | 101325.0 |
Pressure. | |
--pressure-unit |
option | str | Pa |
Unit of --pressure. | |
--source |
option | str | Ask only these sources (PubChem, NIST, OSHA, Thermo, GRAPPA). | ||
--grappa-endpoint |
option | str | Base URL of a running GRAPPA service (last resort). | ||
--json |
option | flag | Results as JSON. |
cheme chemistry thermo¶
Ideal-gas formation data (dHf, S at 298.15 K, Cp/R polynomial) for process/materials.yaml.
Prints one ideal_gas: entry per component to paste into its components: line (extra props, offline). Exits 1 when a component is not known.
cheme chemistry thermo [OPTIONS] {components}...
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
components |
argument | str | yes | Names or CAS numbers. | |
--fit |
option | str | LO,HI in K: fit the heat capacity to thermo over this range (beyond 1000 K). | ||
--json |
option | flag | Results as JSON. |
cheme chemistry kinetics¶
Kinetics of an elementary gas-phase reaction from NIST (and RMG), reduced to one Arrhenius record, printed as a rate: entry for process/reactions.yaml (network).
The rate is a power law per volume on concentrations (kmol/m3), its A converted from SI moles. Exits 1 when no record is found.
cheme chemistry kinetics [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--reactant / -r |
option | str | yes | ID=NAME or ID=SMILES, a reactant (repeat). A formula that is also a SMILES (CO, NO) is refused: give a name, [C-]#[O+], or smiles:CO. | |
--product / -p |
option | str | ID=NAME or ID=SMILES, a product (repeat). A formula that is also a SMILES (CO, NO) is refused: give a name, [C-]#[O+], or smiles:CO. | ||
--tmin |
option | float | K; records must cover it (alone: the one temperature). | ||
--tmax |
option | float | K; records must cover it (alone: the one temperature). | ||
--rmg-endpoint |
option | str | Base URL of a running RMG service (else NIST only). | ||
--json |
option | flag | The record and rate as JSON. |
cheme chemistry microkinetics¶
A reaction's elementary steps at steady state (mean field): coverages, TOF, degree of rate control of every step, apparent activation energy and reaction orders.
cheme chemistry microkinetics [OPTIONS] {reaction}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
reaction |
argument | str | yes | A reaction id of process/reactions.yaml. | |
--temperature / -T |
option | float | yes | K | |
--pressure / -p |
option | str | yes | ID=BAR, a partial pressure (repeat). | |
--product |
option | str | The component whose TOF is analysed (default: first product). | ||
--cantera |
option | flag | Check the steady state with Cantera (extra cantera). | ||
--export |
option | path | Write the mechanism as a Cantera YAML input to this file. | ||
--json |
option | flag | As JSON. |
cheme chemistry library¶
The reaction library: industrial processes with their components (ideal-gas data, critical constants), reactions and typical catalysts. Without an id, list them; with one, show it; with --add, add it to process/materials.yaml, reactions.yaml and catalysts.yaml.
cheme chemistry library [OPTIONS] [entry]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
entry |
argument | str | An entry id (none: list them). | ||
--add |
option | flag | Add the entry's components, reactions and catalysts. | ||
--json |
option | flag | As JSON. |
cheme chemistry evidence¶
The route comparison of process/reaction-evidence.yaml: per route its sources and observations, the temperature, pressure, conversion, selectivity and yield reported (each kept apart), kinetics, conflicts, sources not read and gaps, then the model basis and the file's cheme.evidence-* findings. Exit 1 on an error finding.
cheme chemistry evidence [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | As JSON. |
cheme control¶
Control: the loop register, operating sequences, narrative and control philosophy.
cheme control [OPTIONS] COMMAND [ARGS]...
Subcommands: report
cheme control report¶
Write the loop summary (control-loops.html, .csv) and the sequence report (control-sequences.html), with each file's review status and the control findings.
cheme control report [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
-o |
option | path | Folder to write to (default: build/). | ||
--json |
option | flag | Print the report as JSON. |
cheme safety¶
Safety: HAZOP studies and their risk matrix.
cheme safety [OPTIONS] COMMAND [ARGS]...
Subcommands: hazop
cheme safety hazop¶
HAZOP studies in safety/hazop/<study-id>/study.yaml: start one, check it, look its bands up in the risk matrix, write its report, record its analysed inputs.
cheme safety hazop [OPTIONS] COMMAND [ARGS]...
Subcommands: init, check, rate, report, stamp, review
cheme safety hazop init¶
Start a draft study: safety/hazop/STUDY/study.yaml with the analysed inputs at their current revision and an empty worksheet. Refuses an existing study.
cheme safety hazop init [OPTIONS] {study}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | yes | The study id: its directory under safety/hazop/. | |
--title |
option | str | `` | The study's title. | |
--input |
option | str | A file or directory the study analyses (pid/P-01.xml, control/; repeat). A directory is recorded at the HEAD commit and must be committed. | ||
--matrix |
option | str | The risk matrix file (default safety/risk-matrix.yaml if it exists). |
cheme safety hazop check¶
The findings of the studies (as in cheme validate) and the state of each: invalid, draft, assessed or reviewed. Read-only; exits 1 when a study has errors.
cheme safety hazop check [OPTIONS] [study]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | The study id; none: every study. | ||
--json |
option | flag | As JSON. |
cheme safety hazop rate¶
Look up the band of each rating (category, severity, likelihood) in the study's risk matrix. Without --write nothing is written and the command exits 1 when a band is missing, stale or edited, or a rating cannot be looked up. --write records the bands (with the matrix and input fingerprint) and changes nothing else in the file.
cheme safety hazop rate [OPTIONS] {study}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | yes | The study id: its directory under safety/hazop/. | |
--target |
option | str | Only this node, deviation or scenario id (default: the whole study). | ||
--write |
option | flag | Record the bands (default: only check them). | ||
--json |
option | flag | As JSON. |
cheme safety hazop report¶
Write the study's report to build/hazop/STUDY.md and .html: state, analysed inputs, matrix, unresolved items, the worksheet with every rating and band, safeguards, actions, review status.
cheme safety hazop report [OPTIONS] {study}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | yes | The study id: its directory under safety/hazop/. | |
-o |
option | path | Directory (default build/; files in hazop/). |
cheme safety hazop stamp¶
Show the analysed inputs at their recorded and current revisions; --write records the current ones (sha256 of each file). Only once the team has reassessed what changed.
cheme safety hazop stamp [OPTIONS] {study}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | yes | The study id: its directory under safety/hazop/. | |
--input |
option | str | Add an analysed input (repeat). | ||
--write |
option | flag | Record the revisions. |
cheme safety hazop review¶
Prepare a review record (skill review's format) for the study: scope, basis (analysed inputs and matrix) and the open items. The reviewer is left empty: the record does not validate until a person fills it in.
cheme safety hazop review [OPTIONS] {study}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
study |
argument | str | yes | The study id: its directory under safety/hazop/. | |
--write |
option | flag | Write reviews/<today>-hazop-STUDY.md (default: print it). |
cheme experiments¶
Experiments: kinetic data, rate laws fitted to them, data sampled from a mechanism, measured electrochemical series.
cheme experiments [OPTIONS] COMMAND [ARGS]...
Subcommands: fit-rate, sample-mechanism, electrochem
cheme experiments fit-rate¶
Fit a rate law to kinetic data: the law as a rate: entry for process/reactions.yaml, each parameter with its standard error and 95 % interval, and the R^2 of ln r.
cheme experiments fit-rate [OPTIONS] {data}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
data |
argument | path | yes | A kinetic data file (cheme/kinetic-data/v1). | |
--form |
option | str | power_law |
power_law or lhhw. | |
--order |
option | str | Power law: a component with an order (repeat; default: the reactants). LHHW: ID=EXPONENT of the numerator. | ||
--adsorb |
option | str | LHHW: a component in the denominator (repeat). | ||
--power |
option | float | 1.0 |
LHHW: the denominator's exponent. | |
--reverse |
option | flag | Fit r / (1 - Q/K): the reaction is reversible. | ||
--json |
option | flag | As JSON. |
cheme experiments sample-mechanism¶
Sample a reaction's mechanism over a grid of conditions into a kinetic data file, to fit a rate law for a fixed bed with cheme experiments fit-rate.
cheme experiments sample-mechanism [OPTIONS] {reaction}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
reaction |
argument | str | yes | A reaction with a mechanism. | |
--temperature / -T |
option | float | yes | K (repeat). | |
--pressure / -p |
option | str | yes | ID=BAR,BAR,... partial pressures (repeat). | |
--sites-per-kg |
option | float | yes | kmol of active sites per kg of catalyst. | |
--out |
option | path | yes | The kinetic data file to write. | |
--product |
option | str | Default: the first product. |
cheme experiments electrochem¶
Process a measured electrochemical series: per replicate and point (mean, sd, n) the Faradaic efficiency of each product, partial current densities, the water dissociation efficiency from the anolyte titration, power, heat and the charge and carbon balances. Reads the file only (a plant repository is not needed); --plot writes polarisation, Faradaic efficiency, partial current density and water dissociation plots. Exit 1 on an error finding, 2 when the file does not exist.
cheme experiments electrochem [OPTIONS] {file}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
file |
argument | path | yes | A measurement file (cheme/electrochemical-measurements/v1). | |
--json |
option | flag | As JSON. | ||
--plot |
option | path | Write the SVG figures the data support into this directory. |
cheme data¶
Optional datasets: fetch them into the user data directory.
cheme data [OPTIONS] COMMAND [ARGS]...
cheme data fetch¶
Download (or read with --zip) an optional dataset, check it and install it.
chemsep-srk: ChemSep-LITE from http://www.chemsep.org/downloads/data/lite.zip (plain HTTP; the sha256 recorded for ChemSep-LITE 8.50 is checked), its ipd/srk.ipd converted to srk.json for the Redlich-Kwong-Soave flash. Its licence is not confirmed for redistribution, so cheme-as-code does not ship it. Exits 2 on a failed check.
cheme data fetch [OPTIONS] {dataset}
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
dataset |
argument | str | yes | Dataset: chemsep-srk. | |
--zip |
option | file | A local ChemSep-LITE lite.zip (offline); without it the archive is downloaded. | ||
--url |
option | str | Download from this URL instead. | ||
--sha256 |
option | str | Expected sha256 of the archive (default: the recorded release). | ||
--no-verify |
option | flag | Do not check the archive's sha256. | ||
--data-dir |
option | path | Install under this directory (default: $CHEME_DATA_DIR or the user data directory). |
cheme data status¶
Which optional datasets are installed, and where.
cheme data status [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--data-dir |
option | path | Look under this directory instead. |
cheme runs¶
Run records: one folder per design session in runs/ (start, record, list).
cheme runs [OPTIONS] COMMAND [ARGS]...
Subcommands: start, record, list
cheme runs start¶
Remember the start of a session (HEAD, branch, time, working tree) in build/run-records/<session_id>.start.json, for cheme runs record.
cheme runs start [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--hook |
option | flag | Claude Code SessionStart hook: read its JSON from stdin, never fail. | ||
--session-id |
option | str | The session id (without --hook; required then). |
cheme runs record¶
Write runs/<run-id>/ for one session: run.yaml (process-run/v1), task.md, report.md and session.jsonl.gz. Prints the run folder. A record that exists is never rewritten.
cheme runs record [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--hook |
option | flag | Claude Code SessionEnd hook: JSON from stdin, kind interactive, no checks, no commit, skipped when nothing changed, never fails. | ||
--session-id |
option | str | The Claude Code session id. | ||
--transcript |
option | path | The session transcript (.jsonl) instead of --session-id. | ||
--kind |
option | str | interactive |
agent, interactive or manual. | |
--slug |
option | str | Appended to the run id (e.g. the stage id). | ||
--task-file |
option | path | The task, copied to task.md. | ||
--report-file |
option | path | The session's report, copied to report.md. | ||
--cost |
option | float | USD as reported by the API (never an estimate). | ||
--budget |
option | float | The session's USD cap. | ||
--effort |
option | str | The reasoning effort it ran with. | ||
--result |
option | str | How it ended (Claude Code's result subtype: success, ...). | ||
--start-commit |
option | str | HEAD at the start, when no start file was written. | ||
--checks |
option | flag | Run cheme check and cheme maturity and record them. | ||
--commit |
option | flag | Commit the run folder alone (git commit -- runs/ID). | ||
--sdk-version |
option | str | Claude Agent SDK version, from a runner that uses it. | ||
--runner-name |
option | str | The external runner that ran the session. | ||
--runner-commit |
option | str | The runner's commit, when it knows one. | ||
--runner-dirty / --runner-clean |
option | flag | Whether the runner's checkout had changes. |
cheme runs list¶
One line per run record in runs/: run id, kind, cost, wall time, complete, turns. Read-only.
cheme runs list [OPTIONS]
| name | kind | type | required | default | help |
|---|---|---|---|---|---|
--json |
option | flag | Machine-readable. |