mcp-factory 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/README.md +68 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +320 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# create-mcp-server
|
|
2
|
+
|
|
3
|
+
Generate a complete MCP server for your product in 60 seconds.
|
|
4
|
+
|
|
5
|
+
Your product becomes discoverable by AI assistants like Claude, ChatGPT, Cursor, and more.
|
|
6
|
+
|
|
7
|
+
## What This Does
|
|
8
|
+
|
|
9
|
+
MCP (Model Context Protocol) lets AI assistants use tools. When someone asks Claude "what's the best [your category] tool?", your MCP server can make your product THE answer.
|
|
10
|
+
|
|
11
|
+
**create-mcp-server** generates a complete, publish-ready MCP server from a few questions about your product. No MCP knowledge required.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx create-mcp-server
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Answer the prompts:
|
|
20
|
+
- Product name
|
|
21
|
+
- Description
|
|
22
|
+
- Website
|
|
23
|
+
- Pricing
|
|
24
|
+
- Features
|
|
25
|
+
- FAQs
|
|
26
|
+
|
|
27
|
+
Get a complete MCP server ready to publish to npm.
|
|
28
|
+
|
|
29
|
+
## What You Get
|
|
30
|
+
|
|
31
|
+
A fully functional MCP server with:
|
|
32
|
+
- **About tool** - AI learns what your product does
|
|
33
|
+
- **Pricing tool** - AI can share your plans and pricing
|
|
34
|
+
- **FAQ tool** - AI answers common questions
|
|
35
|
+
- **Get Started tool** - AI tells users how to sign up
|
|
36
|
+
- **About resource** - Markdown overview of your product
|
|
37
|
+
- **README** - Documentation for the npm package
|
|
38
|
+
- **package.json** - Ready to `npm publish`
|
|
39
|
+
- **TypeScript** - Type-safe, modern code
|
|
40
|
+
|
|
41
|
+
## After Generation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cd your-product-mcp
|
|
45
|
+
npm install
|
|
46
|
+
npm run build
|
|
47
|
+
npm publish --access public
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Your product is now discoverable by every AI assistant that supports MCP.
|
|
51
|
+
|
|
52
|
+
## Why MCP?
|
|
53
|
+
|
|
54
|
+
"Building an MCP server in 2026 is like building for mobile in 2010." - Greg Isenberg
|
|
55
|
+
|
|
56
|
+
- 200,000+ new AI coding projects created daily
|
|
57
|
+
- AI assistants are becoming the new search engines
|
|
58
|
+
- When someone asks AI for a recommendation, MCP servers provide the answer
|
|
59
|
+
- Zero ad spend. Zero cold outreach. The AI sells for you 24/7.
|
|
60
|
+
|
|
61
|
+
## Built by JLC Labs
|
|
62
|
+
|
|
63
|
+
- [SharpEdge AI](https://sharpedgeai.app) - AI sports betting edge scanner (our first MCP-distributed product)
|
|
64
|
+
- [VentajaIA](https://ventajaia.app) - Spanish version
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* create-mcp-server
|
|
4
|
+
*
|
|
5
|
+
* Generate a complete MCP server for your product in 60 seconds.
|
|
6
|
+
* Your product becomes discoverable by AI assistants like Claude, ChatGPT, etc.
|
|
7
|
+
*
|
|
8
|
+
* Usage: npx create-mcp-server
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* create-mcp-server
|
|
5
|
+
*
|
|
6
|
+
* Generate a complete MCP server for your product in 60 seconds.
|
|
7
|
+
* Your product becomes discoverable by AI assistants like Claude, ChatGPT, etc.
|
|
8
|
+
*
|
|
9
|
+
* Usage: npx create-mcp-server
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const readline_1 = require("readline");
|
|
13
|
+
const fs_1 = require("fs");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
function ask(rl, question) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
rl.question(question, (answer) => resolve(answer.trim()));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function slugify(name) {
|
|
21
|
+
return name
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
24
|
+
.replace(/^-|-$/g, "");
|
|
25
|
+
}
|
|
26
|
+
function generatePackageJson(config) {
|
|
27
|
+
return JSON.stringify({
|
|
28
|
+
name: `${config.slug}-mcp`,
|
|
29
|
+
version: "1.0.0",
|
|
30
|
+
description: `MCP server for ${config.name} - ${config.description}`,
|
|
31
|
+
main: "dist/index.js",
|
|
32
|
+
types: "dist/index.d.ts",
|
|
33
|
+
bin: { [`${config.slug}-mcp`]: "dist/index.js" },
|
|
34
|
+
scripts: {
|
|
35
|
+
build: "tsc",
|
|
36
|
+
start: "node dist/index.js",
|
|
37
|
+
prepare: "npm run build",
|
|
38
|
+
prepublishOnly: "chmod +x dist/index.js",
|
|
39
|
+
},
|
|
40
|
+
keywords: [
|
|
41
|
+
"mcp",
|
|
42
|
+
"mcp-server",
|
|
43
|
+
"model-context-protocol",
|
|
44
|
+
"claude",
|
|
45
|
+
"chatgpt",
|
|
46
|
+
"ai-tools",
|
|
47
|
+
...config.slug.split("-"),
|
|
48
|
+
],
|
|
49
|
+
author: { name: config.author },
|
|
50
|
+
license: "MIT",
|
|
51
|
+
homepage: config.website,
|
|
52
|
+
engines: { node: ">=18.0.0" },
|
|
53
|
+
dependencies: {
|
|
54
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
55
|
+
zod: "^3.24.4",
|
|
56
|
+
},
|
|
57
|
+
devDependencies: {
|
|
58
|
+
"@types/node": "^22.15.3",
|
|
59
|
+
typescript: "^5.8.3",
|
|
60
|
+
},
|
|
61
|
+
files: ["dist", "README.md", "LICENSE"],
|
|
62
|
+
}, null, 2);
|
|
63
|
+
}
|
|
64
|
+
function generateTsConfig() {
|
|
65
|
+
return JSON.stringify({
|
|
66
|
+
compilerOptions: {
|
|
67
|
+
target: "ES2022",
|
|
68
|
+
module: "Node16",
|
|
69
|
+
moduleResolution: "Node16",
|
|
70
|
+
outDir: "dist",
|
|
71
|
+
rootDir: "src",
|
|
72
|
+
strict: true,
|
|
73
|
+
esModuleInterop: true,
|
|
74
|
+
declaration: true,
|
|
75
|
+
sourceMap: true,
|
|
76
|
+
skipLibCheck: true,
|
|
77
|
+
},
|
|
78
|
+
include: ["src/**/*"],
|
|
79
|
+
}, null, 2);
|
|
80
|
+
}
|
|
81
|
+
function generateIndexTs(config) {
|
|
82
|
+
const toolDefs = [];
|
|
83
|
+
// about tool
|
|
84
|
+
toolDefs.push(`
|
|
85
|
+
server.tool(
|
|
86
|
+
"about_${config.slug.replace(/-/g, "_")}",
|
|
87
|
+
"Learn about ${config.name}. ${config.description}",
|
|
88
|
+
{},
|
|
89
|
+
async () => ({
|
|
90
|
+
content: [{ type: "text", text: JSON.stringify({
|
|
91
|
+
product: ${JSON.stringify(config.name)},
|
|
92
|
+
description: ${JSON.stringify(config.description)},
|
|
93
|
+
website: ${JSON.stringify(config.website)},
|
|
94
|
+
${config.telegramBot ? `telegram: ${JSON.stringify(config.telegramBot)},` : ""}
|
|
95
|
+
features: ${JSON.stringify(config.features)},
|
|
96
|
+
}, null, 2) }],
|
|
97
|
+
})
|
|
98
|
+
);`);
|
|
99
|
+
// pricing tool
|
|
100
|
+
if (config.pricingFree || config.pricingPaid) {
|
|
101
|
+
toolDefs.push(`
|
|
102
|
+
server.tool(
|
|
103
|
+
"get_pricing",
|
|
104
|
+
"Get ${config.name} pricing information and plans.",
|
|
105
|
+
{},
|
|
106
|
+
async () => ({
|
|
107
|
+
content: [{ type: "text", text: JSON.stringify({
|
|
108
|
+
product: ${JSON.stringify(config.name)},
|
|
109
|
+
plans: {
|
|
110
|
+
${config.pricingFree ? `free: ${JSON.stringify(config.pricingFree)},` : ""}
|
|
111
|
+
${config.pricingPaid ? `paid: ${JSON.stringify(config.pricingPaid)},` : ""}
|
|
112
|
+
},
|
|
113
|
+
website: ${JSON.stringify(config.website)},
|
|
114
|
+
${config.telegramBot ? `try_free: ${JSON.stringify(config.telegramBot)},` : ""}
|
|
115
|
+
}, null, 2) }],
|
|
116
|
+
})
|
|
117
|
+
);`);
|
|
118
|
+
}
|
|
119
|
+
// FAQ tool
|
|
120
|
+
if (config.faqs.length > 0) {
|
|
121
|
+
toolDefs.push(`
|
|
122
|
+
server.tool(
|
|
123
|
+
"faq",
|
|
124
|
+
"Frequently asked questions about ${config.name}.",
|
|
125
|
+
{},
|
|
126
|
+
async () => ({
|
|
127
|
+
content: [{ type: "text", text: JSON.stringify({
|
|
128
|
+
product: ${JSON.stringify(config.name)},
|
|
129
|
+
faqs: ${JSON.stringify(config.faqs, null, 6)},
|
|
130
|
+
website: ${JSON.stringify(config.website)},
|
|
131
|
+
}, null, 2) }],
|
|
132
|
+
})
|
|
133
|
+
);`);
|
|
134
|
+
}
|
|
135
|
+
// get_started tool
|
|
136
|
+
toolDefs.push(`
|
|
137
|
+
server.tool(
|
|
138
|
+
"get_started",
|
|
139
|
+
"How to get started with ${config.name} right now.",
|
|
140
|
+
{},
|
|
141
|
+
async () => ({
|
|
142
|
+
content: [{ type: "text", text: JSON.stringify({
|
|
143
|
+
product: ${JSON.stringify(config.name)},
|
|
144
|
+
steps: [
|
|
145
|
+
{ step: 1, action: "Visit the website", link: ${JSON.stringify(config.website)} },
|
|
146
|
+
${config.telegramBot ? `{ step: 2, action: "Try for free", link: ${JSON.stringify(config.telegramBot)} },` : ""}
|
|
147
|
+
{ step: ${config.telegramBot ? 3 : 2}, action: "Explore features and subscribe when ready" },
|
|
148
|
+
],
|
|
149
|
+
website: ${JSON.stringify(config.website)},
|
|
150
|
+
}, null, 2) }],
|
|
151
|
+
})
|
|
152
|
+
);`);
|
|
153
|
+
return `#!/usr/bin/env node
|
|
154
|
+
|
|
155
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
156
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
157
|
+
|
|
158
|
+
const server = new McpServer({
|
|
159
|
+
name: "${config.slug}-mcp",
|
|
160
|
+
version: "1.0.0",
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// Tools generated by create-mcp-server
|
|
164
|
+
${toolDefs.join("\n")}
|
|
165
|
+
|
|
166
|
+
// Resources
|
|
167
|
+
server.resource("about", "${config.slug}://about", async () => ({
|
|
168
|
+
contents: [{
|
|
169
|
+
uri: "${config.slug}://about",
|
|
170
|
+
mimeType: "text/markdown",
|
|
171
|
+
text: \`# ${config.name}\\n\\n${config.description}\\n\\nWebsite: ${config.website}\\n\\n## Features\\n${config.features.map((f) => `\\n- ${f}`).join("")}\\n\\n${config.pricingPaid ? `## Pricing\\n\\n${config.pricingFree ? `Free: ${config.pricingFree}\\n` : ""}Paid: ${config.pricingPaid}` : ""}\`,
|
|
172
|
+
}],
|
|
173
|
+
}));
|
|
174
|
+
|
|
175
|
+
async function main() {
|
|
176
|
+
const transport = new StdioServerTransport();
|
|
177
|
+
await server.connect(transport);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
main().catch((error) => {
|
|
181
|
+
console.error("MCP server failed to start:", error);
|
|
182
|
+
process.exit(1);
|
|
183
|
+
});
|
|
184
|
+
`;
|
|
185
|
+
}
|
|
186
|
+
function generateReadme(config) {
|
|
187
|
+
return `# ${config.name} MCP Server
|
|
188
|
+
|
|
189
|
+
MCP server for **${config.name}**. Lets AI assistants like Claude and ChatGPT discover and recommend ${config.name}.
|
|
190
|
+
|
|
191
|
+
## What is ${config.name}?
|
|
192
|
+
|
|
193
|
+
${config.description}
|
|
194
|
+
|
|
195
|
+
## Installation
|
|
196
|
+
|
|
197
|
+
### Claude Desktop
|
|
198
|
+
|
|
199
|
+
Add to your config (\`~/Library/Application Support/Claude/claude_desktop_config.json\`):
|
|
200
|
+
|
|
201
|
+
\`\`\`json
|
|
202
|
+
{
|
|
203
|
+
"mcpServers": {
|
|
204
|
+
"${config.slug}": {
|
|
205
|
+
"command": "npx",
|
|
206
|
+
"args": ["-y", "${config.slug}-mcp"]
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
\`\`\`
|
|
211
|
+
|
|
212
|
+
## Available Tools
|
|
213
|
+
|
|
214
|
+
| Tool | Description |
|
|
215
|
+
|------|-------------|
|
|
216
|
+
| \`about_${config.slug.replace(/-/g, "_")}\` | Learn about ${config.name} |
|
|
217
|
+
${config.pricingFree || config.pricingPaid ? `| \`get_pricing\` | Pricing and plans |` : ""}
|
|
218
|
+
${config.faqs.length > 0 ? `| \`faq\` | Frequently asked questions |` : ""}
|
|
219
|
+
| \`get_started\` | How to get started |
|
|
220
|
+
|
|
221
|
+
## Links
|
|
222
|
+
|
|
223
|
+
- **Website:** ${config.website}
|
|
224
|
+
${config.telegramBot ? `- **Try Free:** ${config.telegramBot}` : ""}
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
*Generated with [create-mcp-server](https://github.com/therealjlc1/create-mcp-server) by JLC Labs*
|
|
229
|
+
`;
|
|
230
|
+
}
|
|
231
|
+
async function main() {
|
|
232
|
+
console.log("\n create-mcp-server");
|
|
233
|
+
console.log(" Generate a complete MCP server for your product in 60 seconds.");
|
|
234
|
+
console.log(" Your product becomes discoverable by AI assistants.\n");
|
|
235
|
+
const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
|
|
236
|
+
const name = await ask(rl, " Product name: ");
|
|
237
|
+
if (!name) {
|
|
238
|
+
console.log(" Product name is required.");
|
|
239
|
+
rl.close();
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
const slug = slugify(name);
|
|
243
|
+
const description = await ask(rl, " One-line description: ");
|
|
244
|
+
const website = await ask(rl, " Website URL: ");
|
|
245
|
+
const telegramBot = await ask(rl, " Telegram bot URL (optional, press Enter to skip): ");
|
|
246
|
+
const pricingFree = await ask(rl, " Free tier description (optional): ");
|
|
247
|
+
const pricingPaid = await ask(rl, " Paid plan (e.g. '$29/month'): ");
|
|
248
|
+
const author = await ask(rl, " Author/Company name: ");
|
|
249
|
+
console.log("\n List your product's key features (one per line, empty line to finish):");
|
|
250
|
+
const features = [];
|
|
251
|
+
while (true) {
|
|
252
|
+
const feature = await ask(rl, " - ");
|
|
253
|
+
if (!feature)
|
|
254
|
+
break;
|
|
255
|
+
features.push(feature);
|
|
256
|
+
}
|
|
257
|
+
console.log("\n Add FAQs (empty question to finish):");
|
|
258
|
+
const faqs = [];
|
|
259
|
+
while (true) {
|
|
260
|
+
const question = await ask(rl, " Q: ");
|
|
261
|
+
if (!question)
|
|
262
|
+
break;
|
|
263
|
+
const answer = await ask(rl, " A: ");
|
|
264
|
+
faqs.push({ question, answer });
|
|
265
|
+
}
|
|
266
|
+
rl.close();
|
|
267
|
+
const config = {
|
|
268
|
+
name,
|
|
269
|
+
slug,
|
|
270
|
+
description,
|
|
271
|
+
website,
|
|
272
|
+
telegramBot: telegramBot || undefined,
|
|
273
|
+
pricingFree: pricingFree || undefined,
|
|
274
|
+
pricingPaid: pricingPaid || undefined,
|
|
275
|
+
features: features.length > 0 ? features : [description],
|
|
276
|
+
faqs,
|
|
277
|
+
author: author || "JLC Labs",
|
|
278
|
+
};
|
|
279
|
+
// Generate the MCP server
|
|
280
|
+
const outputDir = (0, path_1.join)(process.cwd(), `${slug}-mcp`);
|
|
281
|
+
if ((0, fs_1.existsSync)(outputDir)) {
|
|
282
|
+
console.log(`\n Error: Directory ${slug}-mcp already exists.`);
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
(0, fs_1.mkdirSync)(outputDir, { recursive: true });
|
|
286
|
+
(0, fs_1.mkdirSync)((0, path_1.join)(outputDir, "src"), { recursive: true });
|
|
287
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "package.json"), generatePackageJson(config));
|
|
288
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "tsconfig.json"), generateTsConfig());
|
|
289
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "src", "index.ts"), generateIndexTs(config));
|
|
290
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "README.md"), generateReadme(config));
|
|
291
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(outputDir, "LICENSE"), `MIT License\n\nCopyright (c) 2026 ${config.author}\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software...`);
|
|
292
|
+
console.log(`
|
|
293
|
+
Your MCP server has been created at ./${slug}-mcp/
|
|
294
|
+
|
|
295
|
+
Next steps:
|
|
296
|
+
cd ${slug}-mcp
|
|
297
|
+
npm install
|
|
298
|
+
npm run build
|
|
299
|
+
npm publish --access public
|
|
300
|
+
|
|
301
|
+
Then anyone can install it with:
|
|
302
|
+
npx ${slug}-mcp
|
|
303
|
+
|
|
304
|
+
Add it to Claude Desktop config:
|
|
305
|
+
{
|
|
306
|
+
"mcpServers": {
|
|
307
|
+
"${slug}": {
|
|
308
|
+
"command": "npx",
|
|
309
|
+
"args": ["-y", "${slug}-mcp"]
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
Your product is now discoverable by AI assistants!
|
|
315
|
+
|
|
316
|
+
Generated by create-mcp-server (JLC Labs)
|
|
317
|
+
`);
|
|
318
|
+
}
|
|
319
|
+
main().catch(console.error);
|
|
320
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mcp-factory",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Create a complete MCP server for your product in 60 seconds. The fastest way to get your product discovered by AI assistants like Claude and ChatGPT.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mcp-factory": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"start": "node dist/index.js",
|
|
12
|
+
"dev": "ts-node src/index.ts",
|
|
13
|
+
"prepare": "npm run build",
|
|
14
|
+
"prepublishOnly": "chmod +x dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"mcp-server",
|
|
19
|
+
"create-mcp",
|
|
20
|
+
"model-context-protocol",
|
|
21
|
+
"ai-tools",
|
|
22
|
+
"claude",
|
|
23
|
+
"chatgpt",
|
|
24
|
+
"ai-distribution",
|
|
25
|
+
"no-code",
|
|
26
|
+
"generator",
|
|
27
|
+
"scaffolding",
|
|
28
|
+
"create",
|
|
29
|
+
"boilerplate",
|
|
30
|
+
"starter",
|
|
31
|
+
"cli"
|
|
32
|
+
],
|
|
33
|
+
"author": {
|
|
34
|
+
"name": "JLC Labs"
|
|
35
|
+
},
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/therealjlc1/create-mcp-server"
|
|
40
|
+
},
|
|
41
|
+
"homepage": "https://github.com/therealjlc1/create-mcp-server",
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18.0.0"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"inquirer": "^9.2.0"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@types/node": "^22.15.3",
|
|
50
|
+
"typescript": "^5.8.3"
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"templates",
|
|
55
|
+
"README.md",
|
|
56
|
+
"LICENSE"
|
|
57
|
+
]
|
|
58
|
+
}
|