Glyph commands are non-interactive by default. Use --json for agent-friendly output.
glyph status --json
glyph graph --json
glyph work list --json
Successful commands use:
{"ok":true,"type":"status","data":{}}
Errors use:
{"ok":false,"error":{"code":"not_found","message":"work context not found"}}
Project defaults live in glyph.yaml.

Command Shape

Glyph uses a small number of nouns:
NounMeaning
workMutable work contexts for humans and agents.
publicationRecords of work merged into a realm.
remoteExport targets such as GitHub repositories.
mountFuture external source mounts.
hookLocal executable automation.
vizLocal mesh visualizer exports.
Several high-frequency commands live at the top level for agent ergonomics:
glyph read <work> <path> --json
glyph write <work> <path> --reason "why" --json < file
glyph diff <work> --json
glyph checkpoint <work> --message "milestone" --json
glyph publish <work> --to public --mode squash --json

Defaults

glyph.yaml stores default values that should not be repeated on every command. Current defaults cover Git compatibility generation and visualizer output:
defaults:
  export:
    git:
      gitignore: generated
      gitinclude: generated
  viz:
    export:
      out: .glyph/visualizer
Command flags still win when explicitly provided.

Exit Behavior

Commands return a non-zero exit code on failure. In JSON mode, agents should inspect both the process exit code and the response body:
{
  "ok": false,
  "error": {
    "code": "error",
    "message": "work context not found"
  }
}

Full Reference

See Command Reference for every command, flag, argument, and prototype status.