Languages and guards

Supported langspec languages, orch guard verbs, notify adapters, and installed hooks.

Languages, guards, notify, hooks

Generated by go run ./cmd/orch-docs. Each section names its source of truth in the code.

langspec languages#

Source: client/internal/langspec/catalog.json (embedded). 29 languages: c, cpp, csharp, dart, delphi, elixir, go, groovy, haskell, java, javascript, julia, kotlin, lua, objc, perl, php, powershell, python, r, ruby, rust, scala, shell, solidity, swift, typescript, vb, zig.

orch guard * verbs#

Source: the CLI reference (cli.md) — each verb's short description IS what it checks, read straight from client/internal/cli/cli_guard.go.

  • orch guard add-all — Deny blanket git add (-A/.) when cwd is a shared repo
  • orch guard artifacts — Deny disposable build junk (.dcu, .o, .exe, …) beside source
  • orch guard code-lang — Check code identifiers/strings against workspace.code_lang
  • orch guard comment — Deny if exported shared symbols lack a one-line purpose comment
  • orch guard control-bytes — Deny invisible control bytes in source (except tab/LF/CR)
  • orch guard ddl — Require seeder/repository companion for migration/CREATE TABLE changes
  • orch guard dup — Deny if file duplicates a shared symbol; report copied function bodies (clones)
  • orch guard encoding — Deny missing UTF-8 charset / mojibake in HTML and email templates
  • orch guard hooks — Install git pre-commit/pre-push hooks that run orch guard
  • orch guard hooks install — Write .git/hooks/pre-commit + pre-push (orch-marked)
  • orch guard hooks run — Run pre-commit checks on staged files (used by git hooks)
  • orch guard hooks status — Show whether orch git hooks are installed
  • orch guard hooks uninstall — Remove orch-marked pre-commit/pre-push hooks only
  • orch guard ide-hook — Internal: Claude/Cursor wire entry (soft-skip outside workshop)
  • orch guard lang — Check workshop docs against workspace.locale
  • orch guard lock — Deny if shared/** path has no valid lock for --holder
  • orch guard profile — Show or set guard.profile in orch.yaml
  • orch guard shared-brand — Deny product brand / products/ references inside shared layers
  • orch guard tracker — Validate TRACKER state table (T1–T4: status · SPEC · evidence · no prose)
  • orch guard unwire — Remove orch-marked IDE hooks (and optionally git hooks)
  • orch guard wire — Install marked git/Claude/Cursor adapters for this workshop

Notify adapters#

Source: client/internal/config.AgentNotify (full field reference in config.md) and its defaults, config.DefaultAgentNotifyConfigs(). Modes: http (single request or a steps chain), shell (cmd template), file (drop a rendered file at path), none.

preset mode
agy file
claude file
codex file
commandcode file
copilot file
cursor file
grok file
kimi file
mimo file
opencode http
zcode file

Hook events orch installs#

Source: grep of client/internal/harness/wire.go for the Claude Code hook event names it writes into .claude/settings.json.

  • PreToolUse
  • PostToolUse
  • PreCompact

PostToolUse and PreCompact are separate opt-in consent (context.hooks.post_tool / context.hooks.pre_compact — see config.md); PreCompact is what makes orch memory condense run automatically.