Skip to main content

Setup tool for Improved Spec-Driven Development projects with AI assistant templates

Project description

Improved-SDD

License Python

A GitHub Copilot Studio project with Improved Spec-Driven Development templates for building high-quality Python CLI applications.

Features

  • Spec-Driven Development: Structured approach to software development with comprehensive specifications
  • Python CLI Framework: Built with Typer and Rich for modern, beautiful command-line interfaces
  • Automated Code Quality: Pre-commit hooks with Flake8, Black, isort, and mypy
  • GitHub Copilot Integration: Custom templates and instructions for AI-assisted development
  • CI/CD Ready: GitHub Actions workflow for automated testing and linting
  • Cross-Platform: Works on Windows, macOS, and Linux

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd improved-sdd
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Set up development environment

    pip install pre-commit
    pre-commit install
    
  4. Open in VS Code and start developing with GitHub Copilot using the provided templates

Usage

CLI Commands

The project includes a CLI tool for managing spec-driven development projects:

# Initialize a new project
python src/improved_sdd_cli.py init <project-name>

# Delete a project (with confirmation)
python src/improved_sdd_cli.py delete <project-name>

# Get help
python src/improved_sdd_cli.py --help

Development Workflow

  1. Create a specification in specs/
  2. Use the CLI to initialize your project structure
  3. Develop following the spec-driven approach
  4. Commit changes (linting runs automatically)

Development Setup

Prerequisites

  • Python 3.8 or higher
  • VS Code with Python extension
  • Git

Installation

  1. Clone the repository

  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Install pre-commit hooks:

    pip install pre-commit
    pre-commit install
    

Code Quality Tools

This project uses comprehensive linting and formatting tools:

Automatic Linting (Pre-commit Hooks)

Pre-commit hooks run automatically on each commit. Install them with:

pre-commit install

Run manually on all files:

pre-commit run --all-files

Manual Tools

# Style guide enforcement
flake8 src/ --max-line-length=120

# Code formatting
black src/

# Import sorting
isort src/ --profile=black

# Type checking
mypy src/

VS Code Integration

The project includes optimized VS Code settings for:

  • Real-time linting with Flake8
  • Automatic formatting with Black on save
  • Import sorting
  • 120-character line ruler

CI/CD

GitHub Actions automatically runs quality checks on:

  • Pushes to main/develop branches
  • Pull requests

Project Structure

improved-sdd/
├── src/                    # Source code
├── specs/                  # Project specifications
├── templates/              # Development templates
├── memory/                 # Project memory and constitution
├── .github/                # GitHub templates and workflows
├── requirements.txt        # Python dependencies
├── pyproject.toml         # Project configuration
├── .pre-commit-config.yaml # Pre-commit hooks
└── .flake8                # Linting configuration

Templates Available

  • Chatmodes: AI behavior patterns for different development scenarios
  • Instructions: Context-specific development guidance
  • Prompts: Structured prompts for AI interactions

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes and ensure tests pass
  4. Commit with pre-commit hooks: git commit -m "Add your feature"
  5. Push to your branch: git push origin feature/your-feature
  6. Create a Pull Request

Development Guidelines

  • Follow the spec-driven development approach
  • Write clear, documented code
  • Use type hints for better code quality
  • Run pre-commit hooks before committing
  • Update specifications for new features

Resources

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

improved_sdd-0.1.2.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

improved_sdd-0.1.2-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file improved_sdd-0.1.2.tar.gz.

File metadata

  • Download URL: improved_sdd-0.1.2.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for improved_sdd-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a30ad6afe454f29807fa1e2cf9654a74de9a10c727b76174d87d9d15073480a0
MD5 3fc2f38b10b31b64a0841d35b063b467
BLAKE2b-256 7b2dc785ac080a2cfe839b3e23febe280f3be7212854ed2faef7e03e97d8581d

See more details on using hashes here.

File details

Details for the file improved_sdd-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: improved_sdd-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for improved_sdd-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3dc582749eabd85aa8db379093fa7ebf633486d016f5ba3a8eeb601d2b6af997
MD5 9a9e5391b168d1ba6b270fd3e3e009a8
BLAKE2b-256 b206108f14dc7bad6b1cb17c69517a6f16defd51884b50cbe9719b0c345a1da5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page