@intentsolutionsio/fullstack-starter-pack 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +31 -0
- package/LICENSE +21 -0
- package/README.md +168 -0
- package/agents/api-builder.md +610 -0
- package/agents/backend-architect.md +574 -0
- package/agents/database-designer.md +509 -0
- package/agents/deployment-specialist.md +603 -0
- package/agents/react-specialist.md +668 -0
- package/agents/ui-ux-expert.md +652 -0
- package/commands/auth-setup.md +422 -0
- package/commands/component-generator.md +343 -0
- package/commands/css-utility-generator.md +621 -0
- package/commands/env-config-setup.md +338 -0
- package/commands/express-api-scaffold.md +659 -0
- package/commands/fastapi-scaffold.md +674 -0
- package/commands/prisma-schema-gen.md +582 -0
- package/commands/project-scaffold.md +355 -0
- package/commands/sql-query-builder.md +461 -0
- package/package.json +52 -0
- package/skills/skill-adapter/assets/README.md +8 -0
- package/skills/skill-adapter/assets/config-template.json +32 -0
- package/skills/skill-adapter/assets/example_env_config.txt +100 -0
- package/skills/skill-adapter/assets/skill-schema.json +28 -0
- package/skills/skill-adapter/assets/test-data.json +27 -0
- package/skills/skill-adapter/references/README.md +4 -0
- package/skills/skill-adapter/references/best-practices.md +69 -0
- package/skills/skill-adapter/references/examples.md +73 -0
- package/skills/skill-adapter/scripts/README.md +7 -0
- package/skills/skill-adapter/scripts/helper-template.sh +42 -0
- package/skills/skill-adapter/scripts/validation.sh +32 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-scaffold
|
|
3
|
+
description: >
|
|
4
|
+
Generate complete fullstack project structure with all boilerplate
|
|
5
|
+
shortcut: ps
|
|
6
|
+
category: devops
|
|
7
|
+
difficulty: beginner
|
|
8
|
+
estimated_time: 5-10 minutes
|
|
9
|
+
---
|
|
10
|
+
# Project Scaffold
|
|
11
|
+
|
|
12
|
+
Generates a complete fullstack project structure with frontend, backend, database, authentication, testing, and deployment configuration.
|
|
13
|
+
|
|
14
|
+
## What This Command Does
|
|
15
|
+
|
|
16
|
+
**Generated Project:**
|
|
17
|
+
- Frontend (React + TypeScript + Vite)
|
|
18
|
+
- Backend (Express or FastAPI)
|
|
19
|
+
- Database (PostgreSQL + Prisma/SQLAlchemy)
|
|
20
|
+
- Authentication (JWT + OAuth)
|
|
21
|
+
- Testing (Jest/Pytest + E2E)
|
|
22
|
+
- CI/CD (GitHub Actions)
|
|
23
|
+
- Docker setup
|
|
24
|
+
- Documentation
|
|
25
|
+
|
|
26
|
+
**Output:** Production-ready fullstack application
|
|
27
|
+
|
|
28
|
+
**Time:** 5-10 minutes
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Generate fullstack project
|
|
36
|
+
/project-scaffold "Task Management App"
|
|
37
|
+
|
|
38
|
+
# Shortcut
|
|
39
|
+
/ps "E-commerce Platform" --stack react,express,postgresql
|
|
40
|
+
|
|
41
|
+
# With specific features
|
|
42
|
+
/ps "Blog Platform" --features auth,admin,payments,analytics
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Generated Structure
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
my-app/
|
|
51
|
+
├── client/ # Frontend (React + TypeScript + Vite)
|
|
52
|
+
│ ├── src/
|
|
53
|
+
│ │ ├── components/ # React components
|
|
54
|
+
│ │ ├── pages/ # Page components
|
|
55
|
+
│ │ ├── hooks/ # Custom hooks
|
|
56
|
+
│ │ ├── services/ # API services
|
|
57
|
+
│ │ ├── context/ # Context providers
|
|
58
|
+
│ │ ├── utils/ # Utilities
|
|
59
|
+
│ │ ├── types/ # TypeScript types
|
|
60
|
+
│ │ ├── App.tsx
|
|
61
|
+
│ │ └── main.tsx
|
|
62
|
+
│ ├── public/
|
|
63
|
+
│ ├── index.html
|
|
64
|
+
│ ├── package.json
|
|
65
|
+
│ ├── vite.config.ts
|
|
66
|
+
│ ├── tsconfig.json
|
|
67
|
+
│ └── tailwind.config.js
|
|
68
|
+
│
|
|
69
|
+
├── server/ # Backend (Express + TypeScript)
|
|
70
|
+
│ ├── src/
|
|
71
|
+
│ │ ├── controllers/ # Request handlers
|
|
72
|
+
│ │ ├── services/ # Business logic
|
|
73
|
+
│ │ ├── models/ # Database models
|
|
74
|
+
│ │ ├── routes/ # API routes
|
|
75
|
+
│ │ ├── middleware/ # Express middleware
|
|
76
|
+
│ │ ├── utils/ # Utilities
|
|
77
|
+
│ │ ├── config/ # Configuration
|
|
78
|
+
│ │ ├── app.ts
|
|
79
|
+
│ │ └── server.ts
|
|
80
|
+
│ ├── tests/
|
|
81
|
+
│ ├── prisma/
|
|
82
|
+
│ │ └── schema.prisma
|
|
83
|
+
│ ├── package.json
|
|
84
|
+
│ ├── tsconfig.json
|
|
85
|
+
│ └── jest.config.js
|
|
86
|
+
│
|
|
87
|
+
├── .github/
|
|
88
|
+
│ └── workflows/
|
|
89
|
+
│ ├── ci.yml # Continuous Integration
|
|
90
|
+
│ └── deploy.yml # Deployment
|
|
91
|
+
│
|
|
92
|
+
├── docker-compose.yml # Development environment
|
|
93
|
+
├── Dockerfile # Production container
|
|
94
|
+
├── .env.example # Environment template
|
|
95
|
+
├── .gitignore
|
|
96
|
+
├── README.md
|
|
97
|
+
└── package.json # Root workspace
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Example: Task Management App
|
|
103
|
+
|
|
104
|
+
**Frontend (client/src/pages/Dashboard.tsx):**
|
|
105
|
+
```tsx
|
|
106
|
+
import { useState, useEffect } from 'react'
|
|
107
|
+
import { TaskList } from '../components/TaskList'
|
|
108
|
+
import { CreateTaskForm } from '../components/CreateTaskForm'
|
|
109
|
+
import { useAuth } from '../context/AuthContext'
|
|
110
|
+
import { taskService } from '../services/api'
|
|
111
|
+
|
|
112
|
+
export function Dashboard() {
|
|
113
|
+
const { user } = useAuth()
|
|
114
|
+
const [tasks, setTasks] = useState([])
|
|
115
|
+
const [loading, setLoading] = useState(true)
|
|
116
|
+
|
|
117
|
+
useEffect(() => {
|
|
118
|
+
loadTasks()
|
|
119
|
+
}, [])
|
|
120
|
+
|
|
121
|
+
async function loadTasks() {
|
|
122
|
+
try {
|
|
123
|
+
const data = await taskService.getAll()
|
|
124
|
+
setTasks(data)
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error('Failed to load tasks:', error)
|
|
127
|
+
} finally {
|
|
128
|
+
setLoading(false)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
async function handleCreateTask(task: CreateTaskInput) {
|
|
133
|
+
const newTask = await taskService.create(task)
|
|
134
|
+
setTasks([newTask, ...tasks])
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
async function handleToggleTask(id: string) {
|
|
138
|
+
const updated = await taskService.toggle(id)
|
|
139
|
+
setTasks(tasks.map(t => t.id === id ? updated : t))
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (loading) return <div>Loading...</div>
|
|
143
|
+
|
|
144
|
+
return (
|
|
145
|
+
<div className="container mx-auto p-4">
|
|
146
|
+
<h1 className="text-3xl font-bold mb-6">
|
|
147
|
+
Welcome, {user?.name}
|
|
148
|
+
</h1>
|
|
149
|
+
|
|
150
|
+
<CreateTaskForm onSubmit={handleCreateTask} />
|
|
151
|
+
|
|
152
|
+
<TaskList
|
|
153
|
+
tasks={tasks}
|
|
154
|
+
onToggle={handleToggleTask}
|
|
155
|
+
/>
|
|
156
|
+
</div>
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Backend (server/src/controllers/task.controller.ts):**
|
|
162
|
+
```typescript
|
|
163
|
+
import { Request, Response } from 'express'
|
|
164
|
+
import { TaskService } from '../services/task.service'
|
|
165
|
+
|
|
166
|
+
const taskService = new TaskService()
|
|
167
|
+
|
|
168
|
+
export class TaskController {
|
|
169
|
+
async getAll(req: Request, res: Response) {
|
|
170
|
+
const tasks = await taskService.findAll(req.user!.userId)
|
|
171
|
+
res.json({ data: tasks })
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
async create(req: Request, res: Response) {
|
|
175
|
+
const task = await taskService.create(req.user!.userId, req.body)
|
|
176
|
+
res.status(201).json({ data: task })
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
async toggle(req: Request, res: Response) {
|
|
180
|
+
const task = await taskService.toggle(req.params.id, req.user!.userId)
|
|
181
|
+
res.json({ data: task })
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
async delete(req: Request, res: Response) {
|
|
185
|
+
await taskService.delete(req.params.id, req.user!.userId)
|
|
186
|
+
res.status(204).send()
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Quick Start
|
|
194
|
+
|
|
195
|
+
**1. Install dependencies:**
|
|
196
|
+
```bash
|
|
197
|
+
# Install all dependencies (client + server)
|
|
198
|
+
npm install
|
|
199
|
+
|
|
200
|
+
# Or individually
|
|
201
|
+
cd client && npm install
|
|
202
|
+
cd server && npm install
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**2. Setup environment:**
|
|
206
|
+
```bash
|
|
207
|
+
cp .env.example .env
|
|
208
|
+
# Edit .env with your configuration
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**3. Setup database:**
|
|
212
|
+
```bash
|
|
213
|
+
cd server
|
|
214
|
+
npx prisma migrate dev
|
|
215
|
+
npx prisma generate
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**4. Start development:**
|
|
219
|
+
```bash
|
|
220
|
+
# Start all services (client, server, database)
|
|
221
|
+
docker-compose up
|
|
222
|
+
|
|
223
|
+
# Or start individually
|
|
224
|
+
npm run dev:client # Frontend on http://localhost:5173
|
|
225
|
+
npm run dev:server # Backend on http://localhost:3000
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**5. Run tests:**
|
|
229
|
+
```bash
|
|
230
|
+
npm run test # All tests
|
|
231
|
+
npm run test:client # Frontend tests
|
|
232
|
+
npm run test:server # Backend tests
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Stack Options
|
|
238
|
+
|
|
239
|
+
**Frontend:**
|
|
240
|
+
- React + TypeScript + Vite (default)
|
|
241
|
+
- Next.js 14 (App Router)
|
|
242
|
+
- Vue 3 + TypeScript
|
|
243
|
+
|
|
244
|
+
**Backend:**
|
|
245
|
+
- Express + TypeScript (default)
|
|
246
|
+
- FastAPI + Python
|
|
247
|
+
- NestJS
|
|
248
|
+
|
|
249
|
+
**Database:**
|
|
250
|
+
- PostgreSQL + Prisma (default)
|
|
251
|
+
- MongoDB + Mongoose
|
|
252
|
+
- MySQL + TypeORM
|
|
253
|
+
|
|
254
|
+
**Styling:**
|
|
255
|
+
- Tailwind CSS (default)
|
|
256
|
+
- CSS Modules
|
|
257
|
+
- Styled Components
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Included Features
|
|
262
|
+
|
|
263
|
+
**Authentication:**
|
|
264
|
+
- JWT authentication
|
|
265
|
+
- OAuth (Google, GitHub)
|
|
266
|
+
- Email verification
|
|
267
|
+
- Password reset
|
|
268
|
+
|
|
269
|
+
**Testing:**
|
|
270
|
+
- Frontend: Jest + React Testing Library + Cypress
|
|
271
|
+
- Backend: Jest + Supertest
|
|
272
|
+
- E2E: Playwright
|
|
273
|
+
|
|
274
|
+
**CI/CD:**
|
|
275
|
+
- GitHub Actions workflows
|
|
276
|
+
- Automated testing
|
|
277
|
+
- Docker build and push
|
|
278
|
+
- Deployment to cloud platforms
|
|
279
|
+
|
|
280
|
+
**Development:**
|
|
281
|
+
- Hot reload (frontend + backend)
|
|
282
|
+
- Docker development environment
|
|
283
|
+
- Database migrations
|
|
284
|
+
- Seed data
|
|
285
|
+
|
|
286
|
+
**Production:**
|
|
287
|
+
- Optimized Docker images
|
|
288
|
+
- Health checks
|
|
289
|
+
- Logging and monitoring
|
|
290
|
+
- Environment-based config
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Customization
|
|
295
|
+
|
|
296
|
+
**Add Features:**
|
|
297
|
+
```bash
|
|
298
|
+
# Add payment processing
|
|
299
|
+
/ps --add-feature payments --provider stripe
|
|
300
|
+
|
|
301
|
+
# Add file uploads
|
|
302
|
+
/ps --add-feature uploads --storage s3
|
|
303
|
+
|
|
304
|
+
# Add email service
|
|
305
|
+
/ps --add-feature email --provider sendgrid
|
|
306
|
+
|
|
307
|
+
# Add admin dashboard
|
|
308
|
+
/ps --add-feature admin
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Change Stack:**
|
|
312
|
+
```bash
|
|
313
|
+
# Use Next.js instead of React
|
|
314
|
+
/ps --frontend nextjs
|
|
315
|
+
|
|
316
|
+
# Use FastAPI instead of Express
|
|
317
|
+
/ps --backend fastapi
|
|
318
|
+
|
|
319
|
+
# Use MongoDB instead of PostgreSQL
|
|
320
|
+
/ps --database mongodb
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Deployment
|
|
326
|
+
|
|
327
|
+
**Vercel (Frontend):**
|
|
328
|
+
```bash
|
|
329
|
+
cd client
|
|
330
|
+
vercel
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Railway (Backend):**
|
|
334
|
+
```bash
|
|
335
|
+
cd server
|
|
336
|
+
railway up
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Docker (Full Stack):**
|
|
340
|
+
```bash
|
|
341
|
+
docker-compose -f docker-compose.prod.yml up -d
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Related Commands
|
|
347
|
+
|
|
348
|
+
- `/express-api-scaffold` - Generate Express API
|
|
349
|
+
- `/fastapi-scaffold` - Generate FastAPI
|
|
350
|
+
- `/auth-setup` - Authentication boilerplate
|
|
351
|
+
- `/env-config-setup` - Environment configuration
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
**Start building immediately. Ship faster. Scale effortlessly.**
|