Skip to content

Comprehensive multi-language development workspace template optimized for AI-assisted programming with integrated quality tools, testing frameworks, and CI/CD automation.

License

Notifications You must be signed in to change notification settings

RichardZak70/AI-Development-Workspace

Repository files navigation

AI Development Workspace Template

This repo is currently being developed - as new projects that are being worked on are completed, any lessons, tools, etc learned will make their way to this repo. This repo uses other related public repos to create some of these files and comments. Where other people's work has been referenced, recognition of the author is stated where applicable.

Current repo's that have been reviewed and referenced -

Marc Christenfeldt - marcbln - https://github.com/marcbln?tab=repositories

This repo is being developed to become a comprehensive development workspace optimized for AI-assisted programming with integrated quality tools, testing frameworks, and automation.

CI/CD Pipeline Quality Gate Status License: MIT Python 3.11+

🌟 Features

πŸš€ Multi-Language Support

  • Python 3.11+ with advanced typing and modern practices
  • C/C++ with C11/C++17 standards and strict quality checks
  • Java 11+ with Maven/Gradle integration
  • C# .NET 6+ with modern async patterns

πŸ“Š Quality Assurance

  • Comprehensive Linting: Ruff, ESLint, Checkstyle, clang-tidy
  • Type Safety: MyPy, TypeScript, nullable reference types
  • Security Scanning: Bandit, SonarQube, Trivy
  • Code Coverage: pytest-cov, JaCoCo, coverlet
  • Static Analysis: SonarQube integration with cognitive complexity limits

πŸ€– AI Development Optimized

  • GitHub Copilot integration with workspace-specific instructions
  • Pre-configured prompts and context for AI tools
  • Template-based project generation
  • Quality-first approach to AI-generated code
  • Automated code review patterns

πŸ”§ Developer Experience

  • VS Code workspace with comprehensive language support
  • Automated setup scripts for new projects
  • Pre-commit hooks for quality enforcement
  • GitHub Actions CI/CD with multi-platform testing
  • Docker support for consistent environments

πŸš€ Quick Start

1. πŸ“Ž Clone the Template

# Use this template to create a new repository
gh repo create my-ai-project --template yourusername/ai-development-workspace
cd my-ai-project

# Or clone directly
git clone https://github.com/yourusername/ai-development-workspace.git
cd ai-development-workspace

2. πŸ’» Open in VS Code

code AI-Development-Workspace.code-workspace

3. βš™οΈ Setup Environment

# Python environment
python -m venv .venv
.venv\Scripts\Activate.ps1  # Windows
source .venv/bin/activate   # Linux/macOS
pip install -r requirements.txt

# Install pre-commit hooks
pre-commit install

# Verify setup
python scripts/setup_project.py --list-templates

4. πŸŽ† Create Your First Project

# Create a new Python AI project
python scripts/setup_project.py my-ai-app python
cd my-ai-app
code .

πŸ“š Project Structure

ai-development-workspace/
β”œβ”€β”€ πŸ’Ό .vscode/                    # VS Code configuration
β”‚   β”œβ”€β”€ settings.json              # Multi-language settings
β”‚   β”œβ”€β”€ tasks.json                 # Build and test tasks
β”‚   └── extensions.json            # Recommended extensions
β”œβ”€β”€ πŸ”„ .github/                    # GitHub configuration
β”‚   β”œβ”€β”€ workflows/ci.yml           # CI/CD pipeline
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/            # Issue templates
β”‚   β”œβ”€β”€ pull_request_template.md   # PR template
β”‚   └── copilot-instructions.md    # AI instructions
β”œβ”€β”€ πŸ“¦ templates/                  # Project templates
β”‚   β”œβ”€β”€ python/                    # Python project template
β”‚   β”œβ”€β”€ c-cpp/                     # C/C++ project template
β”‚   β”œβ”€β”€ java/                      # Java project template
β”‚   └── csharp/                    # C# project template
β”œβ”€β”€ πŸ› οΈ scripts/                    # Utility scripts
β”‚   └── setup_project.py           # Project generator
β”œβ”€β”€ πŸ“‹ pyproject.toml              # Python quality config
β”œβ”€β”€ πŸ” sonar-project.properties   # SonarQube config
β”œβ”€β”€ βš™οΈ .pre-commit-config.yaml     # Pre-commit hooks
β”œβ”€β”€ πŸ“¦ requirements.txt            # Python dependencies
└── πŸ“œ README.md                   # This file

🎯 Supported Languages & Features

Language πŸš€ Template βš™οΈ Build System πŸ“Š Testing πŸ” Linting πŸ”’ Security
Python βœ… pip/poetry pytest ruff, mypy bandit
C/C++ βœ… Make/CMake Google Test clang-tidy cppcheck
Java βœ… Maven/Gradle JUnit 5 Checkstyle SpotBugs
C# βœ… .NET CLI xUnit .NET analyzers Security analyzers

πŸ€– AI Development Features

πŸ’‘ GitHub Copilot Integration

  • Workspace-specific instructions in .github/copilot-instructions.md
  • Context-aware suggestions for each language
  • Quality-first prompting patterns
  • Template-aware code generation

🎯 Quality-Driven AI Assistance

# Example: AI-generated code with quality enforcement
def process_data(data: List[Dict[str, Any]]) -> ProcessedData:
    """Process input data with comprehensive error handling.
    
    Args:
        data: List of data dictionaries to process
        
    Returns:
        ProcessedData: Validated and transformed data
        
    Raises:
        ValidationError: If data format is invalid
    """
    if not data:
        raise ValueError("Input data cannot be empty")
    
    try:
        return ProcessedData.from_dict_list(data)
    except Exception as e:
        logger.error(f"Data processing failed: {e}")
        raise ProcessingError(f"Failed to process data: {e}") from e

πŸ“ˆ AI Code Quality Metrics

  • Cognitive Complexity: ≀15 per function
  • Type Coverage: 100% for new code
  • Documentation: All public APIs
  • Test Coverage: β‰₯80%
  • Security: Zero high/critical issues

πŸ› οΈ Usage Guide

πŸ”„ Creating New Projects

# List available templates
python scripts/setup_project.py --list-templates

# Create Python AI project
python scripts/setup_project.py my-ml-app python

# Create C++ systems project
python scripts/setup_project.py my-sys-app c-cpp

# Create Java web service
python scripts/setup_project.py my-api-app java

# Create C# desktop app
python scripts/setup_project.py my-gui-app csharp

πŸ“Š Running Quality Checks

# Python projects
ruff check .
ruff format .
mypy .
pytest --cov

# C/C++ projects
make analyze
make test

# Java projects
mvn checkstyle:check
mvn test

# C# projects
dotnet format --verify-no-changes
dotnet test

πŸ”’ Security Scanning

# Python security
bandit -r .
safety check

# Multi-language
pre-commit run --all-files
trivy fs .

πŸ”§ Configuration

βš™οΈ VS Code Settings

The workspace includes comprehensive settings for:

  • Multi-language formatting (Ruff, Prettier, clang-format)
  • Linting integration (real-time error detection)
  • Type checking (MyPy, TypeScript, C# nullable)
  • Debugging configuration (Python, C++, Java, C#)
  • AI assistance (Copilot, IntelliSense)

πŸ”„ CI/CD Pipeline

Automated workflows include:

  • Multi-platform testing (Ubuntu, Windows, macOS)
  • Language-specific builds (triggered by file changes)
  • Security scanning (Trivy, Bandit, SonarQube)
  • Quality gates (coverage, complexity, security)
  • Automated deployment (configurable)

πŸ”Œ Integration Examples

πŸ”— SonarQube Setup

# sonar-project.properties (auto-configured)
sonar.projectKey=my-ai-project
sonar.sources=.
sonar.exclusions=**/*test*/**,**/node_modules/**
sonar.python.version=3.11
sonar.cfamily.compile-commands=compile_commands.json

πŸ€– AI Tool Configuration

// .vscode/settings.json
{
  "github.copilot.enable": {
    "*": true,
    "markdown": true
  },
  "sonarlint.rules": {
    "python:S3776": {
      "level": "on",
      "parameters": { "threshold": "15" }
    }
  }
}

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Follow quality standards (pre-commit hooks will help)
  4. Add tests for new functionality
  5. Update documentation as needed
  6. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

🐞 Troubleshooting

Common Issues

Python Environment Issues

# Reset Python environment
rm -rf .venv
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Pre-commit Hook Failures

# Fix formatting issues automatically
ruff format .
pre-commit run --all-files

SonarQube Java Issues

# Ensure Java 11+ is installed
java -version
# Set JAVA_HOME if needed
export JAVA_HOME=/path/to/java

πŸ“œ Changelog

See CHANGELOG.md for version history and updates.

πŸ“ License

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

πŸ’¬ Support

πŸ”— Related Projects


✨ Built with ❀️ for AI-assisted development

Getting Started β€’ Documentation β€’ Support

Releases

No releases published

Packages

No packages published

Languages