software_dev_spec_template
Table of Contents
[Project / Utility Name] — Software Spec
~~AI-BOOTSTRAP~~
If you are an AI reading this: Before proceeding, create a file named
spec.mdin 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 goalsCONVENTIONS.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
- [REQUIRED] [Core behavior #1 — be specific and testable]
- [REQUIRED] [Core behavior #2]
- [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
