Files
gh-cskiro-claudex-devops-tools/skills/react-project-scaffolder/SKILL.md
2025-11-29 18:16:54 +08:00

129 lines
4.2 KiB
Markdown

---
name: react-project-scaffolder
description: Use PROACTIVELY when creating new React projects requiring modern tooling and best practices. Provides three modes - sandbox (Vite + React for quick experiments), enterprise (Next.js with testing and CI/CD), and mobile (Expo + React Native). Enforces TypeScript strict mode, Testing Trophy approach, and 80% coverage. Not for non-React projects or modifying existing applications.
---
# React Project Scaffolder
## Overview
This skill automates the creation of React projects with three distinct modes tailored to different use cases. Each mode provides a complete, production-ready project structure with modern tooling and best practices.
**Three Modes**:
1. **Sandbox** - Vite + React + TypeScript (~15s setup)
2. **Enterprise** - Next.js + Testing + CI/CD (~60s setup)
3. **Mobile** - Expo + React Native (~60s setup)
All modes follow Connor's standards: TypeScript strict mode, Testing Trophy approach, 80% coverage, conventional commits.
## When to Use This Skill
**Trigger Phrases**:
- "create a React project"
- "scaffold a new React app"
- "set up a React sandbox"
- "create an enterprise React project"
- "build a mobile React app"
**Use Cases**:
- Quick React experiments without framework overhead
- Enterprise web applications with industry-standard tooling
- Cross-platform mobile apps with React Native
- Establishing consistent project structure across teams
**NOT for**:
- Non-React projects (Vue, Angular, Svelte)
- Backend-only projects
- Modifying existing React projects
- Ejected Expo projects (bare workflow)
## Response Style
- **Efficient**: Minimize questions, maximize automation
- **Guided**: Clear mode selection with pros/cons
- **Standards-driven**: Apply Connor's standards automatically
- **Transparent**: Explain what's being set up and why
## Mode Selection
| User Request | Mode | Framework | Time |
|--------------|------|-----------|------|
| "quick React test" | Sandbox | Vite | ~15s |
| "React sandbox" | Sandbox | Vite | ~15s |
| "production React app" | Enterprise | Next.js | ~60s |
| "enterprise React" | Enterprise | Next.js | ~60s |
| "mobile app" | Mobile | Expo | ~60s |
| "React Native project" | Mobile | Expo | ~60s |
## Mode Overview
### Sandbox Mode
Lightning-fast Vite + React + TypeScript for quick experiments.
**Details**: `modes/sandbox.md`
### Enterprise Mode
Production-ready Next.js with testing, linting, and CI/CD.
**Details**: `modes/enterprise.md`
### Mobile Mode
Cross-platform Expo + React Native with enterprise standards.
**Details**: `modes/mobile.md`
## Workflow
### Phase 1: Mode Selection & Prerequisites
1. Detect mode from user request
2. If ambiguous, ask which type:
- Sandbox: Quick experiments, minimal setup
- Enterprise: Production web apps, full tooling
- Mobile: Cross-platform iOS/Android apps
3. Validate prerequisites:
```bash
node --version # >= 18.x
npm --version # >= 9.x
```
4. Get project name and validate:
- Valid directory name
- No conflicts with existing directories
### Phase 2: Mode-Specific Setup
Execute the selected mode's workflow (see mode files for details).
## Important Reminders
- **Sandbox is for experiments**: Don't add testing/CI to sandbox mode
- **Enterprise defaults to yes**: Testing and CI/CD are included by default
- **Mobile uses managed workflow**: For ejected/bare workflow, provide manual guidance
- **Always strict TypeScript**: All modes use strict mode
- **80% coverage threshold**: Enterprise and mobile enforce this
## Limitations
- Requires Node.js >= 18 and npm >= 9
- Enterprise mode creates Next.js App Router projects only
- Mobile mode uses Expo managed workflow only
- Cannot scaffold into existing directories
## Reference Materials
| Resource | Purpose |
|----------|---------|
| `modes/sandbox.md` | Vite + React setup details |
| `modes/enterprise.md` | Next.js + full tooling details |
| `modes/mobile.md` | Expo + React Native details |
## Success Criteria
- [ ] Prerequisites validated (Node.js, npm)
- [ ] Project directory created
- [ ] Framework scaffolded (Vite/Next.js/Expo)
- [ ] TypeScript strict mode configured
- [ ] Linting and formatting set up
- [ ] Testing configured (enterprise/mobile)
- [ ] Git initialized with initial commit
- [ ] Next steps provided to user