From d0c611806ee72ad6b59118570007413d4b22eb5e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 18:26:20 +0000 Subject: [PATCH 1/5] chore: bump version to v0.0.5 [skip ci] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b1e87c516..e9ddec475 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "specify-cli" -version = "0.1.3" +version = "0.0.5" description = "Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD)." requires-python = ">=3.11" dependencies = [ From 0ffa1880deb2931314a669299195e874b095100d Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:19:33 -0600 Subject: [PATCH 2/5] refactor: update documentation for interface contracts and integration patterns --- templates/commands/plan.md | 9 +++++---- templates/commands/specify.md | 2 +- templates/commands/tasks.md | 8 ++++---- templates/plan-template.md | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/templates/commands/plan.md b/templates/commands/plan.md index 147da0afa..00e83eabd 100644 --- a/templates/commands/plan.md +++ b/templates/commands/plan.md @@ -75,10 +75,11 @@ You **MUST** consider the user input before proceeding (if not empty). - Validation rules from requirements - State transitions if applicable -2. **Generate API contracts** from functional requirements: - - For each user action → endpoint - - Use standard REST/GraphQL patterns - - Output OpenAPI/GraphQL schema to `/contracts/` +2. **Define interface contracts** (if project has external interfaces) → `/contracts/`: + - Identify what interfaces the project exposes to users or other systems + - Document the contract format appropriate for the project type + - Examples: public APIs for libraries, command schemas for CLI tools, endpoints for web services, grammars for parsers, UI contracts for applications + - Skip if project is purely internal (build scripts, one-off tools, etc.) 3. **Agent context update**: - Run `{AGENT_SCRIPT}` diff --git a/templates/commands/specify.md b/templates/commands/specify.md index 3c952d683..5fd4489ee 100644 --- a/templates/commands/specify.md +++ b/templates/commands/specify.md @@ -235,7 +235,7 @@ When creating this spec from a user prompt: - Performance targets: Standard web/mobile app expectations unless specified - Error handling: User-friendly messages with appropriate fallbacks - Authentication method: Standard session-based or OAuth2 for web apps -- Integration patterns: RESTful APIs unless specified otherwise +- Integration patterns: Use project-appropriate patterns (REST/GraphQL for web services, function calls for libraries, CLI args for tools, etc.) ### Success Criteria Guidelines diff --git a/templates/commands/tasks.md b/templates/commands/tasks.md index d69d43763..f728c3adf 100644 --- a/templates/commands/tasks.md +++ b/templates/commands/tasks.md @@ -28,14 +28,14 @@ You **MUST** consider the user input before proceeding (if not empty). 2. **Load design documents**: Read from FEATURE_DIR: - **Required**: plan.md (tech stack, libraries, structure), spec.md (user stories with priorities) - - **Optional**: data-model.md (entities), contracts/ (API endpoints), research.md (decisions), quickstart.md (test scenarios) + - **Optional**: data-model.md (entities), contracts/ (interface definitions), research.md (decisions), quickstart.md (test scenarios) - Note: Not all projects have all documents. Generate tasks based on what's available. 3. **Execute task generation workflow**: - Load plan.md and extract tech stack, libraries, project structure - Load spec.md and extract user stories with their priorities (P1, P2, P3, etc.) - If data-model.md exists: Extract entities and map to user stories - - If contracts/ exists: Map endpoints to user stories + - If contracts/ exists: Map interface contracts to user stories - If research.md exists: Extract decisions for setup tasks - Generate tasks organized by user story (see Task Generation Rules below) - Generate dependency graph showing user story completion order @@ -112,12 +112,12 @@ Every task MUST strictly follow this format: - Map all related components to their story: - Models needed for that story - Services needed for that story - - Endpoints/UI needed for that story + - Interfaces/UI needed for that story - If tests requested: Tests specific to that story - Mark story dependencies (most stories should be independent) 2. **From Contracts**: - - Map each contract/endpoint → to the user story it serves + - Map each contract/interface → to the user story it serves - If tests requested: Each contract → contract test task [P] before implementation in that story's phase 3. **From Data Model**: diff --git a/templates/plan-template.md b/templates/plan-template.md index dd47efceb..5a2fafebe 100644 --- a/templates/plan-template.md +++ b/templates/plan-template.md @@ -22,7 +22,7 @@ **Storage**: [if applicable, e.g., PostgreSQL, CoreData, files or N/A] **Testing**: [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] **Target Platform**: [e.g., Linux server, iOS 15+, WASM or NEEDS CLARIFICATION] -**Project Type**: [single/web/mobile - determines source structure] +**Project Type**: [e.g., library/cli/web-service/mobile-app/compiler/desktop-app or NEEDS CLARIFICATION] **Performance Goals**: [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] **Constraints**: [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] **Scale/Scope**: [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] From 04921495e0145c24228a977b49fd54f39738e513 Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:26:31 -0600 Subject: [PATCH 3/5] Update pyproject.toml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e9ddec475..b1e87c516 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "specify-cli" -version = "0.0.5" +version = "0.1.3" description = "Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD)." requires-python = ">=3.11" dependencies = [ From 619894921c102260b47880f13aa896bd1acc2c6c Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:26:48 -0600 Subject: [PATCH 4/5] Update templates/commands/tasks.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- templates/commands/tasks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/commands/tasks.md b/templates/commands/tasks.md index f728c3adf..8a6e0729b 100644 --- a/templates/commands/tasks.md +++ b/templates/commands/tasks.md @@ -28,7 +28,7 @@ You **MUST** consider the user input before proceeding (if not empty). 2. **Load design documents**: Read from FEATURE_DIR: - **Required**: plan.md (tech stack, libraries, structure), spec.md (user stories with priorities) - - **Optional**: data-model.md (entities), contracts/ (interface definitions), research.md (decisions), quickstart.md (test scenarios) + - **Optional**: data-model.md (entities), contracts/ (interface contracts), research.md (decisions), quickstart.md (test scenarios) - Note: Not all projects have all documents. Generate tasks based on what's available. 3. **Execute task generation workflow**: From a93be425d22c3a06059c3d786953a22fc526ba60 Mon Sep 17 00:00:00 2001 From: Manfred Riem <15701806+mnriem@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:46:14 -0600 Subject: [PATCH 5/5] Update templates/commands/tasks.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- templates/commands/tasks.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/commands/tasks.md b/templates/commands/tasks.md index 8a6e0729b..7320b6f30 100644 --- a/templates/commands/tasks.md +++ b/templates/commands/tasks.md @@ -117,8 +117,8 @@ Every task MUST strictly follow this format: - Mark story dependencies (most stories should be independent) 2. **From Contracts**: - - Map each contract/interface → to the user story it serves - - If tests requested: Each contract → contract test task [P] before implementation in that story's phase + - Map each interface contract → to the user story it serves + - If tests requested: Each interface contract → contract test task [P] before implementation in that story's phase 3. **From Data Model**: - Map each entity to the user story(ies) that need it