From d7b5e00a3d09db5f263245ec9bf4ff57a23bd74d Mon Sep 17 00:00:00 2001 From: AI Developer Date: Fri, 13 Mar 2026 01:16:57 -0400 Subject: [PATCH] fix: remove BDD references and DEVELOPMENT_WORKFLOW.md - Remove DEVELOPMENT_WORKFLOW.md from template - Rename tdd-bdd skill to tdd (TDD with descriptive naming) - Remove BDD/Gherkin references, keep test naming conventions - Remove docs/gen_pages.py feature file generator - Update all references in AGENTS.md, README.md, and skills --- .opencode/skills/template-test/SKILL.md | 2 - AGENTS.md | 13 +- CHANGELOG.md | 4 +- scripts/check_files.py | 1 - scripts/template_test.sh | 2 +- .../.opencode/agents/developer.md | 8 +- .../skills/feature-definition/SKILL.md | 9 +- .../.opencode/skills/pr-management/SKILL.md | 4 +- .../skills/{tdd-bdd => tdd}/SKILL.md | 12 +- {{cookiecutter.project_slug}}/AGENTS.md | 6 +- .../DEVELOPMENT_WORKFLOW.md | 316 ------------------ {{cookiecutter.project_slug}}/README.md | 12 +- .../docs/gen_pages.py | 21 -- 13 files changed, 33 insertions(+), 377 deletions(-) rename {{cookiecutter.project_slug}}/.opencode/skills/{tdd-bdd => tdd}/SKILL.md (96%) delete mode 100644 {{cookiecutter.project_slug}}/DEVELOPMENT_WORKFLOW.md delete mode 100644 {{cookiecutter.project_slug}}/docs/gen_pages.py diff --git a/.opencode/skills/template-test/SKILL.md b/.opencode/skills/template-test/SKILL.md index 1fbbdcd..5740012 100644 --- a/.opencode/skills/template-test/SKILL.md +++ b/.opencode/skills/template-test/SKILL.md @@ -66,7 +66,6 @@ test -d "${project_dir}/.opencode/skills" test -f "${project_dir}/pyproject.toml" test -f "${project_dir}/README.md" test -f "${project_dir}/AGENTS.md" -test -f "${project_dir}/DEVELOPMENT_WORKFLOW.md" ``` ### File Content Validation @@ -212,7 +211,6 @@ validate_project() { test -f "pyproject.toml" || { echo "❌ Missing pyproject.toml"; return 1; } test -f "README.md" || { echo "❌ Missing README.md"; return 1; } test -f "AGENTS.md" || { echo "❌ Missing AGENTS.md"; return 1; } - test -f "DEVELOPMENT_WORKFLOW.md" || { echo "❌ Missing DEVELOPMENT_WORKFLOW.md"; return 1; } # Check for unsubstituted variables if grep -r "{{cookiecutter" . --exclude-dir=venv 2>/dev/null; then diff --git a/AGENTS.md b/AGENTS.md index 2a62c0a..c6bba59 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,7 +7,7 @@ This is the meta repository for the AI-Enhanced Python Project Cookiecutter Temp | Information | Details | |-------------|---------| | **Purpose** | Create AI-enhanced Python projects with comprehensive development workflows | -| **AI Integration** | OpenCode agents and skills for TDD/BDD development | +| **AI Integration** | OpenCode agents and skills for TDD development | | **Quality Standards** | SOLID principles, object calisthenics, 100% coverage | | **Versioning** | Hybrid major.minor.calver for generated projects | | **Architecture** | Test-driven development with architect approval workflow | @@ -37,15 +37,14 @@ python-project-template/ │ │ └── skills/ │ │ ├── feature-definition/ # SOLID feature planning │ │ ├── prototype-script/ # Quick validation scripts -│ │ ├── tdd-bdd/ # Test-driven development +│ │ ├── tdd/ # Test-driven development │ │ ├── signature-design/ # Interface design │ │ ├── implementation/ # TDD implementation │ │ ├── code-quality/ # Quality enforcement │ │ ├── git-release/ # Release management │ │ └── pr-management/ # Pull request workflows │ ├── pyproject.toml # Project configuration -│ ├── AGENTS.md # Generated project AI documentation -│ └── DEVELOPMENT_WORKFLOW.md # 7-phase development guide +│ └── AGENTS.md # Generated project AI documentation ├── .opencode/ # Meta agents for template itself │ ├── agents/template-manager.md # This meta agent │ └── skills/ @@ -61,7 +60,7 @@ When developers use this template, they get: ### AI-Powered Development Workflow 1. **Feature Definition** → SOLID principles planning 2. **Prototype Validation** → Quick scripts with real data -3. **Test-Driven Development** → BDD tests with pytest/hypothesis +3. **Test-Driven Development** → TDD tests with pytest/hypothesis 4. **Signature Design** → Modern Python interfaces 5. **Architecture Review** → AI architect approval 6. **Implementation** → TDD methodology @@ -126,7 +125,7 @@ cookiecutter gh:your-username/python-project-template --checkout v1.2.20260312r1 - **@repo-manager**: Git operations, PRs, and themed releases ### Skills Included in Generated Projects -- **feature-definition**, **prototype-script**, **tdd-bdd** +- **feature-definition**, **prototype-script**, **tdd** - **signature-design**, **implementation**, **code-quality** - **git-release**, **pr-management** - **create-skill**, **create-agent** @@ -136,7 +135,7 @@ cookiecutter gh:your-username/python-project-template --checkout v1.2.20260312r1 # In a generated project @developer /skill feature-definition # Define new feature @developer /skill prototype-script # Create prototype -@developer /skill tdd-bdd # Write tests +@developer /skill tdd # Write tests @architect # Get design approval @developer /skill implementation # Implement feature @repo-manager /skill pr-management # Create PR diff --git a/CHANGELOG.md b/CHANGELOG.md index 238a337..e7561b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,10 @@ All notable changes to this template will be documented in this file. ### Added - **AI-Enhanced Development Workflow** - Complete OpenCode integration for AI-powered development -- **Developer Agent** - Main development agent with 7-phase TDD/BDD workflow +- **Developer Agent** - Main development agent with 7-phase TDD workflow - **Architect Agent** - Design review agent for SOLID principles and object calisthenics compliance - **Repository Manager Agent** - Git operations, PRs, and themed releases management -- **Development Skills** - feature-definition, prototype-script, tdd-bdd, signature-design, implementation, code-quality +- **Development Skills** - feature-definition, prototype-script, tdd, signature-design, implementation, code-quality - **Repository Skills** - git-release (hybrid calver versioning with themed releases), pr-management - **Meta Skills** - create-skill, create-agent for extending OpenCode - **Template Management** - template-manager agent, template-test, template-release skills diff --git a/scripts/check_files.py b/scripts/check_files.py index 44067c5..ea48e0e 100755 --- a/scripts/check_files.py +++ b/scripts/check_files.py @@ -8,7 +8,6 @@ "pyproject.toml", "README.md", "AGENTS.md", - "DEVELOPMENT_WORKFLOW.md", ".opencode/agents/developer.md", ".opencode/agents/architect.md", ".opencode/agents/repo-manager.md", diff --git a/scripts/template_test.sh b/scripts/template_test.sh index 6dd3d1b..f01aa99 100755 --- a/scripts/template_test.sh +++ b/scripts/template_test.sh @@ -92,7 +92,7 @@ validate_project() { # Structure validation local required_dirs=(".opencode" ".opencode/agents" ".opencode/skills" "tests" "docs") - local required_files=("pyproject.toml" "README.md" "AGENTS.md" "DEVELOPMENT_WORKFLOW.md") + local required_files=("pyproject.toml" "README.md" "AGENTS.md") for dir in "${required_dirs[@]}"; do if [ ! -d "$dir" ]; then diff --git a/{{cookiecutter.project_slug}}/.opencode/agents/developer.md b/{{cookiecutter.project_slug}}/.opencode/agents/developer.md index 66e3dec..5fd8e26 100644 --- a/{{cookiecutter.project_slug}}/.opencode/agents/developer.md +++ b/{{cookiecutter.project_slug}}/.opencode/agents/developer.md @@ -47,7 +47,7 @@ You are a specialized developer agent for the {{cookiecutter.project_name}} proj - `task static-check` - Run pyright type checker - `task doc-serve` - Serve documentation locally -## Development Workflow (TDD/BDD with Architecture Review) +## Development Workflow (TDD with Architecture Review) ### Phase 1: Feature Definition 1. Use `/skill feature-definition` to define requirements and acceptance criteria @@ -61,8 +61,8 @@ You are a specialized developer agent for the {{cookiecutter.project_name}} proj 4. Save prototype results for use in implementation ### Phase 3: Test-Driven Development -1. Use `/skill tdd-bdd` to create comprehensive test suite -2. Write tests using BDD naming conventions and real prototype data +1. Use `/skill tdd` to create comprehensive test suite +2. Write tests using descriptive naming conventions and real prototype data 3. Include unit, integration, and property-based tests with Hypothesis 4. Ensure tests fail initially (RED phase) @@ -94,7 +94,7 @@ You are a specialized developer agent for the {{cookiecutter.project_name}} proj ## Available Skills - **feature-definition**: Define features with SOLID principles - **prototype-script**: Create validation scripts for real data -- **tdd-bdd**: Write tests using BDD naming with pytest +- **tdd**: Write tests using descriptive naming with pytest - **signature-design**: Design modern Python interfaces - **implementation**: Implement using TDD methodology - **code-quality**: Enforce quality with ruff/coverage/hypothesis diff --git a/{{cookiecutter.project_slug}}/.opencode/skills/feature-definition/SKILL.md b/{{cookiecutter.project_slug}}/.opencode/skills/feature-definition/SKILL.md index 1795e06..07ea92a 100644 --- a/{{cookiecutter.project_slug}}/.opencode/skills/feature-definition/SKILL.md +++ b/{{cookiecutter.project_slug}}/.opencode/skills/feature-definition/SKILL.md @@ -25,11 +25,10 @@ Use this at the start of any new feature development to establish clear requirem - **Non-functional Requirements**: Performance, security, usability - **Constraints**: Technical or business limitations -### 3. Acceptance Criteria (BDD Style) -```gherkin -Given [initial context] -When [action is performed] -Then [expected outcome] +### 3. Acceptance Criteria +Define clear test scenarios using the naming convention: +``` +test_when_[condition]_should_[expected_outcome] ``` ### 4. Technical Specifications diff --git a/{{cookiecutter.project_slug}}/.opencode/skills/pr-management/SKILL.md b/{{cookiecutter.project_slug}}/.opencode/skills/pr-management/SKILL.md index d11f3a5..f4a9ad2 100644 --- a/{{cookiecutter.project_slug}}/.opencode/skills/pr-management/SKILL.md +++ b/{{cookiecutter.project_slug}}/.opencode/skills/pr-management/SKILL.md @@ -309,7 +309,7 @@ gh run view $(gh pr view 123 --json headRefOid --jq .headRefOid) # 1. Start feature development /skill feature-definition # Define requirements /skill prototype-script # Create prototype -/skill tdd-bdd # Write tests +/skill tdd # Write tests # 2. Create PR for design review git checkout -b feature/user-auth @@ -406,7 +406,7 @@ gh pr list --label "bug" --json number | \ ### Testing - [ ] Adequate test coverage - [ ] Tests are meaningful -- [ ] BDD naming conventions used +- [ ] Test naming conventions followed - [ ] Property-based tests where appropriate ### Documentation diff --git a/{{cookiecutter.project_slug}}/.opencode/skills/tdd-bdd/SKILL.md b/{{cookiecutter.project_slug}}/.opencode/skills/tdd/SKILL.md similarity index 96% rename from {{cookiecutter.project_slug}}/.opencode/skills/tdd-bdd/SKILL.md rename to {{cookiecutter.project_slug}}/.opencode/skills/tdd/SKILL.md index bdc2794..8a8d57a 100644 --- a/{{cookiecutter.project_slug}}/.opencode/skills/tdd-bdd/SKILL.md +++ b/{{cookiecutter.project_slug}}/.opencode/skills/tdd/SKILL.md @@ -1,6 +1,6 @@ --- -name: tdd-bdd -description: Implement Test-Driven Development with BDD-style naming and pytest best practices +name: tdd +description: Implement Test-Driven Development with descriptive naming conventions and pytest best practices license: MIT compatibility: opencode metadata: @@ -8,14 +8,14 @@ metadata: workflow: feature-development --- ## What I do -Guide the creation of tests using TDD methodology with BDD-style naming conventions, using pytest, coverage, and hypothesis for robust testing. +Guide the creation of tests using TDD methodology with descriptive naming conventions, using pytest, coverage, and hypothesis for robust testing. ## When to use me Use this after prototype validation to create comprehensive tests before implementing the actual feature code. -## TDD-BDD Process +## TDD Process -### 1. BDD Test Naming Convention +### 1. Test Naming Convention ```python def test_when_[condition]_should_[expected_outcome](): """Test that describes behavior clearly.""" @@ -243,7 +243,7 @@ class TestAuthService: ```python """ Tests for user authentication feature. -Following TDD-BDD approach with real prototype data. +Following TDD approach with real prototype data. """ import pytest import json diff --git a/{{cookiecutter.project_slug}}/AGENTS.md b/{{cookiecutter.project_slug}}/AGENTS.md index 74533c2..7210522 100644 --- a/{{cookiecutter.project_slug}}/AGENTS.md +++ b/{{cookiecutter.project_slug}}/AGENTS.md @@ -24,7 +24,7 @@ This project includes custom skills for OpenCode: ### Development Workflow - **feature-definition**: Define features with SOLID principles and clear requirements - **prototype-script**: Create quick validation scripts with real data capture -- **tdd-bdd**: Write comprehensive tests using BDD naming with pytest/hypothesis +- **tdd**: Write comprehensive tests using TDD with pytest/hypothesis - **signature-design**: Design modern Python interfaces with protocols and type hints - **implementation**: Implement using TDD methodology with real prototype data - **code-quality**: Enforce quality with ruff, coverage, and hypothesis testing @@ -39,7 +39,7 @@ This project includes custom skills for OpenCode: ## Available Agents -- **developer**: Main development agent with complete 7-phase TDD/BDD workflow +- **developer**: Main development agent with complete 7-phase TDD workflow - **architect**: Design review and approval agent for SOLID/object calisthenics compliance - **repo-manager**: Repository management for Git operations, PRs, commits, and releases @@ -126,7 +126,7 @@ Then run `/init` to generate a fresh `AGENTS.md` based on your project's current # 1. Define and implement a feature @developer /skill feature-definition @developer /skill prototype-script -@developer /skill tdd-bdd +@developer /skill tdd @developer /skill signature-design @architect # Review design @developer /skill implementation diff --git a/{{cookiecutter.project_slug}}/DEVELOPMENT_WORKFLOW.md b/{{cookiecutter.project_slug}}/DEVELOPMENT_WORKFLOW.md deleted file mode 100644 index 4d475c6..0000000 --- a/{{cookiecutter.project_slug}}/DEVELOPMENT_WORKFLOW.md +++ /dev/null @@ -1,316 +0,0 @@ -# Development Workflow Guide - -This document describes the comprehensive development workflow for {{cookiecutter.project_name}} following SOLID principles, object calisthenics, and Test-Driven Development with architecture review. - -## Overview - -The workflow follows a structured 7-phase approach ensuring high-quality, well-tested, and architecturally sound code: - -1. **Feature Definition** - Define requirements and acceptance criteria -2. **Prototype Validation** - Create quick scripts to validate concepts -3. **Test-Driven Development** - Write comprehensive tests first -4. **Signature Design** - Design clean interfaces and contracts -5. **Architecture Review** - Get approval from architect agent -6. **Implementation** - Implement using TDD methodology -7. **Quality Assurance** - Enforce quality standards - -## Phase 1: Feature Definition - -**Goal**: Establish clear requirements following SOLID principles. - -**Agent/Skill**: `/skill feature-definition` - -**Activities**: -- Define feature purpose and value proposition -- Create functional and non-functional requirements -- Write acceptance criteria in Given-When-Then format -- Plan for SOLID principles compliance -- Consider object calisthenics constraints - -**Output**: Feature definition document with clear requirements and acceptance criteria. - -**Example**: -``` -Feature: User Authentication API -Purpose: Secure user login system -Value: Protects user data and provides personalized experience - -Acceptance Criteria: -Given valid user credentials -When POST /auth/login is called -Then return 200 with JWT token and expiration -``` - -## Phase 2: Prototype Validation - -**Goal**: Validate core functionality with real data before proper implementation. - -**Agent/Skill**: `/skill prototype-script` - -**Activities**: -- Create quick and dirty scripts to test concepts -- Validate API responses, data parsing, file operations -- Capture real input/output examples -- Test edge cases and error conditions -- Save prototype results for implementation reference - -**Output**: Working prototype scripts and captured real data examples. - -**Directory Structure**: -``` -prototypes/ -├── feature_name_prototype.py -├── sample_responses/ -│ ├── api_response.json -│ └── error_response.json -└── test_data/ - └── sample_input.txt -``` - -## Phase 3: Test-Driven Development - -**Goal**: Create comprehensive test suite using BDD naming before implementation. - -**Agent/Skill**: `/skill tdd-bdd` - -**Activities**: -- Write tests using BDD naming conventions -- Use real data from prototype phase -- Include unit, integration, and property-based tests -- Organize tests with pytest markers -- Ensure tests fail initially (RED phase) - -**Test Categories**: -- `@pytest.mark.unit` - Unit tests for individual functions -- `@pytest.mark.integration` - Integration tests for component interaction -- `@pytest.mark.property` - Property-based tests with Hypothesis -- `@pytest.mark.smoke` - Basic functionality validation - -**Example**: -```python -def test_when_valid_email_provided_should_return_jwt_token(): - """Test JWT generation with valid email.""" - # Use real data from prototype - email = "user@example.com" - auth_service = AuthService() - - result = auth_service.generate_token(email) - - assert isinstance(result, AuthToken) - assert result.user_email == email -``` - -## Phase 4: Signature Design - -**Goal**: Design clean, type-safe interfaces using modern Python. - -**Agent/Skill**: `/skill signature-design` - -**Activities**: -- Create function and class signatures with complete type hints -- Design protocols instead of inheritance hierarchies -- Use dataclasses and value objects for data -- Write comprehensive Google-style docstrings -- Include real examples from prototype data -- Follow object calisthenics principles - -**Standards**: -- All functions have type hints and return types -- Use Protocol for interface definition -- Immutable data structures where possible -- One responsibility per class/function -- No primitive obsession - wrap in value objects - -**Example**: -```python -@dataclass(frozen=True, slots=True) -class AuthToken: - """Immutable authentication token.""" - token: str - expires_at: datetime - user_email: str - -def generate_auth_token( - user_email: str, - *, - expiry_hours: int = 24 -) -> AuthToken: - """Generate JWT authentication token. - - Example: - >>> token = generate_auth_token("user@example.com") - >>> token.token # Real length from prototype: 157 chars - 'eyJ0eXAiOiJKV1QiLCJhbGci...' - """ -``` - -## Phase 5: Architecture Review - -**Goal**: Ensure design meets architectural standards before implementation. - -**Agent**: `@architect` - -**Activities**: -- Present feature definition and design to architect agent -- Review SOLID principles compliance -- Validate object calisthenics adherence -- Check interface design and dependencies -- Address any architectural concerns - -**Approval Criteria**: -- ✅ SOLID principles followed -- ✅ Object calisthenics rules applied -- ✅ Clean interfaces and minimal dependencies -- ✅ Proper error handling design -- ✅ Testable architecture - -**Architecture Review Response**: -``` -## Architecture Review: Feature Name - -### ✅ APPROVED with suggestions -**Strengths**: Clean separation, proper protocols, immutable objects -**Suggestions**: Extract email validation, focus TokenProvider interface -**Implementation may proceed** - address suggestions in iteration -``` - -## Phase 6: Implementation - -**Goal**: Implement functionality using TDD methodology with architect-approved design. - -**Agent/Skill**: `/skill implementation` - -**Activities**: -- Implement one method/function at a time -- Use real data from prototype scripts -- Ensure tests pass after each method completion -- Follow exact signatures from design phase -- Maintain RED-GREEN-REFACTOR cycle - -**Implementation Strategy**: -1. Start with failing tests (RED) -2. Implement minimal code to pass tests (GREEN) -3. Refactor while keeping tests green (REFACTOR) -4. Use prototype data for validation -5. Run tests after each method - -**Quality Gates**: -- All related tests pass after each method -- Code coverage maintained at {{cookiecutter.minimum_coverage}}% -- No linting errors introduced -- Type checking passes - -## Phase 7: Quality Assurance - -**Goal**: Enforce comprehensive code quality standards. - -**Agent/Skill**: `/skill code-quality` - -**Activities**: -- Run ruff linting and formatting: `task lint` -- Execute type checking: `task static-check` -- Verify test coverage: `task test` -- Run property-based tests with Hypothesis -- Validate complexity limits (max 10) -- Check documentation completeness - -**Quality Standards**: -- **Coverage**: Minimum {{cookiecutter.minimum_coverage}}% -- **Complexity**: Maximum 10 per function -- **Type Safety**: All functions type-hinted -- **Documentation**: Google docstrings on all public functions -- **Testing**: Unit, integration, and property tests - -**Quality Commands**: -```bash -task lint # Linting and formatting -task static-check # Type checking -task test # Tests with coverage -task test-report # Detailed coverage report -task mut-report # Mutation testing (optional) -``` - -## Architectural Principles - -### SOLID Principles - -- **S**ingle Responsibility: Each class has one reason to change -- **O**pen/Closed: Open for extension, closed for modification -- **L**iskov Substitution: Derived classes must be substitutable -- **I**nterface Segregation: Clients shouldn't depend on unused methods -- **D**ependency Inversion: Depend on abstractions, not concretions - -### Object Calisthenics Rules - -1. Only one level of indentation per method -2. Don't use the ELSE keyword (use guard clauses) -3. Wrap all primitives and strings (value objects) -4. First class collections only (wrap in dedicated classes) -5. One dot per line (avoid chaining) -6. Don't abbreviate names (be explicit) -7. Keep all entities small (<50 lines per class) -8. No more than two instance variables per class -9. No getters/setters/properties (behavior-rich objects) - -## Example Complete Workflow - -```bash -# 1. Feature Definition -/skill feature-definition -# → Define user authentication feature - -# 2. Prototype Validation -/skill prototype-script -# → Create JWT prototype, capture real data - -# 3. Test-Driven Development -/skill tdd-bdd -# → Write comprehensive test suite - -# 4. Signature Design -/skill signature-design -# → Design AuthService, AuthToken interfaces - -# 5. Architecture Review -@architect -# → Review design, get approval - -# 6. Implementation -/skill implementation -# → Implement method by method with TDD - -# 7. Quality Assurance -/skill code-quality -# → Run all quality checks - -# Final validation -task lint && task static-check && task test -``` - -## Skills and Agents Reference - -### Available Skills -- **feature-definition**: Plan features with SOLID principles -- **prototype-script**: Quick validation scripts -- **tdd-bdd**: Test-driven development with BDD naming -- **signature-design**: Modern Python interface design -- **implementation**: TDD implementation methodology -- **code-quality**: Quality enforcement tools -- **create-skill**: Create new OpenCode skills -- **create-agent**: Create new OpenCode agents - -### Available Agents -- **@developer**: Main development agent with full workflow -- **@architect**: Architecture review and approval agent -- Primary OpenCode agents: Build, Plan, General, Explore - -## Quality Metrics - -- **Test Coverage**: {{cookiecutter.minimum_coverage}}% minimum -- **Cyclomatic Complexity**: Maximum 10 per function -- **Documentation**: Google docstrings required -- **Type Safety**: Complete type hints -- **Code Quality**: Ruff linting compliance -- **Architecture**: SOLID + Object Calisthenics compliance - -This workflow ensures maintainable, well-tested, and architecturally sound code that follows modern Python best practices and design principles. \ No newline at end of file diff --git a/{{cookiecutter.project_slug}}/README.md b/{{cookiecutter.project_slug}}/README.md index 7099937..cb57b53 100644 --- a/{{cookiecutter.project_slug}}/README.md +++ b/{{cookiecutter.project_slug}}/README.md @@ -9,7 +9,7 @@ > {{cookiecutter.project_short_description}} -**AI-Enhanced Python Project** built with enterprise-grade architecture, TDD/BDD workflows, and zero-config quality standards. +**AI-Enhanced Python Project** built with enterprise-grade architecture, TDD workflows, and zero-config quality standards. --- @@ -45,7 +45,7 @@ This project includes built-in AI agents to accelerate your development: @developer /skill prototype-script # Write comprehensive tests first (TDD) -@developer /skill tdd-bdd +@developer /skill tdd # Get architecture review before implementing @architect @@ -61,7 +61,7 @@ This project includes built-in AI agents to accelerate your development: - **🎯 SOLID Principles** - Single responsibility, dependency inversion, clean interfaces - **🔧 Object Calisthenics** - No primitives, small classes, behavior-rich objects -- **🧪 TDD/BDD Testing** - {{cookiecutter.minimum_coverage}}% coverage requirement with property-based tests +- **🧪 TDD Testing** - {{cookiecutter.minimum_coverage}}% coverage requirement with property-based tests - **⚡ Modern Toolchain** - UV, Ruff, PyTest, Hypothesis, PyRight - **🚀 Smart Releases** - Calver versioning with AI-generated themed names @@ -99,7 +99,7 @@ docker build --target prod -t {{cookiecutter.package_name}}:prod │ │ └── repo-manager.md # Release and PR management │ └── skills/ # Development skills │ ├── feature-definition/ # Requirements planning -│ ├── tdd-bdd/ # Test-driven development +│ ├── tdd/ # Test-driven development │ ├── implementation/ # Guided implementation │ └── code-quality/ # Quality enforcement ├── tests/ # Comprehensive test suite @@ -150,14 +150,12 @@ Built with AI-assisted development workflows: # Start a new feature @developer /skill feature-definition @developer /skill prototype-script -@developer /skill tdd-bdd +@developer /skill tdd @architect # Architecture review @developer /skill implementation @repo-manager /skill pr-management ``` -See [DEVELOPMENT_WORKFLOW.md](DEVELOPMENT_WORKFLOW.md) for the complete 7-phase development process. - ## 📄 License Distributed under the {{cookiecutter.license}} License. See [LICENSE](LICENSE) for details. diff --git a/{{cookiecutter.project_slug}}/docs/gen_pages.py b/{{cookiecutter.project_slug}}/docs/gen_pages.py deleted file mode 100644 index 3e04719..0000000 --- a/{{cookiecutter.project_slug}}/docs/gen_pages.py +++ /dev/null @@ -1,21 +0,0 @@ -"""This module generates readme and feature files for mkdocs. - -As part of the mkdocs-gen-file plugin, this module helps to automate -readme generation using the README file and feature pages using the feature -files if they do exist. -""" - -from pathlib import Path - -import mkdocs_gen_files - -docs_parent_dir = Path(__file__).parent.parent - -# Automagically injects README file into the documentation -readme_path = docs_parent_dir / "README.md" -if readme_path.exists(): - with Path.open(readme_path, "r") as r, mkdocs_gen_files.open( - "readme.md", "w" - ) as f: - f.write(r.read()) -