UNPKG

@pimzino/claude-code-spec-workflow

Version:

Automated workflows for Claude Code. Includes spec-driven development (Requirements → Design → Tasks → Implementation) with intelligent orchestration, optional steering documents and streamlined bug fix workflow (Report → Analyze → Fix → Verify). We have

158 lines (134 loc) 6.32 kB
# Implementation Plan ## Task Overview [Brief description of the implementation approach] ## Steering Document Compliance [How tasks follow structure.md conventions and tech.md patterns] ## Atomic Task Requirements **Each task must meet these criteria for optimal agent execution:** - **File Scope**: Touches 1-3 related files maximum - **Time Boxing**: Completable in 15-30 minutes - **Single Purpose**: One testable outcome per task - **Specific Files**: Must specify exact files to create/modify - **Agent-Friendly**: Clear input/output with minimal context switching ## Task Format Guidelines - Use checkbox format: `- [ ] Task number. Task description` - **Specify files**: Always include exact file paths to create/modify - **Include implementation details** as bullet points - Reference requirements using: `_Requirements: X.Y, Z.A_` - Reference existing code to leverage using: `_Leverage: path/to/file.ts, path/to/component.tsx_` - Focus only on coding tasks (no deployment, user testing, etc.) - **Avoid broad terms**: No "system", "integration", "complete" in task titles ## Good vs Bad Task Examples**Bad Examples (Too Broad)**: - "Implement authentication system" (affects many files, multiple purposes) - "Add user management features" (vague scope, no file specification) - "Build complete dashboard" (too large, multiple components) ✅ **Good Examples (Atomic)**: - "Create User model in models/user.py with email/password fields" - "Add password hashing utility in utils/auth.py using bcrypt" - "Create LoginForm component in components/LoginForm.tsx with email/password inputs" ## Tasks - [ ] 1. Create core interfaces in src/types/feature.ts - File: src/types/feature.ts - Define TypeScript interfaces for feature data structures - Extend existing base interfaces from base.ts - Purpose: Establish type safety for feature implementation - _Leverage: src/types/base.ts_ - _Requirements: 1.1_ - [ ] 2. Create base model class in src/models/FeatureModel.ts - File: src/models/FeatureModel.ts - Implement base model extending BaseModel class - Add validation methods using existing validation utilities - Purpose: Provide data layer foundation for feature - _Leverage: src/models/BaseModel.ts, src/utils/validation.ts_ - _Requirements: 2.1_ - [ ] 3. Add specific model methods to FeatureModel.ts - File: src/models/FeatureModel.ts (continue from task 2) - Implement create, update, delete methods - Add relationship handling for foreign keys - Purpose: Complete model functionality for CRUD operations - _Leverage: src/models/BaseModel.ts_ - _Requirements: 2.2, 2.3_ - [ ] 4. Create model unit tests in tests/models/FeatureModel.test.ts - File: tests/models/FeatureModel.test.ts - Write tests for model validation and CRUD methods - Use existing test utilities and fixtures - Purpose: Ensure model reliability and catch regressions - _Leverage: tests/helpers/testUtils.ts, tests/fixtures/data.ts_ - _Requirements: 2.1, 2.2_ - [ ] 5. Create service interface in src/services/IFeatureService.ts - File: src/services/IFeatureService.ts - Define service contract with method signatures - Extend base service interface patterns - Purpose: Establish service layer contract for dependency injection - _Leverage: src/services/IBaseService.ts_ - _Requirements: 3.1_ - [ ] 6. Implement feature service in src/services/FeatureService.ts - File: src/services/FeatureService.ts - Create concrete service implementation using FeatureModel - Add error handling with existing error utilities - Purpose: Provide business logic layer for feature operations - _Leverage: src/services/BaseService.ts, src/utils/errorHandler.ts, src/models/FeatureModel.ts_ - _Requirements: 3.2_ - [ ] 7. Add service dependency injection in src/utils/di.ts - File: src/utils/di.ts (modify existing) - Register FeatureService in dependency injection container - Configure service lifetime and dependencies - Purpose: Enable service injection throughout application - _Leverage: existing DI configuration in src/utils/di.ts_ - _Requirements: 3.1_ - [ ] 8. Create service unit tests in tests/services/FeatureService.test.ts - File: tests/services/FeatureService.test.ts - Write tests for service methods with mocked dependencies - Test error handling scenarios - Purpose: Ensure service reliability and proper error handling - _Leverage: tests/helpers/testUtils.ts, tests/mocks/modelMocks.ts_ - _Requirements: 3.2, 3.3_ - [ ] 4. Create API endpoints - Design API structure - _Leverage: src/api/baseApi.ts, src/utils/apiUtils.ts_ - _Requirements: 4.0_ - [ ] 4.1 Set up routing and middleware - Configure application routes - Add authentication middleware - Set up error handling middleware - _Leverage: src/middleware/auth.ts, src/middleware/errorHandler.ts_ - _Requirements: 4.1_ - [ ] 4.2 Implement CRUD endpoints - Create API endpoints - Add request validation - Write API integration tests - _Leverage: src/controllers/BaseController.ts, src/utils/validation.ts_ - _Requirements: 4.2, 4.3_ - [ ] 5. Add frontend components - Plan component architecture - _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_ - _Requirements: 5.0_ - [ ] 5.1 Create base UI components - Set up component structure - Implement reusable components - Add styling and theming - _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_ - _Requirements: 5.1_ - [ ] 5.2 Implement feature-specific components - Create feature components - Add state management - Connect to API endpoints - _Leverage: src/hooks/useApi.ts, src/components/BaseComponent.tsx_ - _Requirements: 5.2, 5.3_ - [ ] 6. Integration and testing - Plan integration approach - _Leverage: src/utils/integrationUtils.ts, tests/helpers/testUtils.ts_ - _Requirements: 6.0_ - [ ] 6.1 Write end-to-end tests - Set up E2E testing framework - Write user journey tests - Add test automation - _Leverage: tests/helpers/testUtils.ts, tests/fixtures/data.ts_ - _Requirements: All_ - [ ] 6.2 Final integration and cleanup - Integrate all components - Fix any integration issues - Clean up code and documentation - _Leverage: src/utils/cleanup.ts, docs/templates/_ - _Requirements: All_