commandby pedroid999

Project Setup Helper

Set up new projects with proper structure and best practices.

Installs: 0
Used in: 1 repos
Updated: 2d ago
$npx ai-builder add command pedroid999/project-setup

Installs to .claude/commands/project-setup.md

# Project Setup Helper

Set up new projects with proper structure and best practices.

## Purpose

This command helps you set up new projects with proper directory structure, configuration files, and development environment.

## Usage

```
/project-setup
```

## What this command does

1. **Creates project structure** with standard directories
2. **Sets up configuration files** (.gitignore, README, etc.)
3. **Initializes version control** and development tools
4. **Configures environment files** and dependencies
5. **Follows language-specific** conventions and best practices

## Project Structure Templates

### Generic Project Structure
```
project-name/
├── README.md                 # Project documentation
├── .gitignore               # Git ignore rules
├── .env.example             # Environment variables template
├── LICENSE                  # Project license
├── CHANGELOG.md             # Version history
├── docs/                    # Documentation
│   ├── API.md
│   ├── CONTRIBUTING.md
│   └── DEPLOYMENT.md
├── src/                     # Source code
│   ├── main/
│   ├── utils/
│   └── config/
├── tests/                   # Test files
│   ├── unit/
│   ├── integration/
│   └── fixtures/
├── scripts/                 # Build and deployment scripts
│   ├── build.sh
│   ├── deploy.sh
│   └── setup.sh
└── config/                  # Configuration files
    ├── development.yml
    ├── production.yml
    └── testing.yml
```

### Web Application Structure
```
web-app/
├── public/                  # Static assets
│   ├── index.html
│   ├── favicon.ico
│   └── assets/
│       ├── css/
│       ├── js/
│       └── images/
├── src/                     # Source code
│   ├── components/          # Reusable components
│   ├── pages/              # Page components
│   ├── services/           # API services
│   ├── utils/              # Utility functions
│   ├── styles/             # Stylesheets
│   └── config/             # Configuration
├── tests/                   # Test files
└── build/                   # Build output
```

### API Project Structure
```
api-project/
├── src/
│   ├── controllers/         # Request handlers
│   ├── models/             # Data models
│   ├── services/           # Business logic
│   ├── middleware/         # Custom middleware
│   ├── routes/             # API routes
│   ├── utils/              # Utility functions
│   └── config/             # Configuration
├── tests/
│   ├── unit/
│   ├── integration/
│   └── e2e/
├── docs/
│   ├── api-spec.yml        # OpenAPI specification
│   └── README.md
└── scripts/
    ├── seed-db.js          # Database seeding
    └── migrate.js          # Database migrations
```

## Essential Configuration Files

### .gitignore Template
```gitignore
# Dependencies
node_modules/
*.log
npm-debug.log*

# Environment files
.env
.env.local
.env.production

# Build outputs
dist/
build/
*.tgz

# IDE files
.vscode/
.idea/
*.swp
*.swo

# OS files
.DS_Store
Thumbs.db

# Temporary files
*.tmp
*.temp
```

### README.md Template
```markdown
# Project Name

Brief description of what this project does.

## Features

- Feature 1
- Feature 2
- Feature 3

## Installation

\`\`\`bash
# Clone the repository
git clone https://github.com/username/project-name.git

# Install dependencies
npm install

# Copy environment file
cp .env.example .env
\`\`\`

## Usage

\`\`\`bash
# Start development server
npm run dev

# Run tests
npm test

# Build for production
npm run build
\`\`\`

## API Documentation

[API documentation](docs/API.md)

## Contributing

Please read [CONTRIBUTING.md](docs/CONTRIBUTING.md) for details.

## License

This project is licensed under the MIT License - see [LICENSE](LICENSE) file.
```

### .env.example Template
```env
# Application
NODE_ENV=development
PORT=3000
HOST=localhost

# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=myapp
DB_USER=username
DB_PASSWORD=password

# API Keys
API_KEY=your-api-key-here
SECRET_KEY=your-secret-key-here

# External Services
REDIS_URL=redis://localhost:6379
EMAIL_SERVICE_API_KEY=your-email-key
```

## Development Environment Setup

### Package.json Scripts
```json
{
  "scripts": {
    "start": "node src/index.js",
    "dev": "nodemon src/index.js",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "lint": "eslint src/",
    "lint:fix": "eslint src/ --fix",
    "format": "prettier --write src/",
    "build": "webpack --mode production",
    "build:dev": "webpack --mode development",
    "clean": "rm -rf dist/"
  }
}
```

### Git Initialization
```bash
# Initialize Git repository
git init

# Add initial files
git add .

# Create initial commit
git commit -m "feat: initial project setup

- Add project structure
- Configure development environment
- Add documentation templates
- Set up testing framework"

# Add remote origin
git remote add origin https://github.com/username/project-name.git

# Push to remote
git push -u origin main
```

## Language-Specific Setup

### Node.js/JavaScript
```bash
npm init -y
npm install --save-dev nodemon jest eslint prettier
```

### Python
```bash
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
```

### Docker Setup
```dockerfile
# Dockerfile
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
```

```yaml
# docker-compose.yml
version: '3.8'
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
    volumes:
      - .:/app
      - /app/node_modules
```

## Best Practices

1. **Consistent Structure** - Follow established conventions
2. **Clear Documentation** - Write comprehensive README
3. **Environment Variables** - Keep secrets out of code
4. **Version Control** - Initialize Git from the start
5. **Testing Setup** - Configure testing from day one
6. **Code Quality** - Set up linting and formatting
7. **CI/CD Ready** - Structure for automated deployment
8. **Security** - Include security best practices

## Checklist

- [ ] Create project directory structure
- [ ] Initialize version control (Git)
- [ ] Set up package manager (npm, pip, etc.)
- [ ] Create README.md with project info
- [ ] Add .gitignore file
- [ ] Set up environment variables
- [ ] Configure linting and formatting
- [ ] Set up testing framework
- [ ] Create basic documentation
- [ ] Add license file
- [ ] Set up CI/CD configuration (if needed)

Quick Install

$npx ai-builder add command pedroid999/project-setup

Details

Type
command
Slug
pedroid999/project-setup
Created
6d ago