Skip to content

tcanter/CopilotFlow-Dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CopilotFlow - Multi-Language AI Development Toolkit

πŸš€ AI-Powered Development Starter Kit with Multi-Language Support

CopilotFlow is an intelligent development toolkit that supports JavaScript, Python, and PowerShell projects with AI-enhanced automation, documentation generation, code analysis, and daily workflow optimization.

✨ Features

Documentation

Run interactive setup

npm run setup


During setup, you'll choose:

- **Primary language**: JavaScript, Python, or PowerShell
- **Project type**: Web app, API, CLI tool, automation script, etc.
- **AI provider**: OpenAI, Azure OpenAI, Anthropic, or local model
- **Development tools**: Language-specific linters, formatters, and test frameworks

### 2. Language-Specific Configuration

#### JavaScript Projects

```bash
# The setup will create:
# - package.json with appropriate scripts
# - ESLint/Prettier configuration
# - TypeScript config (optional)
# - Jest test setup

npm start          # Start your application
npm test           # Run tests
npm run lint       # Check code quality
npm run format     # Format code

Python Projects

# The setup will create:
# - requirements.txt
# - setup.py or pyproject.toml
# - Black/Flake8/mypy configuration
# - pytest setup

python main.py                    # Run your application
python -m pytest                 # Run tests
python -m flake8                  # Lint code
python -m black .                 # Format code

# Virtual environment setup
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

PowerShell Projects

# The setup will create:
# - .psd1 module manifest
# - .psm1 module file
# - Public/Private folder structure
# - PSScriptAnalyzer configuration
# - Pester test setup

Import-Module .\YourModule.psm1   # Import your module
Invoke-Pester -Path .\Tests       # Run tests
Invoke-ScriptAnalyzer -Path .     # Analyze code

πŸ€– AI Features

Daily Workflow Automation

npm run ai:daily-workflow
  • Analyzes recent code changes
  • Suggests improvements and optimizations
  • Updates documentation automatically
  • Generates commit messages
  • Provides daily development insights

Documentation Generation

npm run ai:generate-docs

JavaScript Projects: API docs, package info, usage examples Python Projects: Module docs, API reference, installation guides PowerShell Projects: Cmdlet docs, module overview, usage examples

Code Analysis

npm run ai:analyze-code
  • Language-specific code quality analysis
  • Security vulnerability detection
  • Performance optimization suggestions
  • Best practice recommendations

AI Code Review

npm run ai:code-review
  • Comprehensive code review with suggestions
  • Language-specific best practices
  • Security and performance insights

πŸ“ Project Structure

your-project/
β”œβ”€β”€ .copilotflow.json          # Project configuration
β”œβ”€β”€ .env                       # Environment variables (JS/Python)
β”œβ”€β”€ Config.ps1                 # PowerShell configuration
β”œβ”€β”€ docs/                      # Generated documentation
β”‚   β”œβ”€β”€ API.md
β”‚   β”œβ”€β”€ USER_GUIDE.md
β”‚   └── EXAMPLES.md
β”œβ”€β”€ scripts/
β”‚   └── ai-automation/         # AI workflow scripts
β”œβ”€β”€ temp/
β”‚   └── ai-outputs/           # AI generation outputs
└── logs/
    └── ai-conversations/     # AI interaction logs

# Language-specific templates
## JavaScript Templates
β”œβ”€β”€ templates/javascript/
β”‚   β”œβ”€β”€ index.js         # Main application entry
β”‚   └── package.json     # Dependencies template

## Python Templates
β”œβ”€β”€ templates/python/
β”‚   β”œβ”€β”€ main.py          # Main application entry
β”‚   β”œβ”€β”€ requirements.txt # Dependencies
β”‚   β”œβ”€β”€ setup.py         # Package setup
β”‚   └── pyproject.toml   # Modern Python config

## PowerShell Templates
β”œβ”€β”€ templates/powershell/
β”‚   β”œβ”€β”€ Module.psm1      # Main module
β”‚   └── Module.psd1      # Module manifest

## PowerShell
β”œβ”€β”€ YourModule.psd1           # Module manifest
β”œβ”€β”€ YourModule.psm1           # Module file
β”œβ”€β”€ Public/                   # Public functions
β”œβ”€β”€ Private/                  # Private functions
└── Tests/                    # Pester tests

βš™οΈ Configuration

Environment Variables

# .env file (JavaScript/Python)
PROJECT_NAME=your-project
AI_ENABLED=true
AI_PROVIDER=OpenAI
AI_MODEL=gpt-4
OPENAI_API_KEY=your_api_key_here

PowerShell Configuration

# Config.ps1
$Config = @{
    ProjectName = "your-project"
    AIEnabled = $true
    AIProvider = "OpenAI"
    AIModel = "gpt-4"
}

πŸ› οΈ Language-Specific Commands

Universal Commands (All Languages)

npm run setup                 # Interactive project setup
npm run ai:daily-workflow     # Daily AI automation
npm run ai:analyze-code       # AI code analysis
npm run ai:generate-docs      # Generate documentation
npm run ai:commit-message     # AI commit messages
npm run ai:code-review        # AI code review
npm test                      # Run tests (language-aware)
npm run lint                  # Run linter (language-aware)
npm run format                # Format code (language-aware)

JavaScript Specific

npm start                     # Start application
npm run dev                   # Development mode
npm run build                 # Build for production

Python Specific

python main.py                # Run main application
pip install -r requirements.txt  # Install dependencies
python -m venv venv           # Create virtual environment

PowerShell Specific

Import-Module .\Module.psm1   # Import module
Get-Command -Module ModuleName # List cmdlets
Update-Help                   # Update help

🧹 Project Maintenance

Cleanup & Backup System

npm run cleanup              # Full project cleanup with backup
npm run cleanup:backup       # Create backup only
npm run cleanup:restore      # Interactive restore from backups
npm run cleanup:list         # List all available backups
npm run cleanup:manage       # Manage backups (delete old ones)

The cleanup system provides safe project reset with multiple timestamped backups. See docs/CLEANUP.md for detailed usage.

πŸ”§ Development Tools Integration

JavaScript

  • ESLint: Code linting and style checking
  • Prettier: Code formatting
  • Jest: Testing framework
  • TypeScript: Optional type checking
  • Husky: Git hooks for quality gates

Python

  • Black: Code formatting
  • Flake8: Linting and style checking
  • mypy: Type checking
  • pytest: Testing framework
  • pre-commit: Git hooks

PowerShell

  • PSScriptAnalyzer: Code analysis and best practices
  • Pester: Testing framework
  • PowerShell formatter: Built-in formatting
  • Comment-based help: Documentation standards

πŸ“š AI-Generated Documentation

CopilotFlow automatically generates comprehensive documentation tailored to your language:

JavaScript Projects

  • API.md: REST API documentation with examples
  • PACKAGE.md: Package overview and scripts
  • USER_GUIDE.md: End-user documentation
  • DEVELOPER_GUIDE.md: Development setup and workflows

Python Projects

  • API.md: FastAPI/Flask endpoint documentation
  • MODULES.md: Python module and class documentation
  • INSTALLATION.md: Setup and dependency management
  • USER_GUIDE.md: Application usage guide

PowerShell Projects

  • CMDLETS.md: Function and parameter documentation
  • MODULE.md: Module overview and structure
  • EXAMPLES.md: Usage examples and workflows
  • INSTALLATION.md: Module installation guide

🎯 Project Types Supported

JavaScript

  • Web Applications (React, Vue, Angular)
  • API Servers (Express, Fastify, NestJS)
  • Mobile Apps (React Native)
  • CLI Tools
  • Libraries and Packages

Python

  • AI/ML Projects (TensorFlow, PyTorch, Scikit-learn)
  • Web Applications (Django, Flask, FastAPI)
  • Data Analysis Projects
  • API Servers
  • CLI Tools and Scripts

PowerShell

  • System Administration Tools
  • Automation Scripts
  • Azure Management Tools
  • DevOps Tools
  • PowerShell Modules

οΏ½ Testing Infrastructure (v1.0.1)

CopilotFlow includes a robust testing framework with 73 comprehensive tests across 4 test suites, optimized for cross-platform reliability.

Test Suites Overview

  • Setup Project Wizard: 20 tests - Project initialization and configuration
  • Universal Runner: 23 tests - Cross-language command execution
  • Cleanup Project System: 17 tests - Backup, restore, and project maintenance
  • AI Automation Scripts: 13 tests - AI workflow validation and integration

Running Tests

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Run specific test suite
npm test -- tests/unit/setup-project.test.js

Testing Features

  • Cross-Platform Compatibility: Optimized for Windows, macOS, and Linux
  • File Lock Handling: Advanced cleanup logic for Windows file systems
  • Async Operation Management: Proper handling of timers, promises, and file handles
  • Serial Test Execution: Prevents file conflicts with maxWorkers: 1
  • Clean Exit: No forced Jest termination with detectOpenHandles: true

Test Configuration Highlights

// jest.config.js - Production-ready configuration
{
  maxWorkers: 1,              // Serial execution for reliability
  forceExit: false,           // Clean Jest exit
  detectOpenHandles: true,    // Async operation detection
  testTimeout: 30000,         // Generous timeout for complex tests
  clearMocks: true,           // Clean state between tests
}

Windows-Specific Improvements

  • Retry Logic: Up to 5 attempts for file cleanup operations
  • Progressive Delays: Increasing wait times between retry attempts
  • Garbage Collection: Optional global.gc() to release file handles
  • Non-Blocking Warnings: Cleanup failures don't break tests

Coverage Requirements

  • Branches: 70% minimum coverage
  • Functions: 70% minimum coverage
  • Lines: 70% minimum coverage
  • Statements: 70% minimum coverage

All tests pass consistently with ~45-50 second execution time, ensuring reliable development workflows.

�🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Run the setup: npm run setup
  4. Make your changes
  5. Run AI code review: npm run ai:code-review
  6. Generate commit message: npm run ai:commit-message
  7. Commit and push your changes
  8. Create a Pull Request

πŸ“„ License

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

πŸ™ Acknowledgments

  • OpenAI for GPT models and API
  • The open-source community for excellent development tools
  • Contributors and users who make this project better

Start building smarter with CopilotFlow! πŸš€βœ¨

Choose your language, run the setup, and let AI enhance your development workflow.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages