@mvp-kit/create 0.0.11 → 0.0.13

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @mvp-kit/create
2
2
 
3
- > The official Create CLI for creating MVPKit applications
3
+ Official MVPKit scaffolding CLI for `core` and `saas` templates.
4
4
 
5
5
  [![npm version](https://badge.fury.io/js/@mvp-kit%2Fcreate.svg)](https://www.npmjs.com/package/@mvp-kit/create)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -8,142 +8,103 @@
8
8
  ## Quick Start
9
9
 
10
10
  ```bash
11
- # Create a new MVPKit application
11
+ # npm
12
12
  npx @mvp-kit/create my-app
13
13
 
14
- # Or with pnpm
14
+ # pnpm
15
15
  pnpm create @mvp-kit my-app
16
16
 
17
- # Or with bun
17
+ # bun
18
18
  bun create @mvp-kit my-app
19
19
  ```
20
20
 
21
- ## Features
21
+ ## Templates
22
22
 
23
- 🆓 **MVPKit Core Template**
24
- - React 19 with modern concurrent features
25
- - Cloudflare Workers for edge computing
26
- - tRPC for end-to-end type safety
27
- - Drizzle ORM with D1 database
28
- - Better Auth for authentication
29
- - Tailwind CSS + shadcn/ui components
23
+ - `core`: production-ready full-stack starter
24
+ - `saas`: extended product starter (everything in core + SaaS modules)
30
25
 
31
26
  ## Usage
32
27
 
33
- ### Basic Commands
28
+ ```bash
29
+ @mvp-kit/create <project-name> [options]
30
+ ```
31
+
32
+ ### Common Examples
34
33
 
35
34
  ```bash
36
- # Create a new MVPKit core application (interactive)
35
+ # interactive (recommended)
37
36
  npx @mvp-kit/create my-app
38
37
 
39
- # Non-interactive mode (use defaults)
38
+ # create from SaaS template
39
+ npx @mvp-kit/create my-app --template saas
40
+
41
+ # non-interactive defaults
40
42
  npx @mvp-kit/create my-app --yes
41
43
 
42
- # Skip dependency installation
43
- npx @mvp-kit/create my-app --no-install
44
+ # skip install + git init
45
+ npx @mvp-kit/create my-app --no-install --no-git
46
+
47
+ # full component pack
48
+ npx @mvp-kit/create my-app --pack all
44
49
  ```
45
50
 
46
51
  ### Options
47
52
 
48
53
  | Option | Description |
49
- |--------|-------------|
50
- | `-t, --template <template>` | Template to use (default: "core") |
54
+ |---|---|
55
+ | `-t, --template <template>` | Template to use (`core`, `saas`) |
51
56
  | `-d, --description <text>` | Project description |
52
- | `-w, --website <domain>` | Domain name for the application |
53
- | `-p, --pack <pack>` | Component pack to install |
54
- | `--no-cache` | Disable template caching |
57
+ | `-w, --website <domain>` | Domain name |
58
+ | `-p, --pack <pack>` | Component pack (`basic`, `all`) |
59
+ | `-y, --yes` | Non-interactive mode (no prompts) |
55
60
  | `--no-install` | Skip dependency installation |
56
61
  | `--no-git` | Skip git initialization |
57
- | `-y, --yes` | Skip interactive prompts and use defaults |
58
62
 
59
- ### Examples
60
-
61
- ```bash
62
- # Minimal setup (skip installs and git)
63
- npx @mvp-kit/create my-app --no-install --no-git
63
+ ## Interactive Prompts
64
64
 
65
- # Quick setup with all components
66
- npx @mvp-kit/create my-app --pack all
65
+ In interactive mode, the CLI collects:
67
66
 
68
- # Non-interactive with custom options
69
- npx @mvp-kit/create my-app \
70
- --description "My awesome app" \
71
- --website "myapp.com" \
72
- --yes
73
- ```
67
+ - template (`core` / `saas`) when not provided
68
+ - description
69
+ - domain
70
+ - tagline
71
+ - component pack
72
+ - social handles (SaaS only): GitHub, X, Instagram, TikTok
73
+ - package manager (`pnpm` / `bun`)
74
+ - git initialization preference
74
75
 
75
- ## What You Get
76
-
77
- ### 🚀 Automated Setup
78
- The CLI automatically handles:
79
- - **Database Setup**: Initializes D1 database, generates schema, and runs migrations
80
- - **Dependencies**: Installs all required packages
81
- - **UI Components**: Configures shadcn/ui with your chosen theme
82
- - **Code Quality**: Sets up ESLint, Prettier, and TypeScript
83
- - **Version Control**: Initializes git repository with initial commit
84
-
85
- ### 🆓 MVPKit Core Template
86
- Production-ready foundation for rapid development:
87
- - **Frontend**: React 19, TanStack Router, TanStack Query
88
- - **Backend**: Cloudflare Workers, Hono, tRPC
89
- - **Database**: D1 with Drizzle ORM (auto-configured)
90
- - **Auth**: Better Auth with social providers
91
- - **Styling**: Tailwind CSS v4 + shadcn/ui
92
- - **Deployment**: Cloudflare Pages + Workers
93
-
94
- ### 📱 Development Workflow
95
- After creation:
96
- ```bash
97
- cd my-app
98
- pnpm dev
99
- ```
76
+ ## Output & Setup
100
77
 
101
- Your application will be ready at http://localhost:3000 with:
102
- - ✅ Database initialized and migrated
103
- - ✅ Authentication configured
104
- - ✅ UI components installed
105
- - ✅ All dependencies resolved
78
+ The CLI scaffolds a monorepo and can automatically:
106
79
 
107
- ## What You Get
80
+ - install dependencies
81
+ - initialize DB artifacts/migrations (when applicable)
82
+ - configure UI/component setup
83
+ - run formatting/lint checks
84
+ - initialize git with an initial commit
108
85
 
109
- ### 🆓 MVPKit Core Template
110
- Production-ready foundation for rapid development:
111
- - **Frontend**: React 19, TanStack Router, TanStack Query
112
- - **Backend**: Cloudflare Workers, Hono, tRPC
113
- - **Database**: D1 with Drizzle ORM
114
- - **Auth**: Better Auth with social providers
115
- - **Styling**: Tailwind CSS v4 + shadcn/ui
116
- - **Deployment**: Cloudflare Pages + Workers
86
+ Default local endpoints:
117
87
 
118
- Perfect for MVPs, prototypes, and production applications.
88
+ - `http://localhost:3001` (web)
89
+ - `http://localhost:3002` (app)
119
90
 
120
91
  ## Development
121
92
 
122
- For local development of the CLI itself:
123
-
124
93
  ```bash
125
- # Clone the repository
126
- git clone https://github.com/mvp-kit/cli.git
127
- cd cli
128
-
129
- # Install dependencies
94
+ cd create
130
95
  pnpm install
131
-
132
- # Build the CLI
133
96
  pnpm build
134
-
135
- # Test locally
136
- npx @mvp-kit/create test-app --dev
97
+ node dist/index.js --help
137
98
  ```
138
99
 
139
- See [CLI_TESTING_GUIDE.md](./CLI_TESTING_GUIDE.md) for detailed development instructions.
100
+ See [CLI_TESTING_GUIDE.md](./CLI_TESTING_GUIDE.md) for local validation notes.
140
101
 
141
102
  ## Support
142
103
 
143
- - 🌐 [Website](https://mvpkit.dev)
144
- - 📖 [Documentation](https://docs.mvpkit.dev)
145
- - 🔗 [Examples](https://github.com/mvp-kit/core/examples)
104
+ - [Website](https://mvpkit.dev)
105
+ - [Docs](https://docs.mvpkit.dev)
106
+ - [Examples](https://github.com/mvp-kit/core/examples)
146
107
 
147
108
  ## License
148
109
 
149
- MIT © [MVPKit](https://mvpkit.dev)
110
+ MIT © [MVPKit](https://mvpkit.dev)
package/dist/create.js CHANGED
@@ -8,12 +8,17 @@ import prompts from 'prompts';
8
8
  import { processTemplate, shouldSkipFile, getTargetFilePath } from './template.js';
9
9
  import { downloadTemplate } from './download.js';
10
10
  import os from 'node:os';
11
+ const SUPPORTED_TEMPLATES = ['core', 'saas'];
12
+ function validateTemplateName(template) {
13
+ if (!SUPPORTED_TEMPLATES.includes(template)) {
14
+ throw new Error(`Unsupported template "${template}". Supported templates: ${SUPPORTED_TEMPLATES.join(', ')}`);
15
+ }
16
+ }
11
17
  /**
12
18
  * Get path to template directory
13
19
  * Supports multiple ways to specify template location:
14
20
  * 1. --template-path CLI option (passed via options.templatePath)
15
- * 2. MVPKIT_TEMPLATE_PATH environment variable
16
- * 3. Download from GitHub releases using --template option
21
+ * 2. Download from GitHub releases using --template option
17
22
  */
18
23
  async function getTemplatePath(options = {}) {
19
24
  // 1. CLI option takes highest priority
@@ -24,26 +29,13 @@ async function getTemplatePath(options = {}) {
24
29
  }
25
30
  throw new Error(`Template path not found: ${templatePath}`);
26
31
  }
27
- // 2. Environment variable
28
- if (process.env.MVPKIT_TEMPLATE_PATH) {
29
- const templatePath = path.resolve(process.env.MVPKIT_TEMPLATE_PATH);
30
- if (fs.existsSync(templatePath)) {
31
- return templatePath;
32
- }
33
- throw new Error(`Template path from MVPKIT_TEMPLATE_PATH not found: ${templatePath}`);
34
- }
35
- // 3. Download from GitHub based on template option
32
+ // 2. Download from GitHub based on template option
36
33
  const template = options.template || 'core';
37
- const cacheDir = path.join(os.tmpdir(), 'mvpkit-template-cache');
38
- const templateDir = path.join(cacheDir, template);
39
- // Check if caching is disabled or if we don't have a cached template
40
- const useCache = options.cache !== false;
41
- const hasCachedTemplate = useCache && fs.existsSync(templateDir) && fs.readdirSync(templateDir).length > 0;
42
- if (hasCachedTemplate) {
43
- return templateDir;
44
- }
45
- // Download the template (this will clear the directory if it exists)
46
- return await downloadTemplate(template, templateDir);
34
+ if (SUPPORTED_TEMPLATES.includes(template)) {
35
+ const targetDir = path.join(os.tmpdir(), 'mvpkit-template-download', template);
36
+ return await downloadTemplate(template, targetDir);
37
+ }
38
+ throw new Error(`Unsupported template "${template}". Supported templates: ${SUPPORTED_TEMPLATES.join(', ')}`);
47
39
  }
48
40
  /**
49
41
  * Read template configuration from template.json
@@ -67,36 +59,8 @@ async function readTemplateConfig(templateDir) {
67
59
  async function collectVariables(variables, options) {
68
60
  // If non-interactive mode, use simple detection without prompts
69
61
  if (options.interactive === false) {
70
- let packageManager = 'pnpm';
71
- let packageManagerVersion = '9.0.0';
72
- // Simple detection based on user agent and argv - no prompts
73
- const userAgent = process.env.npm_config_user_agent || '';
74
- const invocation = process.argv.join(' ');
75
- if (userAgent.includes('bun/') || invocation.includes('bunx') || invocation.includes('bun create')) {
76
- try {
77
- packageManagerVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
78
- packageManager = 'bun';
79
- }
80
- catch {
81
- // Fallback to pnpm if bun not available
82
- packageManager = 'pnpm';
83
- try {
84
- packageManagerVersion = execSync('pnpm --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
85
- }
86
- catch {
87
- packageManagerVersion = '9.0.0';
88
- }
89
- }
90
- }
91
- else {
92
- // Default to pnpm for everything else (pnpm, npm, npx, unknown)
93
- try {
94
- packageManagerVersion = execSync('pnpm --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
95
- }
96
- catch {
97
- packageManagerVersion = '9.0.0';
98
- }
99
- }
62
+ const packageManager = 'pnpm';
63
+ const packageManagerVersion = getRequiredCommandVersion('pnpm');
100
64
  return {
101
65
  ...variables,
102
66
  packageManager,
@@ -105,53 +69,106 @@ async function collectVariables(variables, options) {
105
69
  git: options.git !== false
106
70
  };
107
71
  }
72
+ const normalizeHandle = (handle) => {
73
+ if (!handle)
74
+ return undefined;
75
+ const trimmed = handle.trim();
76
+ if (!trimmed)
77
+ return undefined;
78
+ return trimmed.startsWith('@') ? trimmed : `@${trimmed}`;
79
+ };
80
+ const toSocialUrl = (platform, handle) => {
81
+ const normalized = normalizeHandle(handle);
82
+ if (!normalized)
83
+ return undefined;
84
+ const username = normalized.slice(1);
85
+ if (!username)
86
+ return undefined;
87
+ if (platform === 'tiktok')
88
+ return `https://tiktok.com/@${username}`;
89
+ if (platform === 'x')
90
+ return `https://x.com/${username}`;
91
+ if (platform === 'instagram')
92
+ return `https://instagram.com/${username}`;
93
+ return `https://github.com/${username}`;
94
+ };
108
95
  const fieldsToCollect = [
109
- // 1. Template selection (if not passed via CLI) - Currently only Core available
96
+ // 1. Template selection (if not passed via CLI)
110
97
  {
111
98
  name: 'template',
112
99
  message: 'Select template',
113
- type: 'select',
100
+ type: !options.template && !options.templatePath ? 'select' : null,
114
101
  choices: [
115
- { title: 'Core', value: 'core' }
102
+ { title: 'Core', value: 'core' },
103
+ { title: 'SaaS', value: 'saas' }
116
104
  ],
117
- initial: 0,
118
- when: () => !options.template && !options.templatePath
105
+ initial: 0
119
106
  },
120
107
  // 2. Project description
121
108
  {
122
- name: 'projectDescription',
109
+ name: 'description',
123
110
  message: 'Project description',
124
111
  type: 'text',
125
112
  initial: options.description || `A full-stack application built with MVPKit`
126
113
  },
127
114
  // 3. Domain name
128
115
  {
129
- name: 'domainName',
116
+ name: 'domain',
130
117
  message: 'Website domain (for deployment)',
131
118
  type: 'text',
132
- initial: options.domain || `${variables.projectName}.localhost`
119
+ initial: options.domain || `${variables.name}.localhost`
120
+ },
121
+ // 4. Tagline
122
+ {
123
+ name: 'tagline',
124
+ message: 'Tagline',
125
+ type: 'text',
126
+ initial: variables.tagline || 'Build and deploy MVPs faster.'
133
127
  },
134
- // 4. Component pack selection
128
+ // 5. Component pack selection
135
129
  {
136
130
  name: 'componentPack',
137
131
  message: 'Choose component pack',
138
- type: 'select',
132
+ type: !options.componentPack ? 'select' : null,
139
133
  choices: [
140
134
  { title: 'Essentials', value: 'basic' },
141
135
  { title: 'All', value: 'all' }
142
136
  ],
143
- initial: 0,
144
- when: () => !options.componentPack
137
+ initial: 0
138
+ },
139
+ // 6. SaaS social handles
140
+ {
141
+ name: 'socialGithubHandle',
142
+ message: 'GitHub handle (@username)',
143
+ type: (_prev, values) => (options.template || values.template || variables.template) === 'saas' ? 'text' : null,
144
+ initial: variables.social?.github?.handle || '@mvp-kit'
145
+ },
146
+ {
147
+ name: 'socialXHandle',
148
+ message: 'X handle (@username)',
149
+ type: (_prev, values) => (options.template || values.template || variables.template) === 'saas' ? 'text' : null,
150
+ initial: variables.social?.x?.handle || '@mvpkithq'
145
151
  },
146
- // 5. Git initialization
152
+ {
153
+ name: 'socialInstagramHandle',
154
+ message: 'Instagram handle (@username)',
155
+ type: (_prev, values) => (options.template || values.template || variables.template) === 'saas' ? 'text' : null,
156
+ initial: variables.social?.instagram?.handle || '@mvpkit'
157
+ },
158
+ {
159
+ name: 'socialTiktokHandle',
160
+ message: 'TikTok handle (@username)',
161
+ type: (_prev, values) => (options.template || values.template || variables.template) === 'saas' ? 'text' : null,
162
+ initial: variables.social?.tiktok?.handle || '@mvpkittok'
163
+ },
164
+ // 7. Git initialization
147
165
  {
148
166
  name: 'git',
149
167
  message: 'Initialize git repository?',
150
- type: 'confirm',
168
+ type: options.git === undefined ? 'confirm' : null,
151
169
  initial: options.git !== false,
152
- when: () => options.git === undefined
153
170
  },
154
- // 6. Package manager (last, after user sees what will be installed)
171
+ // 8. Package manager (last, after user sees what will be installed)
155
172
  {
156
173
  name: 'packageManager',
157
174
  message: 'Choose package manager',
@@ -167,7 +184,8 @@ async function collectVariables(variables, options) {
167
184
  // Check if we can use prompts (TTY available)
168
185
  if (!process.stdin.isTTY) {
169
186
  console.log(chalk.yellow('⚠️ Non-interactive environment detected, using defaults'));
170
- const { packageManager, version: packageManagerVersion } = await detectPackageManager();
187
+ const packageManager = 'pnpm';
188
+ const packageManagerVersion = getRequiredCommandVersion('pnpm');
171
189
  return {
172
190
  ...variables,
173
191
  packageManager,
@@ -186,52 +204,46 @@ async function collectVariables(variables, options) {
186
204
  });
187
205
  }
188
206
  catch (promptError) {
189
- console.log(chalk.yellow('⚠️ Interactive prompts failed, using defaults'));
190
- console.log(chalk.white.dim(` Error: ${promptError instanceof Error ? promptError.message : 'Unknown error'}`));
191
- const { packageManager, version: packageManagerVersion } = await detectPackageManager();
192
- return {
193
- ...variables,
194
- packageManager,
195
- packageManagerVersion
196
- };
197
- }
198
- // Get package manager version
199
- let packageManagerVersion = '9.0.0'; // default
200
- if (responses.packageManager === 'bun') {
201
- try {
202
- packageManagerVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
203
- }
204
- catch {
205
- packageManagerVersion = '1.0.0';
206
- }
207
- }
208
- else {
209
- try {
210
- packageManagerVersion = execSync('pnpm --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
211
- }
212
- catch {
213
- packageManagerVersion = '9.0.0';
214
- }
207
+ throw new Error(`Interactive prompts failed: ${promptError instanceof Error ? promptError.message : String(promptError)}`);
215
208
  }
209
+ const selectedPackageManager = (responses.packageManager || 'pnpm');
210
+ const packageManagerVersion = getRequiredCommandVersion(selectedPackageManager);
211
+ const socialGithubHandle = normalizeHandle(responses.socialGithubHandle || variables.social?.github?.handle);
212
+ const socialXHandle = normalizeHandle(responses.socialXHandle || variables.social?.x?.handle);
213
+ const socialInstagramHandle = normalizeHandle(responses.socialInstagramHandle || variables.social?.instagram?.handle);
214
+ const socialTiktokHandle = normalizeHandle(responses.socialTiktokHandle || variables.social?.tiktok?.handle);
216
215
  return {
217
216
  ...variables,
218
217
  template: responses.template || options.template || variables.template,
219
- projectDescription: responses.projectDescription || variables.projectDescription,
220
- domainName: responses.domainName || variables.domainName,
221
- packageManager: responses.packageManager || 'pnpm',
218
+ description: responses.description || variables.description,
219
+ domain: responses.domain || variables.domain,
220
+ tagline: responses.tagline || variables.tagline,
221
+ social: {
222
+ github: {
223
+ handle: socialGithubHandle,
224
+ url: toSocialUrl('github', socialGithubHandle),
225
+ },
226
+ x: {
227
+ handle: socialXHandle,
228
+ url: toSocialUrl('x', socialXHandle),
229
+ },
230
+ instagram: {
231
+ handle: socialInstagramHandle,
232
+ url: toSocialUrl('instagram', socialInstagramHandle),
233
+ },
234
+ tiktok: {
235
+ handle: socialTiktokHandle,
236
+ url: toSocialUrl('tiktok', socialTiktokHandle),
237
+ },
238
+ },
239
+ packageManager: selectedPackageManager,
222
240
  packageManagerVersion,
223
241
  componentPack: responses.componentPack || options.componentPack,
224
242
  git: responses.git !== undefined ? responses.git : (options.git !== false)
225
243
  };
226
244
  }
227
245
  catch (error) {
228
- console.log(chalk.yellow('\n⚠️ Prompt collection failed, using defaults'));
229
- const { packageManager, version: packageManagerVersion } = await detectPackageManager();
230
- return {
231
- ...variables,
232
- packageManager,
233
- packageManagerVersion
234
- };
246
+ throw new Error(`Failed to collect template variables: ${error instanceof Error ? error.message : String(error)}`);
235
247
  }
236
248
  }
237
249
  /**
@@ -247,149 +259,58 @@ async function completeProjectSetup(targetDir, variables, options) {
247
259
  await installDependencies(targetDir, packageManager);
248
260
  }
249
261
  // Step 3: Setup database
250
- const apiPath = path.join(targetDir, 'apps', 'api');
262
+ const apiPath = path.join(targetDir, 'services', 'api');
251
263
  if (fs.existsSync(apiPath) && options.install !== false) {
252
264
  await setupDatabase(apiPath, packageManager);
253
265
  }
254
266
  // Step 4: Initialize shadcn in UI package
255
267
  const uiPath = path.join(targetDir, 'packages', 'ui');
268
+ const hasPreconfiguredUI = fs.existsSync(path.join(uiPath, 'components.json')) &&
269
+ fs.existsSync(path.join(uiPath, 'src', 'components', 'ui'));
256
270
  if (fs.existsSync(uiPath)) {
257
- await initShadcnInUIPackage(uiPath, 'new-york', options.interactive !== false);
271
+ if (!hasPreconfiguredUI) {
272
+ await initShadcnInUIPackage(uiPath, 'new-york', options.interactive !== false);
273
+ }
258
274
  }
259
- // Step 5: Install component pack
275
+ // Step 5: Install component pack
260
276
  const componentPack = variables.componentPack;
261
277
  if (componentPack && fs.existsSync(uiPath)) {
262
- const templateConfig = await readTemplateConfig(targetDir);
263
- await installComponentPack(uiPath, componentPack, options.interactive !== false, templateConfig);
278
+ // The core template already includes the baseline "basic" set.
279
+ const shouldInstallPack = componentPack === 'all' || !hasPreconfiguredUI;
280
+ if (shouldInstallPack) {
281
+ const templateConfig = await readTemplateConfig(targetDir);
282
+ await installComponentPack(uiPath, componentPack, options.interactive !== false, templateConfig);
283
+ }
264
284
  }
265
285
  // Step 6: Cleanup tasks
266
- await cleanup(targetDir, packageManager);
286
+ await cleanup(targetDir, packageManager, options.install !== false);
267
287
  // Step 7: Initialize git at the end
268
288
  const shouldInitGit = variables.git;
269
289
  if (shouldInitGit !== false) {
270
290
  await initializeGitWithCommit(targetDir);
271
291
  }
272
292
  }
273
- async function cleanup(targetDir, packageManager) {
293
+ async function cleanup(targetDir, packageManager, shouldRunLintFix) {
274
294
  // Only inherit theme name from UI to web
275
295
  const uiPath = path.join(targetDir, 'packages', 'ui');
276
296
  const webPath = path.join(targetDir, 'apps', 'web');
277
297
  if (fs.existsSync(uiPath) && fs.existsSync(webPath)) {
278
298
  await inheritUIConfigToWeb(uiPath, webPath);
279
299
  }
280
- // Run lint fix
281
- await runLintFixCommand(targetDir, packageManager);
282
- }
283
- /**
284
- * Detect package manager based on how CLI was invoked
285
- * - npx: Ask user to choose
286
- * - pnpm create/pnpm dlx: Use pnpm
287
- * - bunx: Use bun
288
- */
289
- async function detectPackageManager() {
290
- // Check how the CLI was invoked using environment variables and process.argv
291
- const userAgent = process.env.npm_config_user_agent || '';
292
- const invocation = process.argv.join(' ');
293
- // Check user agent for package manager detection
294
- if (userAgent.includes('bun/')) {
295
- try {
296
- const bunVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
297
- return { packageManager: 'bun', version: bunVersion };
298
- }
299
- catch {
300
- console.log(chalk.yellow('⚠️ Bun not available, falling back to pnpm'));
301
- const pnpmVersion = await getPnpmVersion();
302
- return { packageManager: 'pnpm', version: pnpmVersion };
303
- }
304
- }
305
- if (userAgent.includes('pnpm/')) {
306
- const pnpmVersion = await getPnpmVersion();
307
- return { packageManager: 'pnpm', version: pnpmVersion };
308
- }
309
- // Check argv for direct invocations (fallback)
310
- if (invocation.includes('bunx') || invocation.includes('bun create')) {
311
- try {
312
- const bunVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
313
- return { packageManager: 'bun', version: bunVersion };
314
- }
315
- catch {
316
- console.log(chalk.yellow('⚠️ Bun not available, falling back to pnpm'));
317
- const pnpmVersion = await getPnpmVersion();
318
- return { packageManager: 'pnpm', version: pnpmVersion };
319
- }
320
- }
321
- if (invocation.includes('pnpm create') || invocation.includes('pnpm dlx')) {
322
- const pnpmVersion = await getPnpmVersion();
323
- return { packageManager: 'pnpm', version: pnpmVersion };
324
- }
325
- // For npx (npm user agent) or unknown, ask user to choose
326
- if (userAgent.includes('npm/') || invocation.includes('npx')) {
327
- return await promptForPackageManager();
328
- }
329
- // Fallback: try to detect what's available
330
- try {
331
- const bunVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
332
- return { packageManager: 'bun', version: bunVersion };
333
- }
334
- catch {
335
- const pnpmVersion = await getPnpmVersion();
336
- return { packageManager: 'pnpm', version: pnpmVersion };
337
- }
338
- }
339
- /**
340
- * Get pnpm version with fallback
341
- */
342
- async function getPnpmVersion() {
343
- try {
344
- return execSync('pnpm --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
345
- }
346
- catch {
347
- return '9.0.0'; // Default version
348
- }
349
- }
350
- /**
351
- * Prompt user to choose package manager (for npx invocation)
352
- */
353
- async function promptForPackageManager() {
354
- const inquirer = await import('inquirer');
355
- // Check what's available
356
- const bunAvailable = await checkCommandAvailable('bun');
357
- const pnpmAvailable = await checkCommandAvailable('pnpm');
358
- if (!bunAvailable && !pnpmAvailable) {
359
- console.log(chalk.yellow('⚠️ Neither bun nor pnpm found, defaulting to pnpm'));
360
- return { packageManager: 'pnpm', version: '9.0.0' };
361
- }
362
- const choices = [];
363
- if (pnpmAvailable)
364
- choices.push({ name: 'pnpm (recommended for most projects)', value: 'pnpm' });
365
- if (bunAvailable)
366
- choices.push({ name: 'bun (fast and modern)', value: 'bun' });
367
- const { packageManager } = await inquirer.default.prompt([{
368
- type: 'list',
369
- name: 'packageManager',
370
- message: 'Which package manager would you like to use?',
371
- choices,
372
- default: 'pnpm'
373
- }]);
374
- if (packageManager === 'bun') {
375
- const bunVersion = execSync('bun --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
376
- return { packageManager: 'bun', version: bunVersion };
377
- }
378
- else {
379
- const pnpmVersion = await getPnpmVersion();
380
- return { packageManager: 'pnpm', version: pnpmVersion };
300
+ if (shouldRunLintFix) {
301
+ // Run lint fix only when dependencies were installed.
302
+ await runLintFixCommand(targetDir, packageManager);
381
303
  }
382
304
  }
383
305
  /**
384
- * Check if a command is available
306
+ * Get version for required command or fail fast with clear guidance
385
307
  */
386
- async function checkCommandAvailable(command) {
308
+ function getRequiredCommandVersion(command) {
387
309
  try {
388
- execSync(`${command} --version`, { stdio: 'pipe' });
389
- return true;
310
+ return execSync(`${command} --version`, { encoding: 'utf8', stdio: 'pipe' }).trim();
390
311
  }
391
- catch {
392
- return false;
312
+ catch (error) {
313
+ throw new Error(`Required package manager "${command}" is not available. Install ${command} and re-run the command.`);
393
314
  }
394
315
  }
395
316
  /**
@@ -397,42 +318,65 @@ async function checkCommandAvailable(command) {
397
318
  */
398
319
  export async function createProject(projectName, options = {}) {
399
320
  const targetDir = path.join(process.cwd(), projectName);
321
+ const selectedTemplate = options.template || 'core';
400
322
  // Validate target directory
401
323
  if (fs.existsSync(targetDir)) {
402
324
  throw new Error(`Directory ${projectName} already exists`);
403
325
  }
326
+ if (!options.templatePath) {
327
+ validateTemplateName(selectedTemplate);
328
+ }
404
329
  // Build initial template variables
405
330
  const variables = {
406
- template: options.template || 'core',
407
- projectName,
408
- projectDescription: options.description || `A full-stack application built with MVPKit`,
409
- domainName: options.domain || `${projectName}.localhost`,
331
+ template: selectedTemplate,
332
+ name: projectName,
333
+ description: options.description || `A full-stack application built with MVPKit`,
334
+ domain: options.domain || `${projectName}.localhost`,
335
+ executionDate: new Date().toISOString().slice(0, 10),
336
+ tagline: 'Build and deploy MVPs faster.',
337
+ social: {
338
+ github: {
339
+ handle: '@mvp-kit',
340
+ url: 'https://github.com/mvp-kit'
341
+ },
342
+ x: {
343
+ handle: '@mvpkithq',
344
+ url: 'https://x.com/mvpkithq'
345
+ },
346
+ instagram: {
347
+ handle: '@mvpkit',
348
+ url: 'https://instagram.com/mvpkit'
349
+ },
350
+ tiktok: {
351
+ handle: '@mvpkittok',
352
+ url: 'https://tiktok.com/@mvpkittok'
353
+ }
354
+ },
410
355
  packageManager: 'pnpm', // Default, will be updated by prompts if needed
411
- packageManagerVersion: '9.0.0' // Default, will be updated by prompts if needed
356
+ packageManagerVersion: ''
412
357
  };
413
358
  // CLI mode with interactive prompts
414
359
  // Collect missing variables interactively
415
360
  const finalVariables = await collectVariables(variables, options);
416
- console.log(chalk.blue(`🚀 Creating ${projectName} with MVPKit Core\n`));
417
- try {
418
- // Copy template and complete setup using shared functionality
419
- await copyTemplate(targetDir, finalVariables, options);
420
- await completeProjectSetup(targetDir, finalVariables, options);
421
- // Success!
422
- console.log('\n' + chalk.green('🎉 Project Created Successfully!'));
423
- console.log(chalk.white.dim('═'.repeat(50)));
424
- console.log(chalk.green(`✅ ${projectName} is ready to go!`));
425
- // Next steps
426
- const extendedOptions = { ...options, componentPack: finalVariables.componentPack };
427
- printNextSteps(projectName, extendedOptions, finalVariables.packageManager);
428
- }
429
- catch (error) {
430
- // Clean up on failure
431
- if (fs.existsSync(targetDir)) {
432
- await fs.remove(targetDir);
433
- }
434
- throw error;
435
- }
361
+ const templateLabel = (finalVariables.template || 'core').toUpperCase();
362
+ console.log(chalk.blue(`🚀 Creating ${projectName} with MVPKit ${templateLabel}\n`));
363
+ // Resolve template path once to avoid duplicate downloads/work.
364
+ const resolvedTemplatePath = await getTemplatePath({ ...options, template: finalVariables.template });
365
+ const resolvedOptions = {
366
+ ...options,
367
+ template: finalVariables.template,
368
+ templatePath: resolvedTemplatePath
369
+ };
370
+ // Copy template and complete setup using shared functionality
371
+ await copyTemplate(targetDir, finalVariables, resolvedOptions);
372
+ await completeProjectSetup(targetDir, finalVariables, resolvedOptions);
373
+ // Success!
374
+ console.log('\n' + chalk.green('🎉 Project Created Successfully!'));
375
+ console.log(chalk.white.dim('═'.repeat(50)));
376
+ console.log(chalk.green(`✅ ${projectName} is ready to go!`));
377
+ // Next steps
378
+ const extendedOptions = { ...options, componentPack: finalVariables.componentPack };
379
+ printNextSteps(projectName, extendedOptions, finalVariables.packageManager);
436
380
  }
437
381
  /**
438
382
  * Initialize shadcn/ui ONLY in packages/ui using the official shadcn CLI
@@ -539,19 +483,25 @@ async function inheritUIConfigToWeb(uiPath, webPath) {
539
483
  }
540
484
  try {
541
485
  const uiConfig = JSON.parse(fs.readFileSync(uiComponentsPath, 'utf-8'));
542
- // Create web-specific config inheriting from UI
486
+ const webConfigCurrent = fs.existsSync(webComponentsPath)
487
+ ? JSON.parse(fs.readFileSync(webComponentsPath, 'utf-8'))
488
+ : {};
489
+ // Create web-specific config inheriting style/theme from UI while preserving web paths.
543
490
  const webConfig = {
544
- ...uiConfig,
545
- // Web-specific overrides
491
+ ...webConfigCurrent,
492
+ style: uiConfig.style ?? webConfigCurrent.style,
493
+ rsc: uiConfig.rsc ?? webConfigCurrent.rsc,
494
+ tsx: uiConfig.tsx ?? webConfigCurrent.tsx,
546
495
  tailwind: {
496
+ ...(webConfigCurrent.tailwind || {}),
547
497
  ...uiConfig.tailwind,
548
- css: 'src/styles/globals.css' // Web app uses globals.css
498
+ css: webConfigCurrent?.tailwind?.css || 'src/styles.css'
549
499
  },
550
500
  aliases: {
551
- ...uiConfig.aliases,
552
- ui: '@/components/ui' // Web app has different ui path
501
+ ...(uiConfig.aliases || {}),
502
+ ...(webConfigCurrent.aliases || {})
553
503
  },
554
- registries: {} // Web app gets fresh registries
504
+ registries: webConfigCurrent.registries || {}
555
505
  };
556
506
  await fs.writeJson(webComponentsPath, webConfig, { spaces: 2 });
557
507
  }
@@ -644,7 +594,7 @@ export async function copyPackageManagerFiles(targetDir, variables, options = {}
644
594
  }
645
595
  catch (error) {
646
596
  spinner.fail('Package manager configuration failed');
647
- console.log(chalk.yellow(` Warning: ${error instanceof Error ? error.message : String(error)}`));
597
+ throw new Error(`Failed to configure package manager files: ${error instanceof Error ? error.message : String(error)}`);
648
598
  }
649
599
  }
650
600
  /**
@@ -662,7 +612,8 @@ async function installDependencies(targetDir, packageManager) {
662
612
  }
663
613
  catch (error) {
664
614
  spinner.fail('Package installation failed');
665
- console.log(chalk.yellow(`\n💡 Install packages manually: cd ${path.basename(targetDir)} && ${packageManager} install\n`));
615
+ throw new Error(`Failed to install dependencies with ${packageManager}. ` +
616
+ `Run "cd ${path.basename(targetDir)} && ${packageManager} install" after fixing the issue.`);
666
617
  }
667
618
  }
668
619
  /**
@@ -694,7 +645,8 @@ async function setupDatabase(apiPath, packageManager) {
694
645
  }
695
646
  catch (error) {
696
647
  spinner.fail('Database setup failed');
697
- console.log(chalk.yellow(`\n💡 Setup database manually: cd ${path.basename(apiPath)} && ${packageManager} run db:generate && ${packageManager} run db:migrate:local\n`));
648
+ throw new Error(`Failed to set up database with ${packageManager}. ` +
649
+ `Run "cd ${path.basename(apiPath)} && ${packageManager} run db:init && ${packageManager} run db:generate && ${packageManager} run db:migrate:local" manually.`);
698
650
  }
699
651
  }
700
652
  /**
@@ -712,20 +664,8 @@ async function runLintFixCommand(targetDir, packageManager) {
712
664
  spinner.succeed('Code formatted and linted');
713
665
  }
714
666
  catch (error) {
715
- // If lint:fix fails or doesn't exist, try just lint
716
- try {
717
- const pmCommand = packageManager === 'pnpm' ? 'pnpm' : 'bun';
718
- execSync(`${pmCommand} run lint`, {
719
- cwd: targetDir,
720
- stdio: 'pipe',
721
- timeout: 60000
722
- });
723
- spinner.succeed('Code formatting verified');
724
- }
725
- catch (lintError) {
726
- // If no lint command exists, skip silently
727
- spinner.succeed('Code formatting completed');
728
- }
667
+ spinner.fail('Code formatting failed');
668
+ throw new Error(`Failed to run lint:fix with ${packageManager}. Ensure lint scripts are valid and dependencies are installed.`);
729
669
  }
730
670
  }
731
671
  /**
@@ -741,23 +681,7 @@ async function initializeGitWithCommit(targetDir) {
741
681
  }
742
682
  catch (error) {
743
683
  spinner.fail('Version control initialization failed');
744
- console.log(chalk.yellow('\n💡 Initialize version control manually if needed\n'));
745
- }
746
- }
747
- /**
748
- * Initialize git repository (legacy function for compatibility)
749
- */
750
- async function initializeGit(targetDir) {
751
- const spinner = ora('Initializing version control...').start();
752
- try {
753
- execSync('git init', { cwd: targetDir, stdio: 'pipe' });
754
- execSync('git add .', { cwd: targetDir, stdio: 'pipe' });
755
- execSync('git commit -m "Initial commit"', { cwd: targetDir, stdio: 'pipe' });
756
- spinner.succeed('Version control initialized');
757
- }
758
- catch (error) {
759
- spinner.fail('Version control initialization failed');
760
- console.log(chalk.yellow('\n💡 Initialize version control manually if needed\n'));
684
+ throw new Error('Failed to initialize git repository and create initial commit. Ensure git is installed and configured.');
761
685
  }
762
686
  }
763
687
  /**
@@ -777,7 +701,7 @@ function printNextSteps(projectName, options, packageManager) {
777
701
  else {
778
702
  console.log(chalk.green(` 2. ${pmCommand} dev`));
779
703
  }
780
- console.log(chalk.green(` 3. Open http://localhost:3000`));
704
+ console.log(chalk.green(` 3. Open http://localhost:3001 (web) and http://localhost:3002 (app)`));
781
705
  // What's included section
782
706
  console.log('\n' + chalk.whiteBright.bold('🎁 What\'s Included:'));
783
707
  const features = [
@@ -785,7 +709,8 @@ function printNextSteps(projectName, options, packageManager) {
785
709
  '🗄️ Database with Drizzle ORM + migrations',
786
710
  '🎨 shadcn/ui components with new-york theme',
787
711
  '🔐 Authentication with better-auth',
788
- '📦 Monorepo structure (apps + packages)',
712
+ '🌐 Dual surfaces: apps/web (marketing) + apps/app (authenticated app)',
713
+ '📦 Monorepo structure (apps + packages + services)',
789
714
  '🔧 ESLint, Prettier, and TypeScript configured'
790
715
  ];
791
716
  if (options.componentPack && options.componentPack === 'all') {
@@ -802,7 +727,7 @@ function printNextSteps(projectName, options, packageManager) {
802
727
  console.log(chalk.white(' • Database is already set up and migrated'));
803
728
  console.log(chalk.white(' • Add more components: npx shadcn@latest add <component>'));
804
729
  console.log(chalk.white(' • Customize UI theme in packages/ui/src/styles.css'));
805
- console.log(chalk.white(' • API routes are in apps/api/src/routes/'));
730
+ console.log(chalk.white(' • API handlers are in services/api/src/trpc/ and services/api/src/app.ts'));
806
731
  console.log('\n' + chalk.bold('📚 Learn More:'));
807
732
  console.log(chalk.blue(' https://docs.mvpkit.dev'));
808
733
  console.log(chalk.white(' https://ui.shadcn.com (for UI components)'));
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/dist/download.js CHANGED
@@ -18,12 +18,12 @@ export async function downloadGitHubRelease(owner, repo, targetDir, tag = 'lates
18
18
  ? `https://api.github.com/repos/${owner}/${repo}/releases/latest`
19
19
  : `https://api.github.com/repos/${owner}/${repo}/releases/tags/${tag}`;
20
20
  const releaseResponse = await fetch(apiUrl);
21
+ let downloadUrl = null;
21
22
  if (!releaseResponse.ok) {
22
- throw new Error(`Failed to fetch release info: ${releaseResponse.statusText}`);
23
+ throw new Error(`Failed to fetch release info: ${releaseResponse.status} ${releaseResponse.statusText}`);
23
24
  }
24
25
  const releaseData = await releaseResponse.json();
25
- // Look for a source code tarball (tarball_url)
26
- const downloadUrl = releaseData.tarball_url;
26
+ downloadUrl = releaseData.tarball_url || null;
27
27
  if (!downloadUrl) {
28
28
  throw new Error('No tarball found in release');
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,12 +9,11 @@ program
9
9
  .description('Create CLI - Create a new MVPKit application')
10
10
  .version('0.1.0')
11
11
  .argument('<project-name>', 'name of the project')
12
- .option('-t, --template <template>', 'template to use (core)', 'core')
12
+ .option('-t, --template <template>', 'template to use (core, saas)', 'core')
13
13
  .option('-d, --description <description>', 'project description')
14
14
  .option('-w, --website <domain>', 'domain name for the application')
15
15
  .option('-y, --yes', 'skip interactive prompts and use defaults (non-interactive mode)')
16
16
  .option('-p, --pack <pack>', 'install component pack (basic=essentials, all)', 'basic')
17
- .option('-nc, --no-cache', 'disable template caching, always download fresh')
18
17
  .option('--no-install', 'skip dependency installation')
19
18
  .option('--no-git', 'skip git initialization')
20
19
  .addOption(new Option('--template-path <path>', 'local template directory path (for development/testing)').hideHelp())
@@ -24,7 +23,6 @@ program
24
23
  validateProjectName(projectName);
25
24
  const createOptions = {
26
25
  template: options.template,
27
- cache: options.cache,
28
26
  description: options.description,
29
27
  domain: options.website,
30
28
  install: options.install,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,CAAC;KACrE,MAAM,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;KAChE,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,kEAAkE,CAAC;KACvF,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,EAAE,OAAO,CAAC;KACtF,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KAC5E,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,SAAS,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,yDAAyD,CAAC,CAAC,QAAQ,EAAE,CAAC;KACrH,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAY,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,wBAAwB;QACxB,mBAAmB,CAAC,WAAW,CAAC,CAAA;QAEhC,MAAM,aAAa,GAAG;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG;YACzB,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,2CAA2C;QAC3C,MAAM,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,CAAC;KAC3E,MAAM,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;KAChE,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;KACnE,MAAM,CAAC,WAAW,EAAE,kEAAkE,CAAC;KACvF,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,EAAE,OAAO,CAAC;KACtF,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,SAAS,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,yDAAyD,CAAC,CAAC,QAAQ,EAAE,CAAC;KACrH,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAY,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,wBAAwB;QACxB,mBAAmB,CAAC,WAAW,CAAC,CAAA;QAEhC,MAAM,aAAa,GAAG;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG;YACzB,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,2CAA2C;QAC3C,MAAM,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAA;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
package/dist/template.js CHANGED
@@ -6,15 +6,30 @@ Handlebars.registerHelper('eq', (a, b) => a === b);
6
6
  /**
7
7
  * Simple template processing - only for .template files using handlebars
8
8
  */
9
+ function getValueByPath(obj, variablePath) {
10
+ return variablePath.split('.').reduce((acc, key) => {
11
+ if (acc && typeof acc === 'object' && key in acc) {
12
+ return acc[key];
13
+ }
14
+ return undefined;
15
+ }, obj);
16
+ }
17
+ function replaceVariables(content, variables) {
18
+ return content.replace(/\{\{\s*([A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*)\s*\}\}/g, (match, variablePath) => {
19
+ const value = getValueByPath(variables, variablePath);
20
+ if (value === undefined || value === null) {
21
+ return match;
22
+ }
23
+ return String(value);
24
+ });
25
+ }
9
26
  export function processTemplate(content, variables) {
10
- try {
27
+ const usesBlockHelpers = /\{\{\s*[#/]/.test(content);
28
+ if (usesBlockHelpers) {
11
29
  const template = Handlebars.compile(content);
12
30
  return template(variables);
13
31
  }
14
- catch (error) {
15
- console.warn('Template processing failed:', error instanceof Error ? error.message : String(error));
16
- return content;
17
- }
32
+ return replaceVariables(content, variables);
18
33
  }
19
34
  /**
20
35
  * Read .templateignore file and return patterns
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mvp-kit/create",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Create MVPKit applications - Universal Create CLI for all MVPKit templates",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -15,18 +15,27 @@
15
15
  "license": "MIT",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/mvp-kit/create.git"
18
+ "url": "git+https://github.com/mvp-kit/create.git"
19
19
  },
20
20
  "bin": {
21
- "@mvp-kit/create": "dist/index.js"
21
+ "create-mvpkit": "dist/index.js"
22
22
  },
23
23
  "files": [
24
24
  "dist",
25
25
  "README.md"
26
26
  ],
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
27
30
  "engines": {
28
31
  "node": ">=20.0.0"
29
32
  },
33
+ "scripts": {
34
+ "build": "tsc && chmod +x dist/index.js",
35
+ "dev": "tsc --watch",
36
+ "clean": "rm -rf dist",
37
+ "typecheck": "tsc --noEmit"
38
+ },
30
39
  "dependencies": {
31
40
  "@types/prompts": "^2.4.9",
32
41
  "chalk": "^5.3.0",
@@ -44,11 +53,5 @@
44
53
  "@types/inquirer": "^9.0.0",
45
54
  "@types/node": "^20.0.0",
46
55
  "typescript": "^5.9.2"
47
- },
48
- "scripts": {
49
- "build": "tsc && chmod +x dist/index.js",
50
- "dev": "tsc --watch",
51
- "clean": "rm -rf dist",
52
- "typecheck": "tsc --noEmit"
53
56
  }
54
- }
57
+ }