---
description: Initialize new project with essential structure
category: project-task-management
argument-hint: "Specify project name and type"
allowed-tools: Edit
---

# Initialize New Project

Initialize new project with essential structure

## Instructions

1. **Project Analysis and Setup**
   - Parse the project type and framework from arguments: `$ARGUMENTS`
   - If no arguments provided, analyze current directory and ask user for project type and framework
   - Create project directory structure if needed
   - Validate that the chosen framework is appropriate for the project type

2. **Base Project Structure**
   - Create essential directories (src/, tests/, docs/, etc.)
   - Initialize git repository with proper .gitignore for the project type
   - Create README.md with project description and setup instructions
   - Set up proper file structure based on project type and framework

3. **Framework-Specific Configuration**
   - **Web/React**: Set up React with TypeScript, Vite/Next.js, ESLint, Prettier
   - **Web/Vue**: Configure Vue 3 with TypeScript, Vite, ESLint, Prettier
   - **Web/Angular**: Set up Angular CLI project with TypeScript and testing
   - **API/Express**: Create Express.js server with TypeScript, middleware, and routing
   - **API/FastAPI**: Set up FastAPI with Python, Pydantic models, and async support
   - **Mobile/React Native**: Configure React Native with navigation and development tools
   - **Desktop/Electron**: Set up Electron with renderer and main process structure
   - **CLI/Node**: Create Node.js CLI with commander.js and proper packaging
   - **Library/NPM**: Set up library with TypeScript, rollup/webpack, and publishing config

4. **Development Environment Setup**
   - Configure package manager (npm, yarn, pnpm) with proper package.json
   - Set up TypeScript configuration with strict mode and path mapping
   - Configure linting with ESLint and language-specific rules
   - Set up code formatting with Prettier and pre-commit hooks
   - Add EditorConfig for consistent coding standards

5. **Testing Infrastructure**
   - Install and configure testing framework (Jest, Vitest, Pytest, etc.)
   - Set up test directory structure and example tests
   - Configure code coverage reporting
   - Add testing scripts to package.json/makefile

6. **Build and Development Tools**
   - Configure build system (Vite, webpack, rollup, etc.)
   - Set up development server with hot reloading
   - Configure environment variable management
   - Add build optimization and bundling

7. **CI/CD Pipeline**
   - Create GitHub Actions workflow for testing and deployment
   - Set up automated testing on pull requests
   - Configure automated dependency updates with Dependabot
   - Add status badges to README

8. **Documentation and Quality**
   - Generate comprehensive README with installation and usage instructions
   - Create CONTRIBUTING.md with development guidelines
   - Set up API documentation generation (JSDoc, Sphinx, etc.)
   - Add code quality badges and shields

9. **Security and Best Practices**
   - Configure security scanning with npm audit or similar
   - Set up dependency vulnerability checking
   - Add security headers for web applications
   - Configure environment-specific security settings

10. **Project Validation**
    - Verify all dependencies install correctly
    - Run initial build to ensure configuration is working
    - Execute test suite to validate testing setup
    - Check linting and formatting rules are applied
    - Validate that development server starts successfully
    - Create initial commit with proper project structure