Commands

GoldenCheck exposes a single top-level command with three subcommands. Passing a file directly (without a subcommand) is equivalent to scan.

Default shorthand

goldencheck data.csv [flags]

Equivalent to goldencheck scan data.csv [flags]. Useful for the interactive day-to-day workflow.


scan

Profile a data file and report findings. Does not require an existing goldencheck.yml.

goldencheck scan <file> [flags]

Examples:

# Launch interactive TUI
goldencheck scan data.csv

# Print to console, no TUI
goldencheck scan data.csv --no-tui

# JSON output (suitable for piping)
goldencheck scan data.csv --no-tui --json

# With LLM enhancement
goldencheck scan data.csv --llm-boost --no-tui

# Choose OpenAI instead of the default Anthropic provider
goldencheck scan data.csv --llm-boost --llm-provider openai --no-tui

validate

Validate a data file against pinned rules in goldencheck.yml. Exits with code 1 if violations are found at or above the configured fail_on severity.

goldencheck validate <file> [flags]

Requires an existing goldencheck.yml (or a path passed via --config). If no config is found, the command exits with an error.

Examples:

# Validate against goldencheck.yml in the current directory
goldencheck validate data.csv

# Use a specific config file
goldencheck validate data.csv --config configs/production.yml

# Validate with no TUI (CI use case)
goldencheck validate data.csv --no-tui

# JSON output for downstream processing
goldencheck validate data.csv --no-tui --json

review

Profile the file AND validate against existing rules, then launch the TUI for interactive review. This is the recommended command when iterating on a dataset that already has a config.

goldencheck review <file> [flags]

If no goldencheck.yml exists, review behaves like scan. When a config is found, validation findings take precedence over scan findings for the same column+check pair.

Examples:

# Standard review workflow
goldencheck review data.csv

# Review with LLM boost
goldencheck review data.csv --llm-boost

# Review with custom config path
goldencheck review data.csv --config configs/staging.yml

learn

Generate domain-specific validation rules using LLM analysis of your data.

goldencheck learn <file> [flags]

Sends a representative sample to an LLM which generates specific, testable rules: regex patterns, length constraints, value lists, and cross-column logic. Rules are saved to goldencheck_rules.json and automatically applied on future scans.

Examples:

# Generate rules using OpenAI
goldencheck learn data.csv --llm-provider openai

# Save rules to a custom path
goldencheck learn data.csv --output rules/production.json

Flags:

Flag Type Default Description
--output, -o path goldencheck_rules.json Output path for rules
--llm-provider <name> string anthropic LLM provider: anthropic or openai

Requires goldencheck[llm] installed and an API key in the environment.


mcp-serve

Start the MCP (Model Context Protocol) server for Claude Desktop integration.

goldencheck mcp-serve

Uses the stdio transport protocol. See MCP Server for full documentation and Claude Desktop setup.

Requires goldencheck[mcp] installed:

pip install goldencheck[mcp]

Flags

All flags are available on scan and review. validate supports --no-tui, --json, and --config.

Flag Type Default Description
--no-tui bool false Disable the interactive TUI and print Rich console output instead
--json bool false Output results as JSON to stdout. Implies --no-tui
--fail-on <level> string error Exit code 1 when findings at or above this severity exist. Values: error, warning
--llm-boost bool false Run an LLM enhancement pass after profiling
--llm-provider <name> string anthropic LLM provider to use. Values: anthropic, openai
--config <path> path goldencheck.yml Path to config file (validate and review only)
--verbose bool false Show INFO-level log messages
--debug bool false Show DEBUG-level log messages
--version, -V bool Print version and exit

Exit Codes

Code Meaning
0 Success — no violations at or above fail_on severity
1 Violations found at or above fail_on severity
2 Usage error (unknown flag, missing argument)

The exit code makes GoldenCheck usable in CI pipelines:

goldencheck validate data.csv --no-tui
echo "Exit code: $?"

Environment Variables

Variable Purpose Example
ANTHROPIC_API_KEY Anthropic API key for LLM boost sk-ant-...
OPENAI_API_KEY OpenAI API key for LLM boost sk-...
GOLDENCHECK_LLM_BUDGET Maximum USD spend per scan. Scan aborts LLM call if estimated cost exceeds this 0.50
GOLDENCHECK_LLM_MODEL Override the default model for the selected provider claude-sonnet-4-20250514

Default models

Provider Default model
anthropic claude-haiku-4-5-20251001
openai gpt-4o-mini

File Format Support

GoldenCheck reads the format based on the file extension:

Extension Format
.csv CSV
.tsv Tab-separated values
.parquet Apache Parquet
.xlsx, .xls Excel (requires openpyxl)

CI / Pipeline Integration

GitHub Actions example

- name: Validate data quality
  run: |
    pip install goldencheck
    goldencheck validate data/output.csv --no-tui --fail-on error

Pre-commit hook example

- repo: local
  hooks:
    - id: goldencheck
      name: GoldenCheck data validation
      entry: goldencheck validate
      args: [data/output.csv, --no-tui]
      language: system
      pass_filenames: false