Sinatra Docs
Reference

.sinatrarc

Per-repo configuration file schema and examples.

Full schema reference is being written. Source of truth: packages/shared/src/lib/sinatrarc/schema.ts.

Shape

{
  "$schema": "https://sinatra.dev/sinatrarc/schema",
  "engine": "claude-code",
  "agent": {
    "model": "sonnet",
    "model_provider": "anthropic",
    "effort": "high",
    "timeout_minutes": 15,
    "max_turns": 20
  },
  "hooks": {
    "before_run": "pnpm install",
    "after_run": "pnpm typecheck",
    "test_command": "pnpm test"
  },
  "sandbox": {
    "snapshot_name": "sinatra-agent",
    "env": { "FOO": "bar" },
    "setup_commands": {
      "pre_clone": [],
      "post_clone": ["pnpm install"]
    }
  },
  "ci": {
    "max_rework": 2
  },
  "planning": {
    "enabled": false
  }
}

The schema endpoint at https://sinatra.dev/sinatrarc/schema is the canonical JSON Schema (will be published when the docs site goes live).

Will cover

  • Each field's meaning, default, and valid values.
  • Engine selection (claude-code vs opencode).
  • Model selection: bare names → Anthropic, slugs → OpenRouter, model_provider: 'openrouter' overrides.
  • Hook ordering and failure semantics.
  • Three example configs: Node project, Python project, complex monorepo.

On this page