# Improved-SDD
[](LICENSE)
[](https://www.python.org/)
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**
```bash
git clone <repository-url>
cd improved-sdd
```
2. **Install dependencies**
```bash
pip install -r requirements.txt
```
3. **Set up development environment**
```bash
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:
```bash
# 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:
```bash
pip install -r requirements.txt
```
3. Install pre-commit hooks:
```bash
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:
```bash
pre-commit install
```
Run manually on all files:
```bash
pre-commit run --all-files
```
#### Manual Tools
```bash
# 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
- [Typer Documentation](https://typer.tiangolo.com/)
- [Rich Documentation](https://rich.readthedocs.io/)
- [CLI Guidelines](https://clig.dev/)
- [Python CLI Development Guide](.github/instructions/python-cli-development.md)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "improved-sdd",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "spec-driven-development, ai, github-copilot, templates, cli, development-tools",
"author": null,
"author_email": "Robert Meisner <robert@catchit.pl>",
"download_url": "https://files.pythonhosted.org/packages/29/c1/d3ee1ec6cf39dab79e7866f190c49967a5f3abd5e6261364dc219934aa3b/improved_sdd-0.1.3.tar.gz",
"platform": null,
"description": "# Improved-SDD\r\n\r\n[](LICENSE)\r\n[](https://www.python.org/)\r\n\r\nA GitHub Copilot Studio project with Improved Spec-Driven Development templates for building high-quality Python CLI applications.\r\n\r\n## Features\r\n\r\n- **Spec-Driven Development**: Structured approach to software development with comprehensive specifications\r\n- **Python CLI Framework**: Built with Typer and Rich for modern, beautiful command-line interfaces\r\n- **Automated Code Quality**: Pre-commit hooks with Flake8, Black, isort, and mypy\r\n- **GitHub Copilot Integration**: Custom templates and instructions for AI-assisted development\r\n- **CI/CD Ready**: GitHub Actions workflow for automated testing and linting\r\n- **Cross-Platform**: Works on Windows, macOS, and Linux\r\n\r\n## Quick Start\r\n\r\n1. **Clone the repository**\r\n ```bash\r\n git clone <repository-url>\r\n cd improved-sdd\r\n ```\r\n\r\n2. **Install dependencies**\r\n ```bash\r\n pip install -r requirements.txt\r\n ```\r\n\r\n3. **Set up development environment**\r\n ```bash\r\n pip install pre-commit\r\n pre-commit install\r\n ```\r\n\r\n4. **Open in VS Code** and start developing with GitHub Copilot using the provided templates\r\n\r\n## Usage\r\n\r\n### CLI Commands\r\n\r\nThe project includes a CLI tool for managing spec-driven development projects:\r\n\r\n```bash\r\n# Initialize a new project\r\npython src/improved_sdd_cli.py init <project-name>\r\n\r\n# Delete a project (with confirmation)\r\npython src/improved_sdd_cli.py delete <project-name>\r\n\r\n# Get help\r\npython src/improved_sdd_cli.py --help\r\n```\r\n\r\n### Development Workflow\r\n\r\n1. Create a specification in `specs/`\r\n2. Use the CLI to initialize your project structure\r\n3. Develop following the spec-driven approach\r\n4. Commit changes (linting runs automatically)\r\n\r\n## Development Setup\r\n\r\n### Prerequisites\r\n\r\n- Python 3.8 or higher\r\n- VS Code with Python extension\r\n- Git\r\n\r\n### Installation\r\n\r\n1. Clone the repository\r\n2. Install dependencies:\r\n ```bash\r\n pip install -r requirements.txt\r\n ```\r\n\r\n3. Install pre-commit hooks:\r\n ```bash\r\n pip install pre-commit\r\n pre-commit install\r\n ```\r\n\r\n### Code Quality Tools\r\n\r\nThis project uses comprehensive linting and formatting tools:\r\n\r\n#### Automatic Linting (Pre-commit Hooks)\r\n\r\nPre-commit hooks run automatically on each commit. Install them with:\r\n\r\n```bash\r\npre-commit install\r\n```\r\n\r\nRun manually on all files:\r\n```bash\r\npre-commit run --all-files\r\n```\r\n\r\n#### Manual Tools\r\n\r\n```bash\r\n# Style guide enforcement\r\nflake8 src/ --max-line-length=120\r\n\r\n# Code formatting\r\nblack src/\r\n\r\n# Import sorting\r\nisort src/ --profile=black\r\n\r\n# Type checking\r\nmypy src/\r\n```\r\n\r\n#### VS Code Integration\r\n\r\nThe project includes optimized VS Code settings for:\r\n- Real-time linting with Flake8\r\n- Automatic formatting with Black on save\r\n- Import sorting\r\n- 120-character line ruler\r\n\r\n#### CI/CD\r\n\r\nGitHub Actions automatically runs quality checks on:\r\n- Pushes to main/develop branches\r\n- Pull requests\r\n\r\n## Project Structure\r\n\r\n```\r\nimproved-sdd/\r\n\u251c\u2500\u2500 src/ # Source code\r\n\u251c\u2500\u2500 specs/ # Project specifications\r\n\u251c\u2500\u2500 templates/ # Development templates\r\n\u251c\u2500\u2500 memory/ # Project memory and constitution\r\n\u251c\u2500\u2500 .github/ # GitHub templates and workflows\r\n\u251c\u2500\u2500 requirements.txt # Python dependencies\r\n\u251c\u2500\u2500 pyproject.toml # Project configuration\r\n\u251c\u2500\u2500 .pre-commit-config.yaml # Pre-commit hooks\r\n\u2514\u2500\u2500 .flake8 # Linting configuration\r\n```\r\n\r\n## Templates Available\r\n\r\n- **Chatmodes**: AI behavior patterns for different development scenarios\r\n- **Instructions**: Context-specific development guidance\r\n- **Prompts**: Structured prompts for AI interactions\r\n\r\n## Contributing\r\n\r\n1. Fork the repository\r\n2. Create a feature branch: `git checkout -b feature/your-feature`\r\n3. Make your changes and ensure tests pass\r\n4. Commit with pre-commit hooks: `git commit -m \"Add your feature\"`\r\n5. Push to your branch: `git push origin feature/your-feature`\r\n6. Create a Pull Request\r\n\r\n### Development Guidelines\r\n\r\n- Follow the spec-driven development approach\r\n- Write clear, documented code\r\n- Use type hints for better code quality\r\n- Run pre-commit hooks before committing\r\n- Update specifications for new features\r\n\r\n## Resources\r\n\r\n- [Typer Documentation](https://typer.tiangolo.com/)\r\n- [Rich Documentation](https://rich.readthedocs.io/)\r\n- [CLI Guidelines](https://clig.dev/)\r\n- [Python CLI Development Guide](.github/instructions/python-cli-development.md)\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Setup tool for Improved Spec-Driven Development projects with AI assistant templates",
"version": "0.1.3",
"project_urls": {
"Documentation": "https://github.com/robertmeisner/improved-sdd#readme",
"Homepage": "https://github.com/robertmeisner/improved-sdd",
"Issues": "https://github.com/robertmeisner/improved-sdd/issues",
"Repository": "https://github.com/robertmeisner/improved-sdd"
},
"split_keywords": [
"spec-driven-development",
" ai",
" github-copilot",
" templates",
" cli",
" development-tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8ee6510f78b1195cb889291381c73efba63451c2932efab013d670573f207959",
"md5": "71175c58a0c30c15ef1ae378c5a97fdb",
"sha256": "d8a074bd712e7b1055ca07d6edcfe18b51b0f489f3b9257745eae5c2a5ae146f"
},
"downloads": -1,
"filename": "improved_sdd-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "71175c58a0c30c15ef1ae378c5a97fdb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16868,
"upload_time": "2025-09-07T09:37:22",
"upload_time_iso_8601": "2025-09-07T09:37:22.830495Z",
"url": "https://files.pythonhosted.org/packages/8e/e6/510f78b1195cb889291381c73efba63451c2932efab013d670573f207959/improved_sdd-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "29c1d3ee1ec6cf39dab79e7866f190c49967a5f3abd5e6261364dc219934aa3b",
"md5": "f00732f54e6fdf0cf37d1b287855768e",
"sha256": "63078210fa5422bc9f3e08b2870bd68de5e3e60b109cd23327223198b03b1e19"
},
"downloads": -1,
"filename": "improved_sdd-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "f00732f54e6fdf0cf37d1b287855768e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 17423,
"upload_time": "2025-09-07T09:37:23",
"upload_time_iso_8601": "2025-09-07T09:37:23.796090Z",
"url": "https://files.pythonhosted.org/packages/29/c1/d3ee1ec6cf39dab79e7866f190c49967a5f3abd5e6261364dc219934aa3b/improved_sdd-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-07 09:37:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "robertmeisner",
"github_project": "improved-sdd#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "typer",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "platformdirs",
"specs": []
},
{
"name": "readchar",
"specs": []
},
{
"name": "httpx",
"specs": []
},
{
"name": "flake8",
"specs": [
[
">=",
"6.0.0"
]
]
},
{
"name": "black",
"specs": [
[
">=",
"23.0.0"
]
]
},
{
"name": "isort",
"specs": [
[
">=",
"5.12.0"
]
]
},
{
"name": "pre-commit",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "mypy",
"specs": [
[
">=",
"1.0.0"
]
]
}
],
"lcname": "improved-sdd"
}