# features.md -- {{project_name}} ({{programming_language}})

This document defines **what** the `{{project_name}}` project does -- requirements, inputs, outputs, behavior -- without specifying **how** it is implemented. This is the source of truth for scope.

For a high-level concept (why), see [`concept.md`](concept.md). For implementation details (how), see [`tech-spec.md`](tech-spec.md). For a breakdown of the implementation plan (step-by-step tasks), see [`stories.md`](stories.md). For project-specific must-know facts that future LLMs need to avoid blunders, see [`project-essentials.md`](project-essentials.md). For the workflow steps tailored to the current mode (cycle steps, approval gates, conventions), see [`docs/project-guide/go.md`](../project-guide/go.md) — re-read it whenever the mode changes or after context compaction.

---

## Project Goal

{{project_goal}}

### Core Requirements

{{core_requirements}}

### Operational Requirements

{{operational_requirements}}

### Quality Requirements

{{quality_requirements}}

### Usability Requirements

{{usability_requirements}}

### Non-goals

{{non_goals}}

---

## Inputs

{{inputs}}

## Outputs

{{outputs}}

---

## Functional Requirements

{{functional_requirements}}

---

## Configuration

{{configuration}}

---

## Testing Requirements

{{testing_requirements}}

---

## Security and Compliance Notes

{{security_notes}}

---

## Performance Expectations

{{performance_expectations}}

---

## Acceptance Criteria

{{acceptance_criteria}}
