Skip to content

Template Reference ​

SuperSpec uses template files to generate various artifacts. This document covers the structure and usage of all templates.

Template Location ​

Template files are located in the superspec/templates/ directory:

superspec/
└── templates/
    ├── proposal.md
    ├── spec.md
    ├── tasks.md
    ├── clarify.md
    ├── checklist.md
    └── design.md

Template Variables ​

All templates support the following variables:

VariableDescriptionExample
Change nameadd-user-auth
Creation date20240115
Boost mode enabledtrue / false
Strategyfollow / create
Change descriptionOAuth2 integration

proposal.md ​

Change proposal template, generated for all changes.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
status: draft
boost: {{boost}}
strategy: {{strategy}}
depends_on: []
---

# Change Proposal: {{name}}

## Overview

{{description}}

## Problem

[Describe the current problem or requirement]

## Solution

[Describe the proposed solution]

## Success Criteria

- [ ] Criterion 1
- [ ] Criterion 2

## Trade-offs

### Pros

-

### Cons

-

## Risks

-

## Timeline

-

Frontmatter Fields ​

FieldTypeDescription
namestringChange name
datestringCreation date
statusstringStatus (draft/ready/done)
boostbooleanBoost mode enabled
strategystringStrategy
depends_onarrayDependency list

spec.md (Boost Mode) ​

Detailed specification template with user stories, functional requirements, and acceptance criteria.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
status: draft
---

# Specification: {{name}}

## User Stories (US)

### US-1: [Title]

As a [role],
I want to [feature],
So that [benefit].

### US-2: [Title]

...

## Functional Requirements (FR)

### FR-1: [Title]

**Related US:** US-1

[Detailed description]

### FR-2: [Title]

...

## Acceptance Criteria (AC)

### AC-1: [Title]

**Related FR:** FR-1

- [ ] Condition 1
- [ ] Condition 2

### AC-2: [Title]

...

## Non-Functional Requirements

### Performance

-

### Security

-

### Usability

-

tasks.md ​

Task checklist template.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
status: draft
---

# Task Checklist: {{name}}

## Phase 1: [Phase Name]

### Task 1.1: [Task Title]

**Related:** AC-1

- Description: [Task description]
- Estimate: [Time estimate]
- Status: [ ] Not started

### Task 1.2: [Task Title] [P]

**Note:** [P] marker indicates this task can be executed in parallel with the previous task

...

## Phase 2: [Phase Name]

### Task 2.1: [Task Title]

...

## Verification

- [ ] All tasks complete
- [ ] Passes lint check
- [ ] Passes validate check

Parallel Marker ​

Use [P] to mark tasks that can be executed in parallel:

markdown
### Task 1.1: Create database model
### Task 1.2: Create API routes [P]
### Task 1.3: Create frontend components [P]

clarify.md ​

Clarification record template.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
---

# Clarification Record: {{name}}

## Question 1: [Question Title]

**Date raised:** [Date]

**Question description:**

[Detailed description]

**Decision:**

[Final decision]

**Reasoning:**

[Decision reasoning]

---

## Question 2: [Question Title]

...

checklist.md (Boost Mode) ​

Quality checklist template.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
status: draft
---

# Quality Checklist: {{name}}

## Code Quality

- [ ] Code follows project coding standards
- [ ] No lint errors
- [ ] No TypeScript type errors
- [ ] Code is properly commented

## Testing

- [ ] Unit tests cover key functionality
- [ ] Integration tests pass
- [ ] Edge cases tested

## Security

- [ ] No hardcoded credentials
- [ ] Input validated and sanitized
- [ ] No SQL injection risk
- [ ] No XSS risk

## Performance

- [ ] No obvious performance issues
- [ ] Database queries optimized
- [ ] No memory leaks

## Documentation

- [ ] API documentation updated
- [ ] README updated (if needed)
- [ ] Changelog updated

## Deployment

- [ ] Environment variables configured
- [ ] Database migration prepared
- [ ] Rollback plan prepared

design.md (Boost Mode) ​

Design document template.

Structure ​

markdown
---
name: {{name}}
date: {{date}}
status: draft
---

# Design Document: {{name}}

## Architecture Overview

[High-level architecture description]

## Component Design

### Component 1: [Name]

**Responsibilities:**

-

**Interface:**

```typescript
interface Component1 {
  // ...
}

Component 2: [Name] ​

...

Data Model ​

Entity 1: [Name] ​

FieldTypeDescription
idstringUnique identifier
.........

API Design ​

[POST] /api/resource ​

Request:

json
{
  "field": "value"
}

Response:

json
{
  "id": "...",
  "field": "value"
}

Technology Choices ​

TechnologyChoiceReasoning
.........

Risks and Mitigation ​

RiskMitigation
......

## Custom Templates

You can modify templates in `superspec/templates/` to suit your project needs. After modification, newly created changes will use the updated templates.

### Important Notes

1. Keep frontmatter format correct
2. Retain required variable placeholders
3. Running `superspec update` may overwrite templates

Released under the MIT License