Skip to content

Configuration Reference

SuperSpec is configured through the superspec.config.json file. This document covers all configuration options in detail.

Configuration File Location

The configuration file is located in the project root:

your-project/
└── superspec.config.json

Complete Configuration Example

json
{
  "lang": "en",
  "aiEditor": "cursor",
  "specDir": "superspec",
  "branchPrefix": "",
  "branchTemplate": "{prefix}{intentType}-{date}-{feature}-{user}",
  "changeNameTemplate": "{prefix}{intentType}-{date}-{feature}-{user}",
  "boost": false,
  "strategy": "follow",
  "context": [
    ".cursor/rules/coding-style.mdc",
    "AGENTS.md",
    "docs/conventions.md"
  ],
  "templates": {
    "spec": "spec.md",
    "proposal": "proposal.md",
    "tasks": "tasks.md",
    "clarify": "clarify.md",
    "checklist": "checklist.md",
    "design": "design.md"
  },
  "archive": {
    "dir": "archive",
    "datePrefix": true
  },
  "limits": {
    "targetLines": 300,
    "hardLines": 400
  },
  "artifacts": ["proposal"],
  "boostArtifacts": ["proposal", "spec", "design", "tasks", "checklist"]
}

Configuration Options

lang

Language for templates and CLI prompts.

ValueDescription
"en"English (default)
"zh"Chinese
json
{
  "lang": "en"
}

aiEditor

AI editor type, used to install corresponding rules and commands.

ValueDescription
"cursor"Cursor (default)
"claude"Claude Code
"qwen"Qwen
"opencode"OpenCode
"codex"Codex
"codebuddy"CodeBuddy
"qoder"Qoder
json
{
  "aiEditor": "claude"
}

specDir

Spec directory name.

json
{
  "specDir": "superspec"
}

Directory structure:

your-project/
└── superspec/          # specDir
    ├── changes/        # Changes directory
    └── templates/      # Templates directory

branchPrefix

Git branch prefix.

json
{
  "branchPrefix": ""
}

branchTemplate

Git branch name template.

Available variables:

  • {prefix} - branchPrefix value
  • {intentType} - Intent type (feature/hotfix/bugfix/refactor/chore)
  • {feature} - Feature name
  • {date} - Date (YYYYMMDD)
  • {user} - Developer identifier
json
{
  "branchTemplate": "{prefix}{intentType}-{date}-{feature}-{user}"
}

Example output: feature-20240115-add-auth-jay

changeNameTemplate

Change folder name template. Uses the same variables as branchTemplate.

json
{
  "changeNameTemplate": "{prefix}{intentType}-{date}-{feature}-{user}"
}

Example output: feature-20240115-add-auth-jay

boost

Whether to enable Boost mode by default.

json
{
  "boost": false
}

strategy

Default strategy.

ValueDescription
"follow"Follow project rules (default)
"create"Can propose new approaches
json
{
  "strategy": "follow"
}

context

List of project rule files for AI to read.

json
{
  "context": [
    ".cursor/rules/coding-style.mdc",
    "AGENTS.md",
    "docs/conventions.md"
  ]
}

templates

Template file name mapping.

json
{
  "templates": {
    "spec": "spec.md",
    "proposal": "proposal.md",
    "tasks": "tasks.md",
    "clarify": "clarify.md",
    "checklist": "checklist.md",
    "design": "design.md"
  }
}

archive

Archive configuration.

FieldDescriptionDefault
dirArchive subdirectory name"archive"
datePrefixWhether to add date prefixtrue
json
{
  "archive": {
    "dir": "archive",
    "datePrefix": true
  }
}

limits

Artifact size limits.

FieldDescriptionDefault
targetLinesTarget maximum line count300
hardLinesHard maximum line count400
json
{
  "limits": {
    "targetLines": 300,
    "hardLines": 400
  }
}

artifacts

List of artifacts generated in Standard mode.

json
{
  "artifacts": ["proposal"]
}

boostArtifacts

List of artifacts generated in Boost mode.

json
{
  "boostArtifacts": ["proposal", "spec", "design", "tasks", "checklist"]
}

Configuration Overrides

Command-line arguments can override configuration file values:

bash
# Override lang
superspec create add-feature --lang en

# Override boost
superspec create add-feature -b

# Override branchPrefix
superspec create add-feature --branch-prefix hotfix/

Configuration Validation

SuperSpec validates the configuration file at startup:

  • Whether JSON format is correct
  • Whether field types match
  • Whether required fields exist

If the configuration file has issues, a warning is displayed and default values are used.

Released under the MIT License