Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e786a9df64 | ||
|
|
51b8459122 | ||
|
|
fa56dbd8b0 | ||
|
|
793e5176ef | ||
|
|
29eb082e2a | ||
|
|
7176d2dea3 | ||
|
|
6cade67360 | ||
|
|
c106281eff | ||
|
|
74ccf93512 | ||
|
|
decccc4e95 | ||
|
|
23c6bf1b71 | ||
|
|
f88f6c8c05 | ||
|
|
fd517699a4 | ||
|
|
c96f6e1a1b |
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -18,6 +18,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Get latest tag
|
- name: Get latest tag
|
||||||
id: get_tag
|
id: get_tag
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ At this stage, your project folder contents should resemble the following:
|
|||||||
│ ├── setup-plan.sh
|
│ ├── setup-plan.sh
|
||||||
│ └── update-claude-md.sh
|
│ └── update-claude-md.sh
|
||||||
├── specs
|
├── specs
|
||||||
│ └── 002-create-taskify
|
│ └── 001-create-taskify
|
||||||
│ └── spec.md
|
│ └── spec.md
|
||||||
└── templates
|
└── templates
|
||||||
├── CLAUDE-template.md
|
├── CLAUDE-template.md
|
||||||
@@ -260,7 +260,7 @@ The output of this step will include a number of implementation detail documents
|
|||||||
│ ├── setup-plan.sh
|
│ ├── setup-plan.sh
|
||||||
│ └── update-claude-md.sh
|
│ └── update-claude-md.sh
|
||||||
├── specs
|
├── specs
|
||||||
│ └── 002-create-taskify
|
│ └── 001-create-taskify
|
||||||
│ ├── contracts
|
│ ├── contracts
|
||||||
│ │ ├── api-spec.json
|
│ │ ├── api-spec.json
|
||||||
│ │ └── signalr-spec.md
|
│ │ └── signalr-spec.md
|
||||||
@@ -348,7 +348,7 @@ Once the implementation step is done, ask Claude Code to try to run the applicat
|
|||||||
If you're having issues with Git authentication on Linux, you can install Git Credential Manager:
|
If you're having issues with Git authentication on Linux, you can install Git Credential Manager:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
echo "Downloading Git Credential Manager v2.6.1..."
|
echo "Downloading Git Credential Manager v2.6.1..."
|
||||||
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
|
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Check that implementation plan exists and find optional design documents
|
# Check that implementation plan exists and find optional design documents
|
||||||
# Usage: ./check-task-prerequisites.sh [--json]
|
# Usage: ./check-task-prerequisites.sh [--json]
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Common functions and variables for all scripts
|
# Common functions and variables for all scripts
|
||||||
|
|
||||||
# Get repository root
|
# Get repository root
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Create a new feature with branch, directory structure, and template
|
# Create a new feature with branch, directory structure, and template
|
||||||
# Usage: ./create-new-feature.sh "feature description"
|
# Usage: ./create-new-feature.sh "feature description"
|
||||||
# ./create-new-feature.sh --json "feature description"
|
# ./create-new-feature.sh --json "feature description"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Get paths for current feature branch without creating anything
|
# Get paths for current feature branch without creating anything
|
||||||
# Used by commands that need to find existing feature files
|
# Used by commands that need to find existing feature files
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Setup implementation plan structure for current branch
|
# Setup implementation plan structure for current branch
|
||||||
# Returns paths needed for implementation plan generation
|
# Returns paths needed for implementation plan generation
|
||||||
# Usage: ./setup-plan.sh [--json]
|
# Usage: ./setup-plan.sh [--json]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
# Incrementally update agent context files based on new feature plan
|
# Incrementally update agent context files based on new feature plan
|
||||||
# Supports: CLAUDE.md, GEMINI.md, and .github/copilot-instructions.md
|
# Supports: CLAUDE.md, GEMINI.md, and .github/copilot-instructions.md
|
||||||
# O(1) operation - only reads current context file and new plan.md
|
# O(1) operation - only reads current context file and new plan.md
|
||||||
|
|||||||
@@ -34,13 +34,13 @@ The feedback loop extends beyond initial development. Production metrics and inc
|
|||||||
|
|
||||||
Three trends make SDD not just possible but necessary:
|
Three trends make SDD not just possible but necessary:
|
||||||
|
|
||||||
First, AI capabilities have reached a threshold where natural language specifications can reliably generate working code. This isn't about replacing developers—it's about amplifying their effectiveness by automating the mechanical translation from specification to implementation. It can amplify exploration and creativity, it can support "start-over" easily, it supports addition substraction and critical thinking.
|
First, AI capabilities have reached a threshold where natural language specifications can reliably generate working code. This isn't about replacing developers—it's about amplifying their effectiveness by automating the mechanical translation from specification to implementation. It can amplify exploration and creativity, it can support "start-over" easily, it supports addition subtraction and critical thinking.
|
||||||
|
|
||||||
Second, software complexity continues to grow exponentially. Modern systems integrate dozens of services, frameworks, and dependencies. Keeping all these pieces aligned with original intent through manual processes becomes increasingly difficult. SDD provides systematic alignment through specification-driven generation. Frameworks may eviolve to provide AI-first support, not human-first support, or architect around reusable components.
|
Second, software complexity continues to grow exponentially. Modern systems integrate dozens of services, frameworks, and dependencies. Keeping all these pieces aligned with original intent through manual processes becomes increasingly difficult. SDD provides systematic alignment through specification-driven generation. Frameworks may evolve to provide AI-first support, not human-first support, or architect around reusable components.
|
||||||
|
|
||||||
Third, the pace of change accelerates. Requirements change far more rapidly today than ever before. Pivoting is no longer exceptional—it's expected. Modern product development demands rapid iteration based on user feedback, market conditions, and competitive pressures. Traditional development treats these changes as disruptions. Each pivot requires manually propagating changes through documentation, design, and code. The result is either slow, careful updates that limit velocity, or fast, reckless changes that accumulate technical debt.
|
Third, the pace of change accelerates. Requirements change far more rapidly today than ever before. Pivoting is no longer exceptional—it's expected. Modern product development demands rapid iteration based on user feedback, market conditions, and competitive pressures. Traditional development treats these changes as disruptions. Each pivot requires manually propagating changes through documentation, design, and code. The result is either slow, careful updates that limit velocity, or fast, reckless changes that accumulate technical debt.
|
||||||
|
|
||||||
SDD can support what-if/simulation experiments, "If we need to re-implement of change the application to promote a business need to sell more T-shirts, how would we implement and experiment for that?".
|
SDD can support what-if/simulation experiments, "If we need to re-implement or change the application to promote a business need to sell more T-shirts, how would we implement and experiment for that?".
|
||||||
|
|
||||||
SDD transforms requirement changes from obstacles into normal workflow. When specifications drive implementation, pivots become systematic regenerations rather than manual rewrites. Change a core requirement in the PRD, and affected implementation plans update automatically. Modify a user story, and corresponding API endpoints regenerate. This isn't just about initial development—it's about maintaining engineering velocity through inevitable changes.
|
SDD transforms requirement changes from obstacles into normal workflow. When specifications drive implementation, pivots become systematic regenerations rather than manual rewrites. Change a core requirement in the PRD, and affected implementation plans update automatically. Modify a user story, and corresponding API endpoints regenerate. This isn't just about initial development—it's about maintaining engineering velocity through inevitable changes.
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Specify CLI - Setup tool for Specify projects
|
|||||||
Usage:
|
Usage:
|
||||||
uvx specify-cli.py init <project-name>
|
uvx specify-cli.py init <project-name>
|
||||||
uvx specify-cli.py init --here
|
uvx specify-cli.py init --here
|
||||||
|
|
||||||
Or install globally:
|
Or install globally:
|
||||||
uv tool install --from specify-cli.py specify-cli
|
uv tool install --from specify-cli.py specify-cli
|
||||||
specify init <project-name>
|
specify init <project-name>
|
||||||
|
|||||||
@@ -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.
|
3. Read the constitution at `/memory/constitution.md` to understand constitutional requirements.
|
||||||
|
|
||||||
4. Execute the implementation plan template:
|
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
|
- Set Input path to FEATURE_SPEC
|
||||||
- Run the Execution Flow (main) function steps 1-10
|
- Run the Execution Flow (main) function steps 1-10
|
||||||
- The template is self-contained and executable
|
- The template is self-contained and executable
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ Given the context provided as an argument, do this:
|
|||||||
2. Load and analyze available design documents:
|
2. Load and analyze available design documents:
|
||||||
- Always read plan.md for tech stack and libraries
|
- Always read plan.md for tech stack and libraries
|
||||||
- IF EXISTS: Read data-model.md for entities
|
- IF EXISTS: Read data-model.md for entities
|
||||||
- IF EXISTS: Read contracts/ for API endpoints
|
- IF EXISTS: Read contracts/ for API endpoints
|
||||||
- IF EXISTS: Read research.md for technical decisions
|
- IF EXISTS: Read research.md for technical decisions
|
||||||
- IF EXISTS: Read quickstart.md for test scenarios
|
- IF EXISTS: Read quickstart.md for test scenarios
|
||||||
|
|
||||||
Note: Not all projects have all documents. For example:
|
Note: Not all projects have all documents. For example:
|
||||||
- CLI tools might not have contracts/
|
- CLI tools might not have contracts/
|
||||||
- Simple libraries might not need data-model.md
|
- Simple libraries might not need data-model.md
|
||||||
|
|||||||
Reference in New Issue
Block a user