Skip to content

/vt-c-bootstrap

Scaffold a new project with best-practice structure, configurations, and documentation

Plugin: core-standards
Usage: /vt-c-bootstrap [project-type] [project-name]


Bootstrap Command

Create a new project with industry best-practice structure, tooling, and documentation.

Usage

# Interactive mode
/vt-c-bootstrap

# With project type
/vt-c-bootstrap typescript-api my-service
/vt-c-bootstrap rails-api my-app
/vt-c-bootstrap react-app my-frontend

Supported Project Types

Type Description Stack
typescript-api REST API service Node.js, Express, TypeScript, Prisma
typescript-cli Command-line tool Node.js, TypeScript, Commander
rails-api Rails API-only Ruby, Rails, PostgreSQL
rails-full Rails full-stack Ruby, Rails, Hotwire, PostgreSQL
react-app React SPA React, TypeScript, Vite
nextjs-app Next.js full-stack Next.js, TypeScript, Tailwind

What Gets Created

Directory Structure

project-name/
├── .github/
│   ├── workflows/
│   │   ├── ci.yml           # CI pipeline
│   │   └── deploy.yml       # Deployment workflow
│   └── PULL_REQUEST_TEMPLATE.md
├── docs/
│   ├── solutions/           # For compound-docs
│   │   └── patterns/
│   │       └── critical-patterns.md
│   ├── journal/             # For session-journal
│   └── runbooks/            # For incident response
├── src/                     # Source code
├── tests/                   # Test files
├── scripts/                 # Utility scripts
├── .env.example             # Environment template
├── .gitignore
├── CLAUDE.md                # Project-specific Claude instructions
├── README.md
└── [config files]           # Project-specific configs

Configurations Included

All Projects: - .gitignore - Comprehensive ignore file - .env.example - Environment variables template - CLAUDE.md - Project-specific AI instructions - README.md - Getting started documentation - CI/CD workflows

TypeScript Projects: - tsconfig.json - Strict TypeScript config - eslint.config.js - ESLint with TypeScript rules - prettier.config.js - Code formatting - vitest.config.ts - Test configuration

Rails Projects: - rubocop.yml - Ruby style guide - database.yml - Database config template - strong_migrations - Migration safety

CLAUDE.md Template

# CLAUDE.md

## Project Overview
[Brief description of the project]

## Tech Stack
- [Framework]
- [Database]
- [Key libraries]

## Development Commands
```bash
# Start development server
[command]

# Run tests
[command]

# Run linter
[command]

Architecture

[Brief architecture description]

Key Files

  • src/[main entry] - Application entry point
  • src/[routes/controllers] - API endpoints
  • src/[models] - Data models

Conventions

  • [Naming conventions]
  • [File organization]
  • [Testing requirements]

Security Rules (DO NOT MODIFY)

  • Never commit secrets or API keys
  • Always validate user input
  • Use parameterized queries
    ### GitHub Workflows
    
    **CI Workflow (`.github/workflows/ci.yml`):**
    ```yaml
    name: vt-c-bootstrap
    
    on: [push, pull_request]
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - name: Setup
            # Project-specific setup
          - name: Install dependencies
            # Install command
          - name: Lint
            # Lint command
          - name: Test
            # Test command
          - name: Type check
            # Type check (if applicable)
    

Interactive Mode

When run without arguments, prompts for:

  1. Project type - Select from supported types
  2. Project name - Name for the directory
  3. Features - Optional features to include:
  4. [ ] Docker support
  5. [ ] API documentation (OpenAPI)
  6. [ ] Authentication boilerplate
  7. [ ] Database migrations setup
  8. [ ] Error monitoring (Sentry)
  9. [ ] Feature flags setup

Example Session

> /vt-c-bootstrap

What type of project?
[1] typescript-api
[2] typescript-cli
[3] rails-api
[4] rails-full
[5] react-app
[6] nextjs-app

> 1

Project name: my-api-service

Include optional features?
[x] Docker support
[x] API documentation (OpenAPI)
[ ] Authentication boilerplate
[x] Database migrations setup
[x] Error monitoring (Sentry)
[ ] Feature flags setup

Creating project structure...
 Created directory: my-api-service/
 Created src/ structure
 Created tests/ structure
 Created docs/ structure
 Added TypeScript config
 Added ESLint config
 Added Prettier config
 Added Docker support
 Added OpenAPI template
 Added CI/CD workflows
 Created CLAUDE.md
 Created README.md

Next steps:
1. cd my-api-service
2. npm install
3. cp .env.example .env
4. npm run dev

Your project is ready! 🚀

Post-Bootstrap Tasks

After bootstrapping, consider:

  1. Update CLAUDE.md with project-specific details
  2. Configure environment - Copy .env.example to .env
  3. Initialize git - git init && git add . && git commit -m "Initial commit"
  4. Set up database - Run migrations if applicable
  5. Verify CI - Push to test CI workflow

Customization

Project Templates

Templates are stored in:

~/.claude/plugins/company-claude-toolkit/plugins/core-standards/templates/
├── typescript-api/
├── typescript-cli/
├── rails-api/
├── rails-full/
├── react-app/
└── nextjs-app/

Adding Custom Templates

  1. Create directory in templates/
  2. Add template files with placeholders:
  3. {{PROJECT_NAME}} - Project name
  4. {{PROJECT_DESCRIPTION}} - Description
  5. {{AUTHOR}} - Author name
  6. Add template.json with configuration

Integration

Works with toolkit: - Creates docs/solutions/ for compound-docs - Creates docs/vt-c-journal/ for session-journal - Creates docs/runbooks/ for incident response - Includes critical-patterns.md template