@musashishao/agent-kit 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/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/ARCHITECTURE.md +225 -0
- package/.agent/CONTEXT.md +229 -0
- package/.agent/FEATURE_ROADMAP.md +435 -0
- package/.agent/PROMPT_TEMPLATES.md +261 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +556 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/project-planner.md +403 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/rules/GEMINI.md +251 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/docker-expert/SKILL.md +409 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +396 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +541 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/typescript-expert/SKILL.md +429 -0
- package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/bin/cli.js +235 -0
- package/index.js +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cli-tool
|
|
3
|
+
description: Node.js CLI tool template principles. Commander.js, interactive prompts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CLI Tool Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Runtime | Node.js 20+ |
|
|
13
|
+
| Language | TypeScript |
|
|
14
|
+
| CLI Framework | Commander.js |
|
|
15
|
+
| Prompts | Inquirer.js |
|
|
16
|
+
| Output | chalk + ora |
|
|
17
|
+
| Config | cosmiconfig |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── src/
|
|
26
|
+
│ ├── index.ts # Entry point
|
|
27
|
+
│ ├── cli.ts # CLI setup
|
|
28
|
+
│ ├── commands/ # Command handlers
|
|
29
|
+
│ ├── lib/
|
|
30
|
+
│ │ ├── config.ts # Config loader
|
|
31
|
+
│ │ └── logger.ts # Styled output
|
|
32
|
+
│ └── types/
|
|
33
|
+
├── bin/
|
|
34
|
+
│ └── cli.js # Executable
|
|
35
|
+
└── package.json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## CLI Design Principles
|
|
41
|
+
|
|
42
|
+
| Principle | Description |
|
|
43
|
+
|-----------|-------------|
|
|
44
|
+
| Subcommands | Group related actions |
|
|
45
|
+
| Options | Flags with defaults |
|
|
46
|
+
| Interactive | Prompts when needed |
|
|
47
|
+
| Non-interactive | Support --yes flags |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Key Components
|
|
52
|
+
|
|
53
|
+
| Component | Purpose |
|
|
54
|
+
|-----------|---------|
|
|
55
|
+
| Commander | Command parsing |
|
|
56
|
+
| Inquirer | Interactive prompts |
|
|
57
|
+
| Chalk | Colored output |
|
|
58
|
+
| Ora | Spinners/loading |
|
|
59
|
+
| Cosmiconfig | Config file discovery |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Setup Steps
|
|
64
|
+
|
|
65
|
+
1. Create project directory
|
|
66
|
+
2. `npm init -y`
|
|
67
|
+
3. Install deps: `npm install commander @inquirer/prompts chalk ora cosmiconfig`
|
|
68
|
+
4. Configure bin in package.json
|
|
69
|
+
5. `npm link` for local testing
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Publishing
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm login
|
|
77
|
+
npm publish
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Best Practices
|
|
83
|
+
|
|
84
|
+
- Provide helpful error messages
|
|
85
|
+
- Support both interactive and non-interactive modes
|
|
86
|
+
- Use consistent output styling
|
|
87
|
+
- Validate inputs with Zod
|
|
88
|
+
- Exit with proper codes (0 success, 1 error)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: electron-desktop
|
|
3
|
+
description: Electron desktop app template principles. Cross-platform, React, TypeScript.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Electron Desktop App Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Framework | Electron 28+ |
|
|
13
|
+
| UI | React 18 |
|
|
14
|
+
| Language | TypeScript |
|
|
15
|
+
| Styling | Tailwind CSS |
|
|
16
|
+
| Bundler | Vite + electron-builder |
|
|
17
|
+
| IPC | Type-safe communication |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── electron/
|
|
26
|
+
│ ├── main.ts # Main process
|
|
27
|
+
│ ├── preload.ts # Preload script
|
|
28
|
+
│ └── ipc/ # IPC handlers
|
|
29
|
+
├── src/
|
|
30
|
+
│ ├── App.tsx
|
|
31
|
+
│ ├── components/
|
|
32
|
+
│ │ ├── TitleBar.tsx # Custom title bar
|
|
33
|
+
│ │ └── ...
|
|
34
|
+
│ └── hooks/
|
|
35
|
+
├── public/
|
|
36
|
+
└── package.json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Process Model
|
|
42
|
+
|
|
43
|
+
| Process | Role |
|
|
44
|
+
|---------|------|
|
|
45
|
+
| Main | Node.js, system access |
|
|
46
|
+
| Renderer | Chromium, React UI |
|
|
47
|
+
| Preload | Bridge, context isolation |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Key Concepts
|
|
52
|
+
|
|
53
|
+
| Concept | Purpose |
|
|
54
|
+
|---------|---------|
|
|
55
|
+
| contextBridge | Safe API exposure |
|
|
56
|
+
| ipcMain/ipcRenderer | Process communication |
|
|
57
|
+
| nodeIntegration: false | Security |
|
|
58
|
+
| contextIsolation: true | Security |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Setup Steps
|
|
63
|
+
|
|
64
|
+
1. `npm create vite {{name}} -- --template react-ts`
|
|
65
|
+
2. Install: `npm install -D electron electron-builder vite-plugin-electron`
|
|
66
|
+
3. Create electron/ directory
|
|
67
|
+
4. Configure main process
|
|
68
|
+
5. `npm run electron:dev`
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Build Targets
|
|
73
|
+
|
|
74
|
+
| Platform | Output |
|
|
75
|
+
|----------|--------|
|
|
76
|
+
| Windows | NSIS, Portable |
|
|
77
|
+
| macOS | DMG, ZIP |
|
|
78
|
+
| Linux | AppImage, DEB |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Best Practices
|
|
83
|
+
|
|
84
|
+
- Use preload script for main/renderer bridge
|
|
85
|
+
- Type-safe IPC with typed handlers
|
|
86
|
+
- Custom title bar for native feel
|
|
87
|
+
- Handle window state (maximize, minimize)
|
|
88
|
+
- Auto-updates with electron-updater
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: express-api
|
|
3
|
+
description: Express.js REST API template principles. TypeScript, Prisma, JWT.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Express.js API Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Runtime | Node.js 20+ |
|
|
13
|
+
| Framework | Express.js |
|
|
14
|
+
| Language | TypeScript |
|
|
15
|
+
| Database | PostgreSQL + Prisma |
|
|
16
|
+
| Validation | Zod |
|
|
17
|
+
| Auth | JWT + bcrypt |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── prisma/
|
|
26
|
+
│ └── schema.prisma
|
|
27
|
+
├── src/
|
|
28
|
+
│ ├── app.ts # Express setup
|
|
29
|
+
│ ├── config/ # Environment
|
|
30
|
+
│ ├── routes/ # Route handlers
|
|
31
|
+
│ ├── controllers/ # Business logic
|
|
32
|
+
│ ├── services/ # Data access
|
|
33
|
+
│ ├── middleware/
|
|
34
|
+
│ │ ├── auth.ts # JWT verify
|
|
35
|
+
│ │ ├── error.ts # Error handler
|
|
36
|
+
│ │ └── validate.ts # Zod validation
|
|
37
|
+
│ ├── schemas/ # Zod schemas
|
|
38
|
+
│ └── utils/
|
|
39
|
+
└── package.json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Middleware Stack
|
|
45
|
+
|
|
46
|
+
| Order | Middleware |
|
|
47
|
+
|-------|------------|
|
|
48
|
+
| 1 | helmet (security) |
|
|
49
|
+
| 2 | cors |
|
|
50
|
+
| 3 | morgan (logging) |
|
|
51
|
+
| 4 | body parsing |
|
|
52
|
+
| 5 | routes |
|
|
53
|
+
| 6 | error handler |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## API Response Format
|
|
58
|
+
|
|
59
|
+
| Type | Structure |
|
|
60
|
+
|------|-----------|
|
|
61
|
+
| Success | `{ success: true, data: {...} }` |
|
|
62
|
+
| Error | `{ error: "message", details: [...] }` |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Setup Steps
|
|
67
|
+
|
|
68
|
+
1. Create project directory
|
|
69
|
+
2. `npm init -y`
|
|
70
|
+
3. Install deps: `npm install express prisma zod bcrypt jsonwebtoken`
|
|
71
|
+
4. Configure Prisma
|
|
72
|
+
5. `npm run db:push`
|
|
73
|
+
6. `npm run dev`
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Best Practices
|
|
78
|
+
|
|
79
|
+
- Layer architecture (routes → controllers → services)
|
|
80
|
+
- Validate all inputs with Zod
|
|
81
|
+
- Centralized error handling
|
|
82
|
+
- Environment-based config
|
|
83
|
+
- Use Prisma for type-safe DB access
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: flutter-app
|
|
3
|
+
description: Flutter mobile app template principles. Riverpod, Go Router, clean architecture.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Flutter App Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Framework | Flutter 3.x |
|
|
13
|
+
| Language | Dart 3.x |
|
|
14
|
+
| State | Riverpod 2.0 |
|
|
15
|
+
| Navigation | Go Router |
|
|
16
|
+
| HTTP | Dio |
|
|
17
|
+
| Storage | Hive |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project_name/
|
|
25
|
+
├── lib/
|
|
26
|
+
│ ├── main.dart
|
|
27
|
+
│ ├── app.dart
|
|
28
|
+
│ ├── core/
|
|
29
|
+
│ │ ├── constants/
|
|
30
|
+
│ │ ├── theme/
|
|
31
|
+
│ │ ├── router/
|
|
32
|
+
│ │ └── utils/
|
|
33
|
+
│ ├── features/
|
|
34
|
+
│ │ ├── auth/
|
|
35
|
+
│ │ │ ├── data/
|
|
36
|
+
│ │ │ ├── domain/
|
|
37
|
+
│ │ │ └── presentation/
|
|
38
|
+
│ │ └── home/
|
|
39
|
+
│ ├── shared/
|
|
40
|
+
│ │ ├── widgets/
|
|
41
|
+
│ │ └── providers/
|
|
42
|
+
│ └── services/
|
|
43
|
+
│ ├── api/
|
|
44
|
+
│ └── storage/
|
|
45
|
+
├── test/
|
|
46
|
+
└── pubspec.yaml
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Architecture Layers
|
|
52
|
+
|
|
53
|
+
| Layer | Contents |
|
|
54
|
+
|-------|----------|
|
|
55
|
+
| Presentation | Screens, Widgets, Providers |
|
|
56
|
+
| Domain | Entities, Use Cases |
|
|
57
|
+
| Data | Repositories, Models |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Key Packages
|
|
62
|
+
|
|
63
|
+
| Package | Purpose |
|
|
64
|
+
|---------|---------|
|
|
65
|
+
| flutter_riverpod | State management |
|
|
66
|
+
| riverpod_annotation | Code generation |
|
|
67
|
+
| go_router | Navigation |
|
|
68
|
+
| dio | HTTP client |
|
|
69
|
+
| freezed | Immutable models |
|
|
70
|
+
| hive | Local storage |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Setup Steps
|
|
75
|
+
|
|
76
|
+
1. `flutter create {{name}} --org com.{{bundle}}`
|
|
77
|
+
2. Update `pubspec.yaml`
|
|
78
|
+
3. `flutter pub get`
|
|
79
|
+
4. Run code generation: `dart run build_runner build`
|
|
80
|
+
5. `flutter run`
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Best Practices
|
|
85
|
+
|
|
86
|
+
- Feature-first folder structure
|
|
87
|
+
- Riverpod for state, React Query pattern for server state
|
|
88
|
+
- Freezed for immutable data classes
|
|
89
|
+
- Go Router for declarative navigation
|
|
90
|
+
- Material 3 theming
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: monorepo-turborepo
|
|
3
|
+
description: Turborepo monorepo template principles. pnpm workspaces, shared packages.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Turborepo Monorepo Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Build System | Turborepo |
|
|
13
|
+
| Package Manager | pnpm |
|
|
14
|
+
| Apps | Next.js, Express |
|
|
15
|
+
| Packages | Shared UI, Config, Types |
|
|
16
|
+
| Language | TypeScript |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Directory Structure
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
project-name/
|
|
24
|
+
├── apps/
|
|
25
|
+
│ ├── web/ # Next.js app
|
|
26
|
+
│ ├── api/ # Express API
|
|
27
|
+
│ └── docs/ # Documentation
|
|
28
|
+
├── packages/
|
|
29
|
+
│ ├── ui/ # Shared components
|
|
30
|
+
│ ├── config/ # ESLint, TS, Tailwind
|
|
31
|
+
│ ├── types/ # Shared types
|
|
32
|
+
│ └── utils/ # Shared utilities
|
|
33
|
+
├── turbo.json
|
|
34
|
+
├── pnpm-workspace.yaml
|
|
35
|
+
└── package.json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Key Concepts
|
|
41
|
+
|
|
42
|
+
| Concept | Description |
|
|
43
|
+
|---------|-------------|
|
|
44
|
+
| Workspaces | pnpm-workspace.yaml |
|
|
45
|
+
| Pipeline | turbo.json task graph |
|
|
46
|
+
| Caching | Remote/local task caching |
|
|
47
|
+
| Dependencies | `workspace:*` protocol |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Turbo Pipeline
|
|
52
|
+
|
|
53
|
+
| Task | Depends On |
|
|
54
|
+
|------|------------|
|
|
55
|
+
| build | ^build (dependencies first) |
|
|
56
|
+
| dev | cache: false, persistent |
|
|
57
|
+
| lint | ^build |
|
|
58
|
+
| test | ^build |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Setup Steps
|
|
63
|
+
|
|
64
|
+
1. Create root directory
|
|
65
|
+
2. `pnpm init`
|
|
66
|
+
3. Create pnpm-workspace.yaml
|
|
67
|
+
4. Create turbo.json
|
|
68
|
+
5. Add apps and packages
|
|
69
|
+
6. `pnpm install`
|
|
70
|
+
7. `pnpm dev`
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Common Commands
|
|
75
|
+
|
|
76
|
+
| Command | Description |
|
|
77
|
+
|---------|-------------|
|
|
78
|
+
| `pnpm dev` | Run all apps |
|
|
79
|
+
| `pnpm build` | Build all |
|
|
80
|
+
| `pnpm --filter @name/web dev` | Run specific app |
|
|
81
|
+
| `pnpm --filter @name/web add axios` | Add dep to app |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Best Practices
|
|
86
|
+
|
|
87
|
+
- Shared configs in packages/config
|
|
88
|
+
- Shared types in packages/types
|
|
89
|
+
- Internal packages with `workspace:*`
|
|
90
|
+
- Use Turbo remote caching for CI
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-fullstack
|
|
3
|
+
description: Next.js full-stack template principles. App Router, Prisma, Tailwind.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js Full-Stack Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Framework | Next.js 14 (App Router) |
|
|
13
|
+
| Language | TypeScript |
|
|
14
|
+
| Database | PostgreSQL + Prisma |
|
|
15
|
+
| Styling | Tailwind CSS |
|
|
16
|
+
| Auth | Clerk (optional) |
|
|
17
|
+
| Validation | Zod |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── prisma/
|
|
26
|
+
│ └── schema.prisma
|
|
27
|
+
├── src/
|
|
28
|
+
│ ├── app/
|
|
29
|
+
│ │ ├── layout.tsx
|
|
30
|
+
│ │ ├── page.tsx
|
|
31
|
+
│ │ ├── globals.css
|
|
32
|
+
│ │ └── api/
|
|
33
|
+
│ ├── components/
|
|
34
|
+
│ │ └── ui/
|
|
35
|
+
│ ├── lib/
|
|
36
|
+
│ │ ├── db.ts # Prisma client
|
|
37
|
+
│ │ └── utils.ts
|
|
38
|
+
│ └── types/
|
|
39
|
+
├── .env.example
|
|
40
|
+
└── package.json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Key Concepts
|
|
46
|
+
|
|
47
|
+
| Concept | Description |
|
|
48
|
+
|---------|-------------|
|
|
49
|
+
| Server Components | Default, fetch data |
|
|
50
|
+
| Server Actions | Form mutations |
|
|
51
|
+
| Route Handlers | API endpoints |
|
|
52
|
+
| Prisma | Type-safe ORM |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Environment Variables
|
|
57
|
+
|
|
58
|
+
| Variable | Purpose |
|
|
59
|
+
|----------|---------|
|
|
60
|
+
| DATABASE_URL | Prisma connection |
|
|
61
|
+
| NEXT_PUBLIC_APP_URL | Public URL |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Setup Steps
|
|
66
|
+
|
|
67
|
+
1. `npx create-next-app {{name}} --typescript --tailwind --app`
|
|
68
|
+
2. `npm install prisma @prisma/client zod`
|
|
69
|
+
3. `npx prisma init`
|
|
70
|
+
4. Configure schema
|
|
71
|
+
5. `npm run db:push`
|
|
72
|
+
6. `npm run dev`
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Best Practices
|
|
77
|
+
|
|
78
|
+
- Server Components by default
|
|
79
|
+
- Server Actions for mutations
|
|
80
|
+
- Prisma for type-safe DB
|
|
81
|
+
- Zod for validation
|
|
82
|
+
- Edge runtime where possible
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-saas
|
|
3
|
+
description: Next.js SaaS template principles. Auth, payments, email.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js SaaS Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Framework | Next.js 14 (App Router) |
|
|
13
|
+
| Auth | NextAuth.js v5 |
|
|
14
|
+
| Payments | Stripe |
|
|
15
|
+
| Database | PostgreSQL + Prisma |
|
|
16
|
+
| Email | Resend |
|
|
17
|
+
| UI | Tailwind (ASK USER: shadcn/Headless UI/Custom?) |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── prisma/
|
|
26
|
+
├── src/
|
|
27
|
+
│ ├── app/
|
|
28
|
+
│ │ ├── (auth)/ # Login, register
|
|
29
|
+
│ │ ├── (dashboard)/ # Protected routes
|
|
30
|
+
│ │ ├── (marketing)/ # Landing, pricing
|
|
31
|
+
│ │ └── api/
|
|
32
|
+
│ │ ├── auth/[...nextauth]/
|
|
33
|
+
│ │ └── webhooks/stripe/
|
|
34
|
+
│ ├── components/
|
|
35
|
+
│ │ ├── auth/
|
|
36
|
+
│ │ ├── billing/
|
|
37
|
+
│ │ └── dashboard/
|
|
38
|
+
│ ├── lib/
|
|
39
|
+
│ │ ├── auth.ts # NextAuth config
|
|
40
|
+
│ │ ├── stripe.ts # Stripe client
|
|
41
|
+
│ │ └── email.ts # Resend client
|
|
42
|
+
│ └── config/
|
|
43
|
+
│ └── subscriptions.ts
|
|
44
|
+
└── package.json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## SaaS Features
|
|
50
|
+
|
|
51
|
+
| Feature | Implementation |
|
|
52
|
+
|---------|---------------|
|
|
53
|
+
| Auth | NextAuth + OAuth |
|
|
54
|
+
| Subscriptions | Stripe Checkout |
|
|
55
|
+
| Billing Portal | Stripe Portal |
|
|
56
|
+
| Webhooks | Stripe events |
|
|
57
|
+
| Email | Transactional via Resend |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Database Schema
|
|
62
|
+
|
|
63
|
+
| Model | Fields |
|
|
64
|
+
|-------|--------|
|
|
65
|
+
| User | id, email, stripeCustomerId, subscriptionId |
|
|
66
|
+
| Account | OAuth provider data |
|
|
67
|
+
| Session | User sessions |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Environment Variables
|
|
72
|
+
|
|
73
|
+
| Variable | Purpose |
|
|
74
|
+
|----------|---------|
|
|
75
|
+
| DATABASE_URL | Prisma |
|
|
76
|
+
| NEXTAUTH_SECRET | Auth |
|
|
77
|
+
| STRIPE_SECRET_KEY | Payments |
|
|
78
|
+
| STRIPE_WEBHOOK_SECRET | Webhooks |
|
|
79
|
+
| RESEND_API_KEY | Email |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Setup Steps
|
|
84
|
+
|
|
85
|
+
1. `npx create-next-app {{name}} --typescript --tailwind --app`
|
|
86
|
+
2. Install: `npm install next-auth @auth/prisma-adapter stripe resend`
|
|
87
|
+
3. Setup Stripe products/prices
|
|
88
|
+
4. Configure environment
|
|
89
|
+
5. `npm run db:push`
|
|
90
|
+
6. `npm run stripe:listen` (webhooks)
|
|
91
|
+
7. `npm run dev`
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Best Practices
|
|
96
|
+
|
|
97
|
+
- Route groups for layout separation
|
|
98
|
+
- Stripe webhooks for subscription sync
|
|
99
|
+
- NextAuth with Prisma adapter
|
|
100
|
+
- Email templates with React Email
|