Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
decccc4e95 | ||
|
|
23c6bf1b71 | ||
|
|
36fbb85c65 | ||
|
|
f077e90a24 | ||
|
|
f88f6c8c05 | ||
|
|
fd517699a4 | ||
|
|
b4833cb7ea | ||
|
|
2fc7ebeebe | ||
|
|
b4b31f167c | ||
|
|
f3fb55d183 | ||
|
|
54c7f9c19b | ||
|
|
81fea96e42 |
@@ -207,7 +207,7 @@ At this stage, your project folder contents should resemble the following:
|
||||
│ ├── setup-plan.sh
|
||||
│ └── update-claude-md.sh
|
||||
├── specs
|
||||
│ └── 002-create-taskify
|
||||
│ └── 001-create-taskify
|
||||
│ └── spec.md
|
||||
└── templates
|
||||
├── CLAUDE-template.md
|
||||
@@ -260,7 +260,7 @@ The output of this step will include a number of implementation detail documents
|
||||
│ ├── setup-plan.sh
|
||||
│ └── update-claude-md.sh
|
||||
├── specs
|
||||
│ └── 002-create-taskify
|
||||
│ └── 001-create-taskify
|
||||
│ ├── contracts
|
||||
│ │ ├── api-spec.json
|
||||
│ │ └── signalr-spec.md
|
||||
|
||||
0
scripts/check-task-prerequisites.sh
Normal file → Executable file
0
scripts/check-task-prerequisites.sh
Normal file → Executable file
0
scripts/common.sh
Normal file → Executable file
0
scripts/common.sh
Normal file → Executable file
0
scripts/create-new-feature.sh
Normal file → Executable file
0
scripts/create-new-feature.sh
Normal file → Executable file
0
scripts/get-feature-paths.sh
Normal file → Executable file
0
scripts/get-feature-paths.sh
Normal file → Executable file
0
scripts/setup-plan.sh
Normal file → Executable file
0
scripts/setup-plan.sh
Normal file → Executable file
0
scripts/update-agent-context.sh
Normal file → Executable file
0
scripts/update-agent-context.sh
Normal file → Executable file
@@ -2,7 +2,7 @@
|
||||
|
||||
## The Power Inversion
|
||||
|
||||
For decades, code has been king. Specifications served code—they were the scaffolding we built and then discarded once the "real work" of coding began. We wrote PRDs to guide development, created design docs to inform implementation, drew diagrams to visualize architecture. But these were always subordinate to the code itself. Code was truth. Everything else was, at best, good intentions. Code was the source of truth, as it mvoed forward, and spec's rarely kept pace. As the asset (code) and the implementation are one, it's not easy to have a parallel implementation without trying to build from the code.
|
||||
For decades, code has been king. Specifications served code—they were the scaffolding we built and then discarded once the "real work" of coding began. We wrote PRDs to guide development, created design docs to inform implementation, drew diagrams to visualize architecture. But these were always subordinate to the code itself. Code was truth. Everything else was, at best, good intentions. Code was the source of truth, as it moved forward, and spec's rarely kept pace. As the asset (code) and the implementation are one, it's not easy to have a parallel implementation without trying to build from the code.
|
||||
|
||||
Spec-Driven Development (SDD) inverts this power structure. Specifications don't serve code—code serves specifications. The (Product Requirements Document-Specification) PRD isn't a guide for implementation; it's the source that generates implementation. Technical plans aren't documents that inform coding; they're precise definitions that produce code. This isn't an incremental improvement to how we build software. It's a fundamental rethinking of what drives development.
|
||||
|
||||
@@ -256,7 +256,7 @@ The constitution defines nine articles that shape every aspect of the developmen
|
||||
#### Article I: Library-First Principle
|
||||
Every feature must begin as a standalone library—no exceptions. This forces modular design from the start:
|
||||
```
|
||||
Every feature in Specify2 MUST begin its existence as a standalone library.
|
||||
Every feature in Specify MUST begin its existence as a standalone library.
|
||||
No feature shall be implemented directly within application code without
|
||||
first being abstracted into a reusable library component.
|
||||
```
|
||||
|
||||
@@ -813,12 +813,12 @@ def init(
|
||||
if selected_ai == "claude":
|
||||
steps_lines.append(f"{step_num}. Open in Visual Studio Code and start using / commands with Claude Code")
|
||||
steps_lines.append(" - Type / in any file to see available commands")
|
||||
steps_lines.append(" - Use /spec to create specifications")
|
||||
steps_lines.append(" - Use /specify to create specifications")
|
||||
steps_lines.append(" - Use /plan to create implementation plans")
|
||||
steps_lines.append(" - Use /tasks to generate tasks")
|
||||
elif selected_ai == "gemini":
|
||||
steps_lines.append(f"{step_num}. Use / commands with Gemini CLI")
|
||||
steps_lines.append(" - Run gemini /spec to create specifications")
|
||||
steps_lines.append(" - Run gemini /specify to create specifications")
|
||||
steps_lines.append(" - Run gemini /plan to create implementation plans")
|
||||
steps_lines.append(" - See GEMINI.md for all available commands")
|
||||
elif selected_ai == "copilot":
|
||||
@@ -868,4 +868,4 @@ def main():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
||||
@@ -19,7 +19,7 @@ Given the implementation details provided as an argument, do this:
|
||||
3. Read the constitution at `/memory/constitution.md` to understand constitutional requirements.
|
||||
|
||||
4. Execute the implementation plan template:
|
||||
- Load `/templates/implementation-plan-template.md` (already copied to IMPL_PLAN path)
|
||||
- Load `/templates/plan-template.md` (already copied to IMPL_PLAN path)
|
||||
- Set Input path to FEATURE_SPEC
|
||||
- Run the Execution Flow (main) function steps 1-10
|
||||
- The template is self-contained and executable
|
||||
|
||||
Reference in New Issue
Block a user