Initial commit
This commit is contained in:
117
skills/devops/react-project-scaffolder/modes/enterprise.md
Normal file
117
skills/devops/react-project-scaffolder/modes/enterprise.md
Normal file
@@ -0,0 +1,117 @@
|
||||
# Mode 2: Enterprise (Next.js + Full Tooling)
|
||||
|
||||
**Purpose**: Production-ready web applications with industry-standard tooling
|
||||
|
||||
**Setup Time**: ~60 seconds after `npm install`
|
||||
|
||||
## Tech Stack
|
||||
- Next.js 14+ (App Router)
|
||||
- React 18+
|
||||
- TypeScript (strict mode)
|
||||
- Vitest + React Testing Library
|
||||
- ESLint + Prettier + Husky
|
||||
- GitHub Actions CI/CD
|
||||
- Conventional Commits
|
||||
|
||||
**Configuration Strategy**: 2-3 key questions, smart defaults
|
||||
|
||||
## Configuration Questions
|
||||
|
||||
1. "Include testing setup?" (default: yes)
|
||||
2. "Include CI/CD workflows?" (default: yes)
|
||||
3. "Use src/ directory?" (default: yes)
|
||||
|
||||
## Workflow Steps
|
||||
|
||||
### 1. Scaffold with Next.js
|
||||
```bash
|
||||
npx create-next-app@latest {project-name} \
|
||||
--typescript \
|
||||
--eslint \
|
||||
--app \
|
||||
--src-dir \
|
||||
--import-alias "@/*"
|
||||
cd {project-name}
|
||||
```
|
||||
|
||||
### 2. Apply Connor's TypeScript Standards
|
||||
- Update tsconfig.json with strict mode
|
||||
- Configure path aliases
|
||||
- Enable all type checking flags
|
||||
|
||||
### 3. Set Up Testing (if selected)
|
||||
- Install Vitest, React Testing Library, jsdom
|
||||
- Create vitest.config.ts with coverage settings (80% threshold)
|
||||
- Add example test: `__tests__/page.test.tsx`
|
||||
- Configure Testing Trophy approach
|
||||
- Add test scripts:
|
||||
```json
|
||||
"test": "vitest --run",
|
||||
"test:watch": "vitest",
|
||||
"test:coverage": "vitest --coverage",
|
||||
"test:low": "vitest --maxWorkers=2"
|
||||
```
|
||||
|
||||
### 4. Configure Linting & Formatting
|
||||
- Extend ESLint config with strict rules
|
||||
- Add Prettier with Connor's preferences
|
||||
- Install and configure Husky + lint-staged
|
||||
- Set up pre-commit hook for:
|
||||
- Linting
|
||||
- Format checking
|
||||
- Type checking
|
||||
- Test running (on relevant files)
|
||||
|
||||
### 5. Set Up CI/CD (if selected)
|
||||
- Create `.github/workflows/ci.yml`
|
||||
- Configure on PR triggers
|
||||
- Steps: install → lint → type-check → test → build
|
||||
- Add status badge to README
|
||||
|
||||
### 6. Initialize Git with Standards
|
||||
```bash
|
||||
git init
|
||||
git add .
|
||||
git commit -m "feat: initial Next.js enterprise setup with testing and CI/CD"
|
||||
```
|
||||
|
||||
### 7. Provide Next Steps
|
||||
|
||||
```markdown
|
||||
## Your Enterprise React Project is Ready!
|
||||
|
||||
Start development:
|
||||
cd {project-name}
|
||||
npm install
|
||||
npm run dev
|
||||
|
||||
Project structure:
|
||||
src/
|
||||
├── app/ # Next.js App Router
|
||||
│ ├── page.tsx # Home page
|
||||
│ └── layout.tsx # Root layout
|
||||
├── components/ # React components
|
||||
├── lib/ # Utility functions
|
||||
└── __tests__/ # Test files
|
||||
|
||||
Available commands:
|
||||
npm run dev # Start dev server
|
||||
npm run build # Production build
|
||||
npm run test # Run tests (low CPU)
|
||||
npm run test:coverage # Tests with coverage
|
||||
|
||||
Configured features:
|
||||
✓ TypeScript strict mode
|
||||
✓ Testing Trophy approach (Vitest + RTL)
|
||||
✓ ESLint + Prettier + Husky
|
||||
✓ GitHub Actions CI/CD
|
||||
✓ 80% coverage threshold
|
||||
✓ Pre-commit hooks
|
||||
```
|
||||
|
||||
## When to Use
|
||||
|
||||
- Production web applications
|
||||
- Team projects requiring standards
|
||||
- Projects needing CI/CD from day one
|
||||
- Full testing infrastructure needed
|
||||
Reference in New Issue
Block a user