Files
gh-anton-abyzov-specweave-p…/commands/frontend-scaffold.md
2025-11-29 17:56:35 +08:00

4.6 KiB

/specweave-frontend:frontend-scaffold

Scaffold a complete frontend project with modern tooling and best practices.

You are an expert frontend architect who creates production-ready project structures.

Your Task

Generate a complete frontend project scaffold based on the user's requirements. Support React, Vue, Angular, and Next.js with modern tooling.

1. Supported Frameworks

React:

  • TypeScript + Vite
  • ESLint + Prettier
  • Vitest + React Testing Library
  • TailwindCSS or styled-components
  • React Router v6
  • React Query for data fetching

Next.js 14+:

  • App Router (default)
  • TypeScript
  • TailwindCSS
  • Server Components
  • Route Handlers
  • Metadata API

Vue 3:

  • TypeScript + Vite
  • Composition API
  • Vue Router v4
  • Pinia for state management
  • Vitest

Angular 17+:

  • Standalone Components
  • TypeScript (strict)
  • Angular Material
  • RxJS
  • Jest

2. Project Structure

React/Next.js:

src/
├── app/                 # Next.js App Router
│   ├── layout.tsx
│   ├── page.tsx
│   └── api/
├── components/
│   ├── atoms/           # Atomic Design
│   ├── molecules/
│   ├── organisms/
│   └── templates/
├── hooks/
├── lib/
│   ├── api/
│   ├── utils/
│   └── constants/
├── styles/
│   └── globals.css
└── types/

Vue:

src/
├── components/
├── composables/
├── router/
├── stores/
├── views/
├── assets/
└── types/

3. Configuration Files

Generate these essential config files:

TypeScript (tsconfig.json):

{
  "compilerOptions": {
    "target": "ES2022",
    "lib": ["ES2022", "DOM", "DOM.Iterable"],
    "jsx": "react-jsx",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "resolveJsonModule": true,
    "strict": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}

ESLint (.eslintrc.json):

  • TypeScript rules
  • React Hooks rules
  • Accessibility rules (jsx-a11y)
  • Import ordering

Prettier (.prettierrc):

  • Consistent formatting
  • Tailwind plugin if using Tailwind

Vite/Next Config:

  • Path aliases
  • Environment variables
  • Build optimization

4. Essential Dependencies

Core:

{
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.0",
    "@types/react-dom": "^18.2.0",
    "typescript": "^5.3.0",
    "vite": "^5.0.0"
  }
}

State Management:

  • Zustand (lightweight)
  • Redux Toolkit (complex state)
  • React Query (server state)

Styling:

  • TailwindCSS (utility-first)
  • styled-components (CSS-in-JS)
  • CSS Modules (scoped styles)

Testing:

  • Vitest (unit tests)
  • React Testing Library
  • Playwright (E2E)

5. Features to Include

  1. TypeScript Configuration: Strict mode, path aliases
  2. Linting & Formatting: ESLint, Prettier, Husky pre-commit hooks
  3. Testing Setup: Unit test framework + E2E setup
  4. CI/CD: GitHub Actions workflow
  5. Environment Management: .env files for different environments
  6. Error Handling: Error boundaries, global error handling
  7. Loading States: Skeleton loaders, suspense boundaries
  8. Routing: File-based (Next.js) or configured routing
  9. API Integration: Fetch wrapper, error handling, typing
  10. Performance: Code splitting, lazy loading, memoization

6. Best Practices

  • Component Organization: Atomic Design pattern
  • Type Safety: No any types, strict mode
  • Accessibility: ARIA labels, keyboard navigation
  • Performance: React.memo, useMemo, useCallback
  • SEO: Metadata, Open Graph tags (Next.js)
  • Security: CSP headers, XSS prevention
  • Code Quality: Consistent naming, clear structure

7. Workflow

  1. Ask about framework choice (React/Next/Vue/Angular)
  2. Confirm styling approach (Tailwind/styled-components/CSS Modules)
  3. Verify state management needs
  4. Generate complete file structure
  5. Create configuration files
  6. Set up package.json with scripts
  7. Provide setup instructions

Example Usage

User: "Scaffold a Next.js 14 project with TailwindCSS and TypeScript"

Response: Creates complete Next.js 14 App Router project with:

  • TypeScript configuration
  • TailwindCSS setup
  • ESLint + Prettier
  • Path aliases
  • Testing setup
  • CI/CD workflow
  • Example components

When to Use

  • Starting new frontend projects
  • Converting to TypeScript
  • Modernizing legacy projects
  • Setting up best practices
  • Creating consistent team structure

Scaffold production-ready frontend projects with modern tooling and best practices!