create-stacksfinder 0.1.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/README.md +235 -0
- package/dist/index.js +415 -0
- package/package.json +60 -0
package/README.md
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# create-stacksfinder
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/create-stacksfinder)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
╔═══════════════════════════════════════════════════════╗
|
|
8
|
+
║ ║
|
|
9
|
+
║ ███████╗████████╗ █████╗ ██████╗██╗ ██╗███████╗ ║
|
|
10
|
+
║ ██╔════╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝██╔════╝ ║
|
|
11
|
+
║ ███████╗ ██║ ███████║██║ █████╔╝ ███████╗ ║
|
|
12
|
+
║ ╚════██║ ██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ║
|
|
13
|
+
║ ███████║ ██║ ██║ ██║╚██████╗██║ ██╗███████║ ║
|
|
14
|
+
║ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ║
|
|
15
|
+
║ finder ║
|
|
16
|
+
║ ║
|
|
17
|
+
╚═══════════════════════════════════════════════════════╝
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Scaffold optimized tech stacks with deterministic scoring.**
|
|
21
|
+
|
|
22
|
+
CLI tool that recommends and generates production-ready projects based on your requirements. No AI hallucinations — just data-driven recommendations from versioned lookup tables.
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# With Bun (recommended)
|
|
28
|
+
bun create stacksfinder my-app
|
|
29
|
+
|
|
30
|
+
# With npm
|
|
31
|
+
npx create-stacksfinder@latest my-app
|
|
32
|
+
|
|
33
|
+
# With pnpm
|
|
34
|
+
pnpm create stacksfinder my-app
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Features
|
|
38
|
+
|
|
39
|
+
- **Deterministic Scoring** — Same input = same output, always. 80+ technologies scored across 6 dimensions.
|
|
40
|
+
- **Interactive Prompts** — Choose project type, scale, ecosystem, priorities, and constraints.
|
|
41
|
+
- **Project Generation** — Scaffolds Next.js, SvelteKit, Nuxt, or Remix with your recommended stack.
|
|
42
|
+
- **Offline Mode** — Embedded scoring data, works without internet.
|
|
43
|
+
- **Minimal ASCII Style** — Clean terminal output, no emojis.
|
|
44
|
+
|
|
45
|
+
## Usage
|
|
46
|
+
|
|
47
|
+
### Interactive Mode (default)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
bun create stacksfinder
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
You'll be prompted for:
|
|
54
|
+
1. **Project Name** — e.g., `my-saas-app`
|
|
55
|
+
2. **Project Type** — `saas`, `ecommerce`, `api`, `content`, `internal`
|
|
56
|
+
3. **Scale** — `mvp`, `growth`, `enterprise`
|
|
57
|
+
4. **Ecosystem** — `javascript`, `typescript`, `rust`
|
|
58
|
+
5. **Priorities** — Pick up to 3: `speed`, `dx`, `cost`, `scale`, `security`, `compliance`
|
|
59
|
+
6. **Constraints** — `real-time`, `offline-first`, `edge`, `ai-features`, etc.
|
|
60
|
+
|
|
61
|
+
### Recommend Only
|
|
62
|
+
|
|
63
|
+
Get recommendations without generating a project:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
bun create stacksfinder --recommend-only
|
|
67
|
+
# or
|
|
68
|
+
bun create stacksfinder -r
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### JSON Output
|
|
72
|
+
|
|
73
|
+
Output recommendations as JSON for automation:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
bun create stacksfinder --json
|
|
77
|
+
# or
|
|
78
|
+
bun create stacksfinder -j
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### With Project Name
|
|
82
|
+
|
|
83
|
+
Skip the name prompt:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
bun create stacksfinder my-app
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Example Output
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
╔═══════════════════════════════════════════════════════╗
|
|
93
|
+
║ ███████╗████████╗ █████╗ ██████╗██╗ ██╗███████╗ ║
|
|
94
|
+
║ ... ║
|
|
95
|
+
╚═══════════════════════════════════════════════════════╝
|
|
96
|
+
|
|
97
|
+
Scaffold optimized tech stacks
|
|
98
|
+
Powered by deterministic scoring
|
|
99
|
+
|
|
100
|
+
STEP 1: Project Configuration
|
|
101
|
+
|
|
102
|
+
Project Name: my-saas-demo
|
|
103
|
+
Project Type: saas
|
|
104
|
+
Scale: mvp
|
|
105
|
+
Ecosystem: javascript
|
|
106
|
+
Priorities: speed, dx, cost
|
|
107
|
+
Constraints: real-time
|
|
108
|
+
|
|
109
|
+
STEP 2: Analyzing 50+ Technologies...
|
|
110
|
+
|
|
111
|
+
> Scoring completed in 2ms
|
|
112
|
+
|
|
113
|
+
STEP 3: Recommended Stack
|
|
114
|
+
|
|
115
|
+
==================================================
|
|
116
|
+
Framework SvelteKit [A] Excellent fit
|
|
117
|
+
Alt: Next.js (A-), Nuxt (B+)
|
|
118
|
+
Database Supabase [A] Excellent fit
|
|
119
|
+
Alt: Neon (A-), PlanetScale (B+)
|
|
120
|
+
ORM Drizzle [A+] Perfect fit
|
|
121
|
+
Alt: Prisma (A), Kysely (B+)
|
|
122
|
+
Auth Better Auth [A] Excellent fit
|
|
123
|
+
Hosting Vercel [A] Excellent fit
|
|
124
|
+
Payments Paddle [A] Excellent fit
|
|
125
|
+
==================================================
|
|
126
|
+
|
|
127
|
+
Stack Score: A (86/100)
|
|
128
|
+
Production-ready stack with excellent balance
|
|
129
|
+
|
|
130
|
+
Confidence: HIGH
|
|
131
|
+
- Clear winner in most categories
|
|
132
|
+
- Strong compatibility between choices
|
|
133
|
+
- Well-tested combination
|
|
134
|
+
|
|
135
|
+
------------------------------------------------
|
|
136
|
+
Fine-tune with 25+ constraints:
|
|
137
|
+
stacksfinder.dev/builder
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Scoring Dimensions
|
|
141
|
+
|
|
142
|
+
All technologies are scored across 6 dimensions (0-100):
|
|
143
|
+
|
|
144
|
+
| Dimension | Description |
|
|
145
|
+
|-----------|-------------|
|
|
146
|
+
| **Performance** | Runtime speed, bundle size, optimization |
|
|
147
|
+
| **DX** | Learning curve, tooling, documentation |
|
|
148
|
+
| **Ecosystem** | Community size, integrations, job market |
|
|
149
|
+
| **Maintainability** | Long-term code health, upgrade path |
|
|
150
|
+
| **Cost** | Hosting costs, licensing, operational overhead |
|
|
151
|
+
| **Compliance** | Security features, audit readiness |
|
|
152
|
+
|
|
153
|
+
## Generated Project Structure
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
my-app/
|
|
157
|
+
├── package.json # Dependencies for your stack
|
|
158
|
+
├── tsconfig.json # TypeScript configuration
|
|
159
|
+
├── .env.example # Environment variables template
|
|
160
|
+
├── .gitignore
|
|
161
|
+
├── README.md # Getting started guide
|
|
162
|
+
├── src/ # Framework-specific structure
|
|
163
|
+
│ └── ...
|
|
164
|
+
├── drizzle.config.ts # If using Drizzle ORM
|
|
165
|
+
└── prisma/ # If using Prisma ORM
|
|
166
|
+
└── schema.prisma
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Supported Technologies
|
|
170
|
+
|
|
171
|
+
### Meta-Frameworks
|
|
172
|
+
Next.js, SvelteKit, Nuxt, Remix, Astro, SolidStart
|
|
173
|
+
|
|
174
|
+
### Databases
|
|
175
|
+
PostgreSQL, Supabase, Neon, PlanetScale, Turso, MongoDB, SQLite
|
|
176
|
+
|
|
177
|
+
### ORMs
|
|
178
|
+
Drizzle, Prisma, Kysely, TypeORM, Sequelize
|
|
179
|
+
|
|
180
|
+
### Auth
|
|
181
|
+
Better Auth, Lucia, Auth.js, Clerk, Supabase Auth
|
|
182
|
+
|
|
183
|
+
### Hosting
|
|
184
|
+
Vercel, Netlify, Railway, Fly.io, Cloudflare, AWS
|
|
185
|
+
|
|
186
|
+
### Payments
|
|
187
|
+
Stripe, Paddle, LemonSqueezy
|
|
188
|
+
|
|
189
|
+
## Options
|
|
190
|
+
|
|
191
|
+
| Flag | Alias | Description |
|
|
192
|
+
|------|-------|-------------|
|
|
193
|
+
| `--recommend-only` | `-r` | Only show recommendations, skip generation |
|
|
194
|
+
| `--json` | `-j` | Output as JSON |
|
|
195
|
+
| `--version` | `-v` | Show version and data versions |
|
|
196
|
+
| `--help` | `-h` | Show help |
|
|
197
|
+
|
|
198
|
+
## Programmatic Usage
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
import { scoreStack } from 'create-stacksfinder/scoring';
|
|
202
|
+
|
|
203
|
+
const context = {
|
|
204
|
+
projectName: 'my-app',
|
|
205
|
+
projectType: 'saas',
|
|
206
|
+
scale: 'mvp',
|
|
207
|
+
ecosystem: 'typescript',
|
|
208
|
+
priorities: ['speed', 'dx', 'cost'],
|
|
209
|
+
constraints: ['real-time'],
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
const stack = scoreStack(context);
|
|
213
|
+
console.log(stack.categories); // Recommended technologies
|
|
214
|
+
console.log(stack.stackScore); // Overall grade
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Pro Features
|
|
218
|
+
|
|
219
|
+
Want more control? Visit [stacksfinder.dev](https://stacksfinder.dev) for:
|
|
220
|
+
|
|
221
|
+
- **25+ Constraints** — Fine-tune recommendations with advanced filters
|
|
222
|
+
- **AI Narratives** — Get detailed explanations for each choice
|
|
223
|
+
- **Blueprints** — Save and share your stack configurations
|
|
224
|
+
- **Audits** — Analyze existing projects for technical debt
|
|
225
|
+
- **MCP Server** — Use in Claude, Cursor, Windsurf, VS Code
|
|
226
|
+
|
|
227
|
+
## Related
|
|
228
|
+
|
|
229
|
+
- **Website**: [stacksfinder.dev](https://stacksfinder.dev)
|
|
230
|
+
- **MCP Server**: [@stacksfinder/mcp-server](https://www.npmjs.com/package/@stacksfinder/mcp-server)
|
|
231
|
+
- **GitHub**: [github.com/hoklims/stacksfinder](https://github.com/hoklims/stacksfinder)
|
|
232
|
+
|
|
233
|
+
## License
|
|
234
|
+
|
|
235
|
+
MIT
|