@intentsolutionsio/fullstack-starter-pack 1.0.0 → 1.0.5
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/README.md +32 -12
- package/agents/api-builder.md +47 -5
- package/agents/backend-architect.md +48 -4
- package/agents/database-designer.md +50 -4
- package/agents/deployment-specialist.md +46 -6
- package/agents/react-specialist.md +64 -10
- package/agents/ui-ux-expert.md +62 -8
- package/commands/auth-setup.md +13 -9
- package/commands/component-generator.md +22 -6
- package/commands/css-utility-generator.md +27 -7
- package/commands/env-config-setup.md +14 -6
- package/commands/express-api-scaffold.md +23 -10
- package/commands/fastapi-scaffold.md +24 -10
- package/commands/prisma-schema-gen.md +18 -6
- package/commands/project-scaffold.md +31 -9
- package/commands/sql-query-builder.md +18 -7
- package/package.json +1 -1
- package/skills/skill-adapter/references/README.md +0 -1
- package/skills/skill-adapter/references/examples.md +6 -0
- package/skills/skill-adapter/scripts/validation.sh +0 -32
|
@@ -13,12 +13,13 @@ Generates complete Prisma schema files from natural language descriptions, inclu
|
|
|
13
13
|
## What This Command Does
|
|
14
14
|
|
|
15
15
|
**Generated Schema:**
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
16
|
+
|
|
17
|
+
- Prisma models with fields
|
|
18
|
+
- Relationships (one-to-one, one-to-many, many-to-many)
|
|
19
|
+
- Indexes and unique constraints
|
|
20
|
+
- Default values and validators
|
|
21
|
+
- Database-specific configuration
|
|
22
|
+
- Example queries
|
|
22
23
|
|
|
23
24
|
**Output:** Complete `schema.prisma` file ready for migration
|
|
24
25
|
|
|
@@ -47,6 +48,7 @@ Generates complete Prisma schema files from natural language descriptions, inclu
|
|
|
47
48
|
## Example Output
|
|
48
49
|
|
|
49
50
|
**Input:**
|
|
51
|
+
|
|
50
52
|
```
|
|
51
53
|
/psg "Blog platform with users, posts, comments, and tags"
|
|
52
54
|
```
|
|
@@ -492,6 +494,7 @@ model Task {
|
|
|
492
494
|
## Database Support
|
|
493
495
|
|
|
494
496
|
**PostgreSQL:**
|
|
497
|
+
|
|
495
498
|
```prisma
|
|
496
499
|
datasource db {
|
|
497
500
|
provider = "postgresql"
|
|
@@ -507,6 +510,7 @@ model Example {
|
|
|
507
510
|
```
|
|
508
511
|
|
|
509
512
|
**MySQL:**
|
|
513
|
+
|
|
510
514
|
```prisma
|
|
511
515
|
datasource db {
|
|
512
516
|
provider = "mysql"
|
|
@@ -515,6 +519,7 @@ datasource db {
|
|
|
515
519
|
```
|
|
516
520
|
|
|
517
521
|
**SQLite (Development):**
|
|
522
|
+
|
|
518
523
|
```prisma
|
|
519
524
|
datasource db {
|
|
520
525
|
provider = "sqlite"
|
|
@@ -523,6 +528,7 @@ datasource db {
|
|
|
523
528
|
```
|
|
524
529
|
|
|
525
530
|
**MongoDB:**
|
|
531
|
+
|
|
526
532
|
```prisma
|
|
527
533
|
datasource db {
|
|
528
534
|
provider = "mongodb"
|
|
@@ -540,31 +546,37 @@ model User {
|
|
|
540
546
|
## Getting Started
|
|
541
547
|
|
|
542
548
|
**1. Install Prisma:**
|
|
549
|
+
|
|
543
550
|
```bash
|
|
544
551
|
npm install @prisma/client
|
|
545
552
|
npm install -D prisma
|
|
546
553
|
```
|
|
547
554
|
|
|
548
555
|
**2. Initialize Prisma:**
|
|
556
|
+
|
|
549
557
|
```bash
|
|
550
558
|
npx prisma init
|
|
551
559
|
```
|
|
552
560
|
|
|
553
561
|
**3. Use generated schema:**
|
|
562
|
+
|
|
554
563
|
- Replace `prisma/schema.prisma` with generated content
|
|
555
564
|
- Set `DATABASE_URL` in `.env`
|
|
556
565
|
|
|
557
566
|
**4. Create migration:**
|
|
567
|
+
|
|
558
568
|
```bash
|
|
559
569
|
npx prisma migrate dev --name init
|
|
560
570
|
```
|
|
561
571
|
|
|
562
572
|
**5. Generate Prisma Client:**
|
|
573
|
+
|
|
563
574
|
```bash
|
|
564
575
|
npx prisma generate
|
|
565
576
|
```
|
|
566
577
|
|
|
567
578
|
**6. Use in code:**
|
|
579
|
+
|
|
568
580
|
```typescript
|
|
569
581
|
import { PrismaClient } from '@prisma/client'
|
|
570
582
|
const prisma = new PrismaClient()
|
|
@@ -14,14 +14,15 @@ Generates a complete fullstack project structure with frontend, backend, databas
|
|
|
14
14
|
## What This Command Does
|
|
15
15
|
|
|
16
16
|
**Generated Project:**
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
17
|
+
|
|
18
|
+
- Frontend (React + TypeScript + Vite)
|
|
19
|
+
- Backend (Express or FastAPI)
|
|
20
|
+
- Database (PostgreSQL + Prisma/SQLAlchemy)
|
|
21
|
+
- Authentication (JWT + OAuth)
|
|
22
|
+
- Testing (Jest/Pytest + E2E)
|
|
23
|
+
- CI/CD (GitHub Actions)
|
|
24
|
+
- Docker setup
|
|
25
|
+
- Documentation
|
|
25
26
|
|
|
26
27
|
**Output:** Production-ready fullstack application
|
|
27
28
|
|
|
@@ -102,6 +103,7 @@ my-app/
|
|
|
102
103
|
## Example: Task Management App
|
|
103
104
|
|
|
104
105
|
**Frontend (client/src/pages/Dashboard.tsx):**
|
|
106
|
+
|
|
105
107
|
```tsx
|
|
106
108
|
import { useState, useEffect } from 'react'
|
|
107
109
|
import { TaskList } from '../components/TaskList'
|
|
@@ -159,6 +161,7 @@ export function Dashboard() {
|
|
|
159
161
|
```
|
|
160
162
|
|
|
161
163
|
**Backend (server/src/controllers/task.controller.ts):**
|
|
164
|
+
|
|
162
165
|
```typescript
|
|
163
166
|
import { Request, Response } from 'express'
|
|
164
167
|
import { TaskService } from '../services/task.service'
|
|
@@ -193,6 +196,7 @@ export class TaskController {
|
|
|
193
196
|
## Quick Start
|
|
194
197
|
|
|
195
198
|
**1. Install dependencies:**
|
|
199
|
+
|
|
196
200
|
```bash
|
|
197
201
|
# Install all dependencies (client + server)
|
|
198
202
|
npm install
|
|
@@ -203,12 +207,14 @@ cd server && npm install
|
|
|
203
207
|
```
|
|
204
208
|
|
|
205
209
|
**2. Setup environment:**
|
|
210
|
+
|
|
206
211
|
```bash
|
|
207
212
|
cp .env.example .env
|
|
208
213
|
# Edit .env with your configuration
|
|
209
214
|
```
|
|
210
215
|
|
|
211
216
|
**3. Setup database:**
|
|
217
|
+
|
|
212
218
|
```bash
|
|
213
219
|
cd server
|
|
214
220
|
npx prisma migrate dev
|
|
@@ -216,6 +222,7 @@ npx prisma generate
|
|
|
216
222
|
```
|
|
217
223
|
|
|
218
224
|
**4. Start development:**
|
|
225
|
+
|
|
219
226
|
```bash
|
|
220
227
|
# Start all services (client, server, database)
|
|
221
228
|
docker-compose up
|
|
@@ -226,6 +233,7 @@ npm run dev:server # Backend on http://localhost:3000
|
|
|
226
233
|
```
|
|
227
234
|
|
|
228
235
|
**5. Run tests:**
|
|
236
|
+
|
|
229
237
|
```bash
|
|
230
238
|
npm run test # All tests
|
|
231
239
|
npm run test:client # Frontend tests
|
|
@@ -237,21 +245,25 @@ npm run test:server # Backend tests
|
|
|
237
245
|
## Stack Options
|
|
238
246
|
|
|
239
247
|
**Frontend:**
|
|
248
|
+
|
|
240
249
|
- React + TypeScript + Vite (default)
|
|
241
250
|
- Next.js 14 (App Router)
|
|
242
251
|
- Vue 3 + TypeScript
|
|
243
252
|
|
|
244
253
|
**Backend:**
|
|
254
|
+
|
|
245
255
|
- Express + TypeScript (default)
|
|
246
256
|
- FastAPI + Python
|
|
247
257
|
- NestJS
|
|
248
258
|
|
|
249
259
|
**Database:**
|
|
260
|
+
|
|
250
261
|
- PostgreSQL + Prisma (default)
|
|
251
262
|
- MongoDB + Mongoose
|
|
252
263
|
- MySQL + TypeORM
|
|
253
264
|
|
|
254
265
|
**Styling:**
|
|
266
|
+
|
|
255
267
|
- Tailwind CSS (default)
|
|
256
268
|
- CSS Modules
|
|
257
269
|
- Styled Components
|
|
@@ -261,29 +273,34 @@ npm run test:server # Backend tests
|
|
|
261
273
|
## Included Features
|
|
262
274
|
|
|
263
275
|
**Authentication:**
|
|
276
|
+
|
|
264
277
|
- JWT authentication
|
|
265
278
|
- OAuth (Google, GitHub)
|
|
266
279
|
- Email verification
|
|
267
280
|
- Password reset
|
|
268
281
|
|
|
269
282
|
**Testing:**
|
|
283
|
+
|
|
270
284
|
- Frontend: Jest + React Testing Library + Cypress
|
|
271
285
|
- Backend: Jest + Supertest
|
|
272
286
|
- E2E: Playwright
|
|
273
287
|
|
|
274
288
|
**CI/CD:**
|
|
289
|
+
|
|
275
290
|
- GitHub Actions workflows
|
|
276
291
|
- Automated testing
|
|
277
292
|
- Docker build and push
|
|
278
293
|
- Deployment to cloud platforms
|
|
279
294
|
|
|
280
295
|
**Development:**
|
|
296
|
+
|
|
281
297
|
- Hot reload (frontend + backend)
|
|
282
298
|
- Docker development environment
|
|
283
299
|
- Database migrations
|
|
284
300
|
- Seed data
|
|
285
301
|
|
|
286
302
|
**Production:**
|
|
303
|
+
|
|
287
304
|
- Optimized Docker images
|
|
288
305
|
- Health checks
|
|
289
306
|
- Logging and monitoring
|
|
@@ -294,6 +311,7 @@ npm run test:server # Backend tests
|
|
|
294
311
|
## Customization
|
|
295
312
|
|
|
296
313
|
**Add Features:**
|
|
314
|
+
|
|
297
315
|
```bash
|
|
298
316
|
# Add payment processing
|
|
299
317
|
/ps --add-feature payments --provider stripe
|
|
@@ -309,6 +327,7 @@ npm run test:server # Backend tests
|
|
|
309
327
|
```
|
|
310
328
|
|
|
311
329
|
**Change Stack:**
|
|
330
|
+
|
|
312
331
|
```bash
|
|
313
332
|
# Use Next.js instead of React
|
|
314
333
|
/ps --frontend nextjs
|
|
@@ -325,18 +344,21 @@ npm run test:server # Backend tests
|
|
|
325
344
|
## Deployment
|
|
326
345
|
|
|
327
346
|
**Vercel (Frontend):**
|
|
347
|
+
|
|
328
348
|
```bash
|
|
329
349
|
cd client
|
|
330
350
|
vercel
|
|
331
351
|
```
|
|
332
352
|
|
|
333
353
|
**Railway (Backend):**
|
|
354
|
+
|
|
334
355
|
```bash
|
|
335
356
|
cd server
|
|
336
357
|
railway up
|
|
337
358
|
```
|
|
338
359
|
|
|
339
360
|
**Docker (Full Stack):**
|
|
361
|
+
|
|
340
362
|
```bash
|
|
341
363
|
docker-compose -f docker-compose.prod.yml up -d
|
|
342
364
|
```
|
|
@@ -352,4 +374,4 @@ docker-compose -f docker-compose.prod.yml up -d
|
|
|
352
374
|
|
|
353
375
|
---
|
|
354
376
|
|
|
355
|
-
**Start building immediately. Ship faster. Scale effortlessly.**
|
|
377
|
+
**Start building immediately. Ship faster. Scale effortlessly.**
|
|
@@ -14,12 +14,13 @@ Generates optimized SQL queries from natural language descriptions, supporting S
|
|
|
14
14
|
## What This Command Does
|
|
15
15
|
|
|
16
16
|
**Generated Queries:**
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
17
|
+
|
|
18
|
+
- SELECT queries with JOINs
|
|
19
|
+
- INSERT, UPDATE, DELETE operations
|
|
20
|
+
- Aggregations and GROUP BY
|
|
21
|
+
- Subqueries and CTEs
|
|
22
|
+
- Indexes and optimization tips
|
|
23
|
+
- PostgreSQL, MySQL, SQLite syntax
|
|
23
24
|
|
|
24
25
|
**Output:** Production-ready SQL queries
|
|
25
26
|
|
|
@@ -48,6 +49,7 @@ Generates optimized SQL queries from natural language descriptions, supporting S
|
|
|
48
49
|
## Example Output
|
|
49
50
|
|
|
50
51
|
**Input:**
|
|
52
|
+
|
|
51
53
|
```
|
|
52
54
|
/sqb "Get all blog posts with author info and comment count, ordered by recent"
|
|
53
55
|
```
|
|
@@ -341,6 +343,7 @@ WHERE active = false
|
|
|
341
343
|
**Request:** "Search blog posts by keyword"
|
|
342
344
|
|
|
343
345
|
**PostgreSQL:**
|
|
346
|
+
|
|
344
347
|
```sql
|
|
345
348
|
-- Create text search index
|
|
346
349
|
CREATE INDEX idx_posts_search ON posts
|
|
@@ -364,6 +367,7 @@ LIMIT 20;
|
|
|
364
367
|
```
|
|
365
368
|
|
|
366
369
|
**MySQL:**
|
|
370
|
+
|
|
367
371
|
```sql
|
|
368
372
|
-- Create fulltext index
|
|
369
373
|
CREATE FULLTEXT INDEX idx_posts_search ON posts(title, content);
|
|
@@ -386,6 +390,7 @@ LIMIT 20;
|
|
|
386
390
|
## Optimization Tips
|
|
387
391
|
|
|
388
392
|
**1. Use Indexes Wisely:**
|
|
393
|
+
|
|
389
394
|
```sql
|
|
390
395
|
-- GOOD: Index foreign keys
|
|
391
396
|
CREATE INDEX idx_posts_author_id ON posts(author_id);
|
|
@@ -398,6 +403,7 @@ CREATE INDEX idx_active_users ON users(email) WHERE active = true;
|
|
|
398
403
|
```
|
|
399
404
|
|
|
400
405
|
**2. Avoid SELECT *:**
|
|
406
|
+
|
|
401
407
|
```sql
|
|
402
408
|
-- BAD
|
|
403
409
|
SELECT * FROM users;
|
|
@@ -407,6 +413,7 @@ SELECT id, email, name FROM users;
|
|
|
407
413
|
```
|
|
408
414
|
|
|
409
415
|
**3. Use LIMIT:**
|
|
416
|
+
|
|
410
417
|
```sql
|
|
411
418
|
-- BAD (fetches all rows)
|
|
412
419
|
SELECT * FROM posts ORDER BY created_at DESC;
|
|
@@ -416,6 +423,7 @@ SELECT * FROM posts ORDER BY created_at DESC LIMIT 20 OFFSET 0;
|
|
|
416
423
|
```
|
|
417
424
|
|
|
418
425
|
**4. Optimize JOINs:**
|
|
426
|
+
|
|
419
427
|
```sql
|
|
420
428
|
-- Use INNER JOIN when possible (faster than LEFT JOIN)
|
|
421
429
|
-- Use EXISTS instead of IN for large datasets
|
|
@@ -434,17 +442,20 @@ SELECT u.* FROM users u WHERE EXISTS (
|
|
|
434
442
|
## Database-Specific Syntax
|
|
435
443
|
|
|
436
444
|
**PostgreSQL:**
|
|
445
|
+
|
|
437
446
|
- `gen_random_uuid()` for UUIDs
|
|
438
447
|
- `INTERVAL` for date math
|
|
439
448
|
- `RETURNING` clause
|
|
440
449
|
- Full-text search with `tsvector`
|
|
441
450
|
|
|
442
451
|
**MySQL:**
|
|
452
|
+
|
|
443
453
|
- `UUID()` for UUIDs
|
|
444
454
|
- `DATE_SUB()` for date math
|
|
445
455
|
- FULLTEXT indexes for search
|
|
446
456
|
|
|
447
457
|
**SQLite:**
|
|
458
|
+
|
|
448
459
|
- `hex(randomblob(16))` for UUIDs
|
|
449
460
|
- `datetime()` for dates
|
|
450
461
|
- Limited JOIN types
|
|
@@ -458,4 +469,4 @@ SELECT u.* FROM users u WHERE EXISTS (
|
|
|
458
469
|
|
|
459
470
|
---
|
|
460
471
|
|
|
461
|
-
**Query smarter. Optimize faster. Scale confidently.**
|
|
472
|
+
**Query smarter. Optimize faster. Scale confidently.**
|
package/package.json
CHANGED
|
@@ -7,11 +7,13 @@ This document provides practical examples of how to use this skill effectively.
|
|
|
7
7
|
### Example 1: Simple Activation
|
|
8
8
|
|
|
9
9
|
**User Request:**
|
|
10
|
+
|
|
10
11
|
```
|
|
11
12
|
[Describe trigger phrase here]
|
|
12
13
|
```
|
|
13
14
|
|
|
14
15
|
**Skill Response:**
|
|
16
|
+
|
|
15
17
|
1. Analyzes the request
|
|
16
18
|
2. Performs the required action
|
|
17
19
|
3. Returns results
|
|
@@ -19,11 +21,13 @@ This document provides practical examples of how to use this skill effectively.
|
|
|
19
21
|
### Example 2: Complex Workflow
|
|
20
22
|
|
|
21
23
|
**User Request:**
|
|
24
|
+
|
|
22
25
|
```
|
|
23
26
|
[Describe complex scenario]
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
**Workflow:**
|
|
30
|
+
|
|
27
31
|
1. Step 1: Initial analysis
|
|
28
32
|
2. Step 2: Data processing
|
|
29
33
|
3. Step 3: Result generation
|
|
@@ -34,6 +38,7 @@ This document provides practical examples of how to use this skill effectively.
|
|
|
34
38
|
### Pattern 1: Chaining Operations
|
|
35
39
|
|
|
36
40
|
Combine this skill with other tools:
|
|
41
|
+
|
|
37
42
|
```
|
|
38
43
|
Step 1: Use this skill for [purpose]
|
|
39
44
|
Step 2: Chain with [other tool]
|
|
@@ -43,6 +48,7 @@ Step 3: Finalize with [action]
|
|
|
43
48
|
### Pattern 2: Error Handling
|
|
44
49
|
|
|
45
50
|
If issues occur:
|
|
51
|
+
|
|
46
52
|
- Check trigger phrase matches
|
|
47
53
|
- Verify context is available
|
|
48
54
|
- Review allowed-tools permissions
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Skill validation helper
|
|
3
|
-
# Validates skill activation and functionality
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
echo "🔍 Validating skill..."
|
|
8
|
-
|
|
9
|
-
# Check if SKILL.md exists
|
|
10
|
-
if [ ! -f "../SKILL.md" ]; then
|
|
11
|
-
echo "❌ Error: SKILL.md not found"
|
|
12
|
-
exit 1
|
|
13
|
-
fi
|
|
14
|
-
|
|
15
|
-
# Validate frontmatter
|
|
16
|
-
if ! grep -q "^---$" "../SKILL.md"; then
|
|
17
|
-
echo "❌ Error: No frontmatter found"
|
|
18
|
-
exit 1
|
|
19
|
-
fi
|
|
20
|
-
|
|
21
|
-
# Check required fields
|
|
22
|
-
if ! grep -q "^name:" "../SKILL.md"; then
|
|
23
|
-
echo "❌ Error: Missing 'name' field"
|
|
24
|
-
exit 1
|
|
25
|
-
fi
|
|
26
|
-
|
|
27
|
-
if ! grep -q "^description:" "../SKILL.md"; then
|
|
28
|
-
echo "❌ Error: Missing 'description' field"
|
|
29
|
-
exit 1
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
echo "✅ Skill validation passed"
|