@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.
@@ -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.**