Skip to content
config

Configuration Reference

Complete reference for .sniper/config.yaml. Generated from the v3 config template.

Sections

project

Agent configuration

6 lines
yaml
project:
  name: ""
  type: ""           # saas | api | mobile | cli | library | monorepo
  description: ""

# Agent configuration

agents

Protocol routing — how /sniper-flow selects a protocol

27 lines
yaml
agents:
  max_teammates: 5
  plan_approval: true        # Require plan approval for implementation agents
  coordination_timeout: 30   # Seconds to wait for agent coordination

  # Base agents to include (from @sniper.ai/core/agents/)
  base:
    - lead-orchestrator
    - analyst
    - architect
    - product-manager
    - backend-dev
    - frontend-dev
    - qa-engineer
    - code-reviewer
    - gate-reviewer
    - retro-analyst
    - memory-curator

  # Cognitive mixins applied to agents during scaffolding
  # Format: agent-name: [mixin1, mixin2]
  mixins: {}
  # Example:
  #   backend-dev: [security-first, performance-focused]
  #   architect: [devils-advocate]

# Protocol routing — how /sniper-flow selects a protocol

routing

Trigger tables — map file patterns to agents or protocols Example: - pattern: "src/api/" agent: backend-dev - pattern: "*.test.ts" agent: qa-engineer - pattern: "infrastructure/" protocol: full

18 lines
yaml
routing:
  # File-count thresholds for auto-detection
  auto_detect:
    patch_max_files: 5       # <= 5 files changed → patch protocol
    feature_max_files: 20    # <= 20 files changed → feature protocol
    # > 20 files → full protocol

  # Default protocol when auto-detect is ambiguous
  default: feature

# Trigger tables — map file patterns to agents or protocols
# Example:
#   - pattern: "src/api/**"
#     agent: backend-dev
#   - pattern: "*.test.ts"
#     agent: qa-engineer
#   - pattern: "infrastructure/**"
#     protocol: full

triggers

Review configuration

3 lines
yaml
triggers: []

# Review configuration

review

File ownership boundaries

8 lines
yaml
review:
  multi_model: false           # Enable multi-model review for gate checks
  models:                      # Models to use when multi_model is enabled
    - opus
    - sonnet
  require_consensus: true      # All models must agree for a pass (false = majority wins)

# File ownership boundaries

ownership

Stack detection hints (auto-populated by sniper init)

26 lines
yaml
ownership:
  backend:
    - "src/backend/"
    - "src/api/"
    - "src/services/"
    - "src/db/"
  frontend:
    - "src/frontend/"
    - "src/components/"
    - "src/hooks/"
    - "src/styles/"
    - "src/pages/"
  infrastructure:
    - "docker/"
    - ".github/"
    - "infra/"
    - "scripts/"
  tests:
    - "tests/"
    - "__tests__/"
    - "*.test.*"
    - "*.spec.*"
  docs:
    - "docs/"

# Stack detection hints (auto-populated by `sniper init`)

stack

Plugin configuration

16 lines
yaml
stack:
  language: ""
  frontend: null
  backend: null
  database: null
  infrastructure: null
  test_runner: null
  package_manager: ""
  # Commands used by checklists and gate checks
  commands:
    test: ""
    lint: ""
    typecheck: ""
    build: ""

# Plugin configuration

plugins

  • name: typescript package: "@sniper.ai/plugin-typescript" Domain knowledge configuration (Feature 9) knowledge: directory: ".sniper/knowledge" manifest: "manifest.yaml" max_total_tokens: 50000 MCP Knowledge Base server (Feature 10) mcp_knowledge: enabled: false directory: ".sniper/knowledge" auto_index: true Headless / CI mode defaults (Feature 3) headless: auto_approve_gates: false output_format: json log_level: info timeout_minutes: 60 fail_on_gate_failure: true Workspace reference (Feature 1) workspace: ref: "../.sniper-workspace" Learning store configuration
29 lines
yaml
plugins: []
# - name: typescript
#   package: "@sniper.ai/plugin-typescript"

# Domain knowledge configuration (Feature 9)
# knowledge:
#   directory: ".sniper/knowledge"
#   manifest: "manifest.yaml"
#   max_total_tokens: 50000

# MCP Knowledge Base server (Feature 10)
# mcp_knowledge:
#   enabled: false
#   directory: ".sniper/knowledge"
#   auto_index: true

# Headless / CI mode defaults (Feature 3)
# headless:
#   auto_approve_gates: false
#   output_format: json
#   log_level: info
#   timeout_minutes: 60
#   fail_on_gate_failure: true

# Workspace reference (Feature 1)
# workspace:
#   ref: "../.sniper-workspace"

# Learning store configuration

learning

Visibility settings

8 lines
yaml
learning:
  max_per_retro: 5              # Cap learnings created per retro
  min_confidence: 0.4           # Threshold for composition into agent prompts
  composition_limit: 10         # Max learnings composed per agent
  staleness_threshold: 5        # Protocols without application before flagging
  archive_after_days: 180       # Days after deprecation before archiving

# Visibility settings

visibility

4 lines
yaml
visibility:
  live_status: true          # Maintain .sniper/live-status.yaml
  checkpoints: true          # Write phase checkpoints
  # auto_retro: true         # DEPRECATED — use retro phase in protocols instead

Full Template

148 lines
yaml
# SNIPER v3 Configuration
# Generated by `sniper init`

project:
  name: ""
  type: ""           # saas | api | mobile | cli | library | monorepo
  description: ""

# Agent configuration
agents:
  max_teammates: 5
  plan_approval: true        # Require plan approval for implementation agents
  coordination_timeout: 30   # Seconds to wait for agent coordination

  # Base agents to include (from @sniper.ai/core/agents/)
  base:
    - lead-orchestrator
    - analyst
    - architect
    - product-manager
    - backend-dev
    - frontend-dev
    - qa-engineer
    - code-reviewer
    - gate-reviewer
    - retro-analyst
    - memory-curator

  # Cognitive mixins applied to agents during scaffolding
  # Format: agent-name: [mixin1, mixin2]
  mixins: {}
  # Example:
  #   backend-dev: [security-first, performance-focused]
  #   architect: [devils-advocate]

# Protocol routing — how /sniper-flow selects a protocol
routing:
  # File-count thresholds for auto-detection
  auto_detect:
    patch_max_files: 5       # <= 5 files changed → patch protocol
    feature_max_files: 20    # <= 20 files changed → feature protocol
    # > 20 files → full protocol

  # Default protocol when auto-detect is ambiguous
  default: feature

# Trigger tables — map file patterns to agents or protocols
# Example:
#   - pattern: "src/api/**"
#     agent: backend-dev
#   - pattern: "*.test.ts"
#     agent: qa-engineer
#   - pattern: "infrastructure/**"
#     protocol: full
triggers: []

# Review configuration
review:
  multi_model: false           # Enable multi-model review for gate checks
  models:                      # Models to use when multi_model is enabled
    - opus
    - sonnet
  require_consensus: true      # All models must agree for a pass (false = majority wins)

# File ownership boundaries
ownership:
  backend:
    - "src/backend/"
    - "src/api/"
    - "src/services/"
    - "src/db/"
  frontend:
    - "src/frontend/"
    - "src/components/"
    - "src/hooks/"
    - "src/styles/"
    - "src/pages/"
  infrastructure:
    - "docker/"
    - ".github/"
    - "infra/"
    - "scripts/"
  tests:
    - "tests/"
    - "__tests__/"
    - "*.test.*"
    - "*.spec.*"
  docs:
    - "docs/"

# Stack detection hints (auto-populated by `sniper init`)
stack:
  language: ""
  frontend: null
  backend: null
  database: null
  infrastructure: null
  test_runner: null
  package_manager: ""
  # Commands used by checklists and gate checks
  commands:
    test: ""
    lint: ""
    typecheck: ""
    build: ""

# Plugin configuration
plugins: []
# - name: typescript
#   package: "@sniper.ai/plugin-typescript"

# Domain knowledge configuration (Feature 9)
# knowledge:
#   directory: ".sniper/knowledge"
#   manifest: "manifest.yaml"
#   max_total_tokens: 50000

# MCP Knowledge Base server (Feature 10)
# mcp_knowledge:
#   enabled: false
#   directory: ".sniper/knowledge"
#   auto_index: true

# Headless / CI mode defaults (Feature 3)
# headless:
#   auto_approve_gates: false
#   output_format: json
#   log_level: info
#   timeout_minutes: 60
#   fail_on_gate_failure: true

# Workspace reference (Feature 1)
# workspace:
#   ref: "../.sniper-workspace"

# Learning store configuration
learning:
  max_per_retro: 5              # Cap learnings created per retro
  min_confidence: 0.4           # Threshold for composition into agent prompts
  composition_limit: 10         # Max learnings composed per agent
  staleness_threshold: 5        # Protocols without application before flagging
  archive_after_days: 180       # Days after deprecation before archiving

# Visibility settings
visibility:
  live_status: true          # Maintain .sniper/live-status.yaml
  checkpoints: true          # Write phase checkpoints
  # auto_retro: true         # DEPRECATED — use retro phase in protocols instead