01. Install, Credentials, and First Success

Inspect what Matcha discovered

Matcha CLI does not sync configuration from a product cloud. What the assistant will use is whatever this process discovers on disk for the current working directory: project instructions, permissions, hooks, skills, agents, plugins, MCP servers, LSP config, and config.toml layers.

matcha inspect is a one-shot report of that discovery. It does not start the TUI and it does not fetch managed or team configuration. matcha setup is unavailable.

What discovery walks

Discovery walks the current directory (and its git root when there is one) plus user-level ~/.matcha and, by default, compatibility trees from other tools:

KindTypical sourcesOrigin tag in the report
Rules / instructionsAGENTS.md, CLAUDE.md, .claude/rules/, .cursor/rules/[claude], [cursor], or none (native)
Skills / commands~/.matcha/skills/, repo skills, ~/.claude/skills/, ~/.cursor/skills/same
MCP~/.matcha config, .mcp.json, ~/.claude.json, .cursor/mcp.json[claude], [cursor]
Hooks.matcha / .claude/settings.json / Cursor hookssame

Each Claude / Cursor cell defaults to on. You turn a cell off in ~/.matcha/config.toml:

[compat.cursor]
skills = true
rules = true
agents = true
mcps = true
hooks = true
sessions = true   # staged; no scanner consumer yet

[compat.claude]
skills = true
rules = true
agents = true
mcps = true
hooks = true
sessions = true

Environment variables such as MATCHA_CURSOR_MCPS_ENABLED / MATCHA_CLAUDE_SKILLS_ENABLED override the matching cell (false disables that scan). Resolution is env > config.toml > default (on). Codex sessions is staged; Codex skills / rules / agents / mcps / hooks cells are reserved and inert.

inspect also reports folder trust. When the current project is not trusted, repo-local project hooks, plugins, and MCP/LSP entries are gated out of the listing the same way a live session would skip them. The human report prints Project trusted: yes or no.

Disabled or vendor-off entries are tagged [disabled]. Unresolved compat cells (rare; needs session-start resolution) show [compat unresolved] in human output and compatibilityStatus: "unresolved" in JSON. Skill name collisions look like [collides with /login → /acme:login].

Run inspect in the project directory

cd /path/to/your/project
matcha inspect

Human output is a tree (box-drawing ) with sections. A typical report includes:

  Environment
  └ Version: … [channel]
  └ CWD: …
  └ Git root: …          # omitted if not a git workdir
  └ Project trusted: yes

  Project Instructions
  └ <path> (project, ~N tokens) [cursor]

  Permissions
  └ Source: …
  └ N loaded, 0 skipped

  Login Policy
  └ disable_api_key_auth: (unset)
  └ force_login_team_uuid: …
  └ api_key_auth_disabled: false

  Skills
  Agents
  Plugins
  Marketplaces
  MCP Servers
  LSP Servers
  Hooks
  Config Sources
  Config schema
  Harness Compatibility
  └ cursor
      └ skills     on   (default)
      └ rules      OFF  (config)
  └ claude
      └ …

Harness Compatibility is the live [compat.cursor] / [compat.claude] / [compat.codex] matrix: each surface is on or OFF, with the winning source (default, config, env, or config error; fail closed).

Empty MCP lists still print a section. The current help line still says see grok mcp add --help — use matcha mcp add --help (same command, product name). That leftover string is a known mismatch, not a second CLI.

Machine-readable JSON

matcha inspect --json

Pretty-printed JSON of the same report. Use this in scripts. Do not commit the output if your tree contains pathnames you consider private; the report includes absolute cwd and instruction paths. Secrets in config export are redacted as [redacted].

Turn a compat scan off and re-check

Example: stop reading Cursor rules, then confirm the cell and the instruction list. In ~/.matcha/config.toml:

[compat.cursor]
rules = false
matcha inspect

You should see rules OFF (config) under cursor, and Cursor rule files tagged [disabled] (or omitted from the effective instruction set). Set the cell back to true (or delete it) to restore the default.

What inspect is not

CommandRole
matcha inspectDiscovery report for this directory
matcha doctorTerminal / clipboard / color / input support (see Diagnostics)
matcha setupUnavailable. Do not run it as a sync step. There is no managed configuration service

inspect only shows what would be discovered; it does not write config.