Skip to content

Configuration

SpecForge is configured through environment variables. All configuration is optional — sensible defaults are provided.

Environment Variables

VariableDescriptionDefault
SDD_DATA_DIRPath where all spec data is stored (projects, templates, knowledge)./data
SDD_HOURLY_RATEDeveloper hourly rate in USD, used for cost estimation50
SDD_LOCALEDefault language for generated content (en, es, pt)en

Claude Desktop

Pass environment variables in the env section of your MCP server config:

json
// claude_desktop_config.json
{
  "mcpServers": {
    "specforge": {
      "command": "npx",
      "args": ["-y", "specforge-mcp@latest"],
      "env": {
        "SDD_DATA_DIR": "/Users/me/specforge-data",
        "SDD_HOURLY_RATE": "120",
        "SDD_LOCALE": "en"
      }
    }
  }
}

Shared data directory

If you work across multiple projects, point SDD_DATA_DIR to a stable directory outside your project folders. SpecForge stores per-project data under {SDD_DATA_DIR}/projects/{hash}/ — no collisions.

Claude Code

Set environment variables before adding the MCP server, or export them in your shell profile:

bash
# Option 1: inline when adding
SDD_HOURLY_RATE=120 claude mcp add specforge npx -y specforge-mcp@latest

# Option 2: in your shell profile
export SDD_HOURLY_RATE=120
export SDD_LOCALE=en

Locale

SpecForge supports three locales for generated spec content and messages:

CodeLanguage
enEnglish
esSpanish
ptPortuguese

You can also change locale at runtime without restarting:

Prompt: "Set locale to es"

This calls set_locale and immediately switches all subsequent generated content to Spanish.

Data Storage

All data is stored as JSON files locally — no cloud, no accounts, no telemetry.

{SDD_DATA_DIR}/
├── projects/
│   └── {hash}/          # One directory per project (hashed from project path)
│       ├── specs/        # All specs for this project
│       ├── metrics/      # Estimation and quality metrics
│       ├── patterns/     # Learned patterns
│       └── knowledge/    # Contributed context and documentation
└── global/
    ├── templates/        # Spec and PLAN.md templates
    └── pricing/          # Cost estimation data

Gitignore

Add your SDD_DATA_DIR to .gitignore if it's inside your project. The default ./data directory is typically project-specific and should not be committed.

Hourly Rate for Estimation

SDD_HOURLY_RATE is used by estimate to convert story point estimates into dollar cost ranges. Set it to your team's average blended rate for the most accurate estimates.

# Individual developer
SDD_HOURLY_RATE=80

# Agency rate
SDD_HOURLY_RATE=150

# Team blended rate
SDD_HOURLY_RATE=95