User Tools

Site Tools


software_dev_spec_template

[Project / Utility Name] — Software Spec

~~AI-BOOTSTRAP~~

If you are an AI reading this: Before proceeding, create a file named
spec.md in the project root using the content below this front matter
as your source. Strip all AI-bootstrap comments from the generated file.
Ask no clarifying questions yet — create the spec file first, then prompt
the user for any missing fields marked [REQUIRED].
Context files to load for best output quality:
  • README.md — project overview and goals
  • CONVENTIONS.md — code style, naming, folder structure
  • Any existing related spec or design docs
Hints for filling out this spec with AI:
  • Be explicit about what the tool does NOT do (scope boundaries matter)
  • Paste error messages or example input/output if you have them
  • State your target language/runtime upfront — don't assume
  • If unsure about a section, write “TBD” — don't skip it

~~END-AI-BOOTSTRAP~~


Overview

One-sentence purpose: [What does this utility do and for whom?]

Problem it solves: [What manual step, gap, or pain point does this replace?]

Primary user: [Who runs this — developer, end user, CI system, etc.]


Goals & Non-Goals

Goals:

  • [Goal 1]
  • [Goal 2]

Non-Goals (explicitly out of scope):

  • [What this will NOT do]

Inputs & Outputs

Item Description Format / Example
Input(s) [What goes in] [file, stdin, API, flag]
Output(s) [What comes out] [file, stdout, JSON, etc]
Side effects [DB write, log, email, etc] [if any]
AI hint: Paste a real example of input and expected output here if possible — it dramatically improves generated code accuracy.

Functional Requirements

  1. [REQUIRED] [Core behavior #1 — be specific and testable]
  2. [REQUIRED] [Core behavior #2]
  3. [Add more as needed]

Non-Functional Requirements

  • Performance: [Latency target, throughput, file size limits]
  • Platform: [OS, runtime, language version]
  • Dependencies: [Libraries, tools, services allowed]
  • Security / Auth: [Any credentials, secrets, permissions needed]

Error Handling

Condition Expected Behavior
Invalid input [Fail with message? Skip? Prompt?]
Missing dependency [Exit code, error text]
Partial failure [Continue? Rollback? Log and continue?]

Configuration

How is the utility configured? (Check all that apply and describe)

  • [ ] CLI flags/args — [list key flags]
  • [ ] Config file — [format and location]
  • [ ] Environment variables — [list key vars]
  • [ ] None / hardcoded defaults

Tech Stack

  • Language: [Python / JS / Bash / etc.]
  • Runtime: [Node 20 / Python 3.11 / etc.]
  • Key libraries: [if known]
  • Build / package tool: [npm / pip / cargo / etc.]
AI hint: If you want the AI to choose the stack, delete this section and say so in the Overview.

Testing

  • Test approach: [Unit / integration / manual / none]
  • Test framework: [pytest / jest / etc.]
  • Key scenarios to test: [Happy path, edge cases, failure modes]

Open Questions

  • [Question 1 — things still undecided]
  • [Question 2]

Change Log

Date Author Change
YYYY-MM-DD [Name] Initial draft
software_dev_spec_template.txt · Last modified: by smickster

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki