@nikkory/vibe-cli 2.4.2 → 2.4.4

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/dist/index.js CHANGED
@@ -25,7 +25,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
 
26
26
  // src/index.ts
27
27
  var import_commander6 = require("commander");
28
- var import_chalk5 = __toESM(require("chalk"));
28
+ var import_chalk6 = __toESM(require("chalk"));
29
29
 
30
30
  // src/commands/init.ts
31
31
  var fs = __toESM(require("fs/promises"));
@@ -7528,12 +7528,64 @@ var pageGenerateCommand = new import_commander5.Command("add:page").alias("page"
7528
7528
  }
7529
7529
  });
7530
7530
 
7531
+ // src/utils/first-run.ts
7532
+ var import_fs = require("fs");
7533
+ var import_path3 = require("path");
7534
+ var import_os = require("os");
7535
+ var import_chalk5 = __toESM(require("chalk"));
7536
+ var CONFIG_DIR = (0, import_path3.join)((0, import_os.homedir)(), ".nikkory-vibe");
7537
+ var FIRST_RUN_FILE = (0, import_path3.join)(CONFIG_DIR, ".first-run");
7538
+ function isFirstRun() {
7539
+ return !(0, import_fs.existsSync)(FIRST_RUN_FILE);
7540
+ }
7541
+ function markAsRun() {
7542
+ if (!(0, import_fs.existsSync)(CONFIG_DIR)) {
7543
+ (0, import_fs.mkdirSync)(CONFIG_DIR, { recursive: true });
7544
+ }
7545
+ (0, import_fs.writeFileSync)(FIRST_RUN_FILE, (/* @__PURE__ */ new Date()).toISOString(), "utf-8");
7546
+ }
7547
+ function showWelcomeIfFirstRun() {
7548
+ if (!isFirstRun()) return;
7549
+ const y2 = import_chalk5.default.hex("#fcb800");
7550
+ const banner2 = `
7551
+ ${y2.bold("\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557")}
7552
+ ${y2.bold("\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D")}
7553
+ ${y2.bold("\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u255A\u2588\u2588\u2588\u2588\u2554\u255D ")}
7554
+ ${y2.bold("\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2554\u255D ")}
7555
+ ${y2.bold("\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 ")}
7556
+ ${y2.bold("\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D\u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D ")}
7557
+
7558
+ ${y2.bold(" \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ")}
7559
+ ${y2.bold(" \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D ")}
7560
+ ${y2.bold(" \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2557 ")}
7561
+ ${y2.bold(" \u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u255D ")}
7562
+ ${y2.bold(" \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ")}
7563
+ ${y2.bold(" \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D ")}
7564
+
7565
+ ${y2(" happy together")} ${import_chalk5.default.white("\u2022 v2.4.4")}
7566
+
7567
+ ${import_chalk5.default.gray(" Production-ready code in seconds")}
7568
+ ${import_chalk5.default.gray(" https://nikkory.com")}
7569
+
7570
+ ${import_chalk5.default.green("\u2713 Thanks for installing Nikkory Vibe CLI!")}
7571
+
7572
+ ${import_chalk5.default.cyan("Quick Start:")}
7573
+ ${import_chalk5.default.white("nikkory-vibe add button")} ${import_chalk5.default.gray("# Generate button component")}
7574
+ ${import_chalk5.default.white("nikkory-vibe add:section hero")} ${import_chalk5.default.gray("# Generate hero section")}
7575
+ ${import_chalk5.default.white("nikkory-vibe list")} ${import_chalk5.default.gray("# Browse available templates")}
7576
+
7577
+ ${y2(" 169 Components")} ${import_chalk5.default.gray("+")} ${y2("50 Sections")} ${import_chalk5.default.gray("\xD7")} ${y2("12 Systems")} ${import_chalk5.default.gray("\xD7")} ${y2("3 Tiers")}
7578
+ `;
7579
+ console.log(banner2);
7580
+ markAsRun();
7581
+ }
7582
+
7531
7583
  // src/index.ts
7532
7584
  var componentCount = 169;
7533
7585
  var sectionCount = 50;
7534
7586
  var designSystemCount = 12;
7535
7587
  var tierCount = 3;
7536
- var y = import_chalk5.default.hex("#fcb800");
7588
+ var y = import_chalk6.default.hex("#fcb800");
7537
7589
  var banner = `
7538
7590
  ${y.bold("\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557")}
7539
7591
  ${y.bold("\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D")}
@@ -7549,15 +7601,16 @@ ${y.bold(" \u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u
7549
7601
  ${y.bold(" \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 ")}
7550
7602
  ${y.bold(" \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D ")}
7551
7603
 
7552
- ${y(" happy together")} ${import_chalk5.default.white("\u2022 v2.4.2")}
7604
+ ${y(" happy together")} ${import_chalk6.default.white("\u2022 v2.4.4")}
7553
7605
 
7554
- ${import_chalk5.default.gray(" Production-ready code in seconds")}
7555
- ${import_chalk5.default.gray(" https://nikkory.com")}
7606
+ ${import_chalk6.default.gray(" Production-ready code in seconds")}
7607
+ ${import_chalk6.default.gray(" https://nikkory.com")}
7556
7608
 
7557
- ${y(` ${componentCount} Components`)} ${import_chalk5.default.gray("+")} ${y(`${sectionCount} Sections`)} ${import_chalk5.default.gray("\xD7")} ${y(`${designSystemCount} Systems`)} ${import_chalk5.default.gray("\xD7")} ${y(`${tierCount} Tiers`)}
7609
+ ${y(` ${componentCount} Components`)} ${import_chalk6.default.gray("+")} ${y(`${sectionCount} Sections`)} ${import_chalk6.default.gray("\xD7")} ${y(`${designSystemCount} Systems`)} ${import_chalk6.default.gray("\xD7")} ${y(`${tierCount} Tiers`)}
7558
7610
  `;
7611
+ showWelcomeIfFirstRun();
7559
7612
  var program = new import_commander6.Command();
7560
- program.name("nikkory-vibe").description("Nikkory Vibe - Production-ready code in seconds").version("2.4.2").addHelpText("before", banner);
7613
+ program.name("nikkory-vibe").description("Nikkory Vibe - Production-ready code in seconds").version("2.4.4").addHelpText("before", banner);
7561
7614
  program.addCommand(matrixGenerateCommand);
7562
7615
  program.addCommand(sectionGenerateCommand);
7563
7616
  program.addCommand(pageGenerateCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nikkory/vibe-cli",
3
- "version": "2.4.2",
3
+ "version": "2.4.4",
4
4
  "description": "CLI tool for Nikkory Vibe - Generate production-ready code in seconds",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -8,6 +8,10 @@
8
8
  "nikkory-vibe": "./dist/index.js",
9
9
  "vibe": "./dist/index.js"
10
10
  },
11
+ "files": [
12
+ "dist",
13
+ "README.md"
14
+ ],
11
15
  "scripts": {
12
16
  "build": "tsup",
13
17
  "dev": "tsup --watch",
package/CHANGELOG.md DELETED
@@ -1,234 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to @nikkory/vibe-cli will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [4.0.0] - 2026-01-04
9
-
10
- ### 🎉 Major Release - Multi-Framework Architecture
11
-
12
- Complete CLI redesign with new command structure for multi-framework support.
13
-
14
- ### Added
15
-
16
- #### Multi-Framework Support
17
-
18
- - **New Command Pattern**: `nikkory-vibe <scope> <action> <granularity> <target> [options]`
19
- - **Scope System**: Framework-specific handlers (react, vue, pattern, engine)
20
- - **React Scope**: Full support for React component generation
21
- - **Pattern Scope**: Design pattern browsing and search
22
- - **Engine Scope**: Vibe engine utilities
23
-
24
- #### Config File Support (Phase 3)
25
-
26
- - **Auto-discovery**: Automatically finds `nikkory-vibe.config.ts` in current directory
27
- - **Config Schema**: TypeScript-first configuration with full type safety
28
- - **Config Loader**: Supports `.ts`, `.mts`, `.js`, `.mjs`, `.cjs` files
29
- - **Deep Merging**: Config values override defaults intelligently
30
- - **Per-Framework Config**: Customize settings for each framework
31
- - **Output Structure**: Customize output directories per granularity level
32
- - **Example Config**: `nikkory-vibe.config.example.ts` included
33
-
34
- #### Interactive Wizard Mode (Phase 3)
35
-
36
- - **Step-by-Step Generation**: Interactive prompts for component creation
37
- - **5 Action Flows**: generate, list, search, info, preview
38
- - **Smart Question Routing**: Questions adapt based on selected action
39
- - **Input Validation**: Validates component names, required fields
40
- - **Summary Preview**: Shows configuration before generation
41
- - **Emoji UI**: Enhanced visual feedback
42
- - **Shorthand**: `-i` or `--interactive` flag
43
-
44
- #### Type System (Phase 1)
45
-
46
- - **CommandScope**: `react`, `vue`, `svelte`, `angular`, `pattern`, `engine`
47
- - **ComponentGranularity**: `atom`, `component`, `section`, `page`, `layout`, `template`
48
- - **IScopeHandler**: Interface for framework-specific handlers
49
- - **CLIOptions**: Comprehensive options type system
50
-
51
- #### Scope Handlers (Phase 2)
52
-
53
- - **ReactScopeHandler**: Full React component generation
54
- - **PatternScopeHandler**: Design pattern management
55
- - **EngineScopeHandler**: Engine utilities
56
- - **VueScopeHandler**: Stub for v4.1.0
57
- - **SvelteScopeHandler**: Stub for v4.2.0
58
-
59
- ### Changed
60
-
61
- - **Bundle Size**: Reduced from 190KB to 142KB (25% smaller)
62
- - **Binary Name**: `nikkory-vibe` is new primary (legacy `vibe` still works)
63
- - **Command Structure**: New scope-based pattern (legacy commands deprecated)
64
- - **Import Organization**: Improved ESLint compliance with strict import order
65
-
66
- ### Deprecated
67
-
68
- - **Legacy Commands** (will be removed in v5.0.0):
69
- - `vibe add` → Use `nikkory-vibe react generate atom`
70
- - `vibe copy` → Use `nikkory-vibe react list` + manual copy
71
- - `vibe generate` (old style) → Use new scope-based pattern
72
- - `vibe matrix` → Disabled (TypeScript errors)
73
- - `vibe smart` → Disabled (TypeScript errors)
74
-
75
- ### Removed
76
-
77
- - **Matrix Command**: Temporarily disabled due to TypeScript errors
78
- - **Smart Command**: Temporarily disabled due to TypeScript errors
79
- - **Old Generate Command**: Temporarily disabled due to missing types
80
-
81
- ### Fixed
82
-
83
- - **TypeScript Errors**: Zero errors in new Phase 1-3 code
84
- - **ESLint Errors**: Zero errors in new Phase 1-3 code
85
- - **Import Order**: Fixed type import ordering in handlers and types
86
- - **Build Process**: Successful compilation with reduced bundle size
87
-
88
- ### Migration
89
-
90
- See [MIGRATION-v3-v4.md](./MIGRATION-v3-v4.md) for detailed migration guide.
91
-
92
- **Quick Migration**:
93
-
94
- ```bash
95
- # v3.x (Legacy)
96
- vibe add button --style=material --tier=standard
97
-
98
- # v4.0.0 (New)
99
- nikkory-vibe react generate atom button --design=material-design --tier=standard
100
-
101
- # Or with config file
102
- nikkory-vibe react generate atom button
103
- ```
104
-
105
- ### Documentation
106
-
107
- - **README.md**: Completely rewritten for v4.0.0
108
- - **MIGRATION-v3-v4.md**: Comprehensive migration guide
109
- - **nikkory-vibe.config.example.ts**: Example configuration file
110
-
111
- ### Quality Metrics
112
-
113
- **Phase 1-2** (Types + Handlers):
114
-
115
- - 📝 Files Created: 15+
116
- - 📊 Lines of Code: ~800
117
- - ✅ TypeScript Errors: 0
118
- - ✅ ESLint Errors: 0
119
- - ✅ Build: SUCCESS (190KB)
120
-
121
- **Phase 3** (Config + Interactive):
122
-
123
- - 📝 Files Created: 8
124
- - 📊 Lines of Code: 1,287
125
- - ✅ TypeScript Errors: 0 (in new code)
126
- - ✅ ESLint Errors: 0 (in new code)
127
- - ✅ Build: SUCCESS (142KB, -25%)
128
-
129
- **Phase 4** (Quality Gate - Partial):
130
-
131
- - ✅ Legacy commands disabled
132
- - ✅ Import order fixed
133
- - ✅ Documentation updated
134
-
135
- **Overall Progress**: 75% complete (Phase 0-4 done, Phase 5-7 remaining)
136
-
137
- ### Technical Details
138
-
139
- **New Files**:
140
-
141
- - `src/types/command.ts` - CLI command types
142
- - `src/types/enums.ts` - Scope and action enums
143
- - `src/types/granularity.ts` - Component granularity types
144
- - `src/types/handler.ts` - Scope handler interface
145
- - `src/scopes/react.ts` - React scope handler
146
- - `src/scopes/pattern.ts` - Pattern scope handler
147
- - `src/scopes/engine.ts` - Engine scope handler
148
- - `src/scopes/vue.ts` - Vue scope handler (stub)
149
- - `src/scopes/svelte.ts` - Svelte scope handler (stub)
150
- - `src/config/schema.ts` - Config type definitions (220 LOC)
151
- - `src/config/loader.ts` - Config file loader (306 LOC)
152
- - `src/config/index.ts` - Config barrel exports
153
- - `src/interactive/questions.ts` - Inquirer prompts (173 LOC)
154
- - `src/interactive/wizard.ts` - Interactive wizard (361 LOC)
155
- - `src/interactive/index.ts` - Interactive barrel exports
156
- - `nikkory-vibe.config.example.ts` - Example config (132 LOC)
157
-
158
- **Modified Files**:
159
-
160
- - `src/cli.ts` - Integrated config loading and interactive mode (+40 LOC)
161
- - `src/types/handler.ts` - Fixed import order
162
-
163
- ### Breaking Changes
164
-
165
- 1. **Command Structure**: New scope-based pattern required
166
-
167
- ```bash
168
- # Before
169
- vibe add button
170
-
171
- # After
172
- nikkory-vibe react generate atom button
173
- ```
174
-
175
- 2. **Scope Required**: Must specify framework scope
176
-
177
- ```bash
178
- # ❌ Error
179
- nikkory-vibe generate atom button
180
-
181
- # ✅ Correct
182
- nikkory-vibe react generate atom button
183
- ```
184
-
185
- 3. **Option Names**: Some options renamed
186
- - `--style` → `--design` (design system)
187
-
188
- ### Upgrade Instructions
189
-
190
- ```bash
191
- # Update package
192
- pnpm add @nikkory/vibe-cli@latest
193
-
194
- # Create config file (optional)
195
- cp node_modules/@nikkory/vibe-cli/nikkory-vibe.config.example.ts nikkory-vibe.config.ts
196
-
197
- # Update scripts in package.json
198
- {
199
- "scripts": {
200
- "vibe": "nikkory-vibe react --interactive"
201
- }
202
- }
203
- ```
204
-
205
- ### Known Issues
206
-
207
- - Matrix command disabled (TypeScript errors, will be fixed in v4.0.1)
208
- - Smart command disabled (TypeScript errors, will be fixed in v4.0.1)
209
- - Vue/Svelte/Angular scopes not yet implemented (coming v4.1.0+)
210
-
211
- ### Contributors
212
-
213
- - **Planner & Developer**: Nikkory Team
214
- - **AI Assistant**: Claude Code (Sonnet 4.5)
215
-
216
- ### Next Release (v4.0.1)
217
-
218
- Planned fixes:
219
-
220
- - Fix TypeScript errors in matrix command
221
- - Fix TypeScript errors in smart command
222
- - Add unit tests for config loader
223
- - Add unit tests for interactive wizard
224
-
225
- ### Future Releases
226
-
227
- - **v4.1.0**: Vue framework support
228
- - **v4.2.0**: Svelte framework support
229
- - **v4.3.0**: Angular framework support
230
- - **v5.0.0**: Remove all legacy commands
231
-
232
- ---
233
-
234
- **Powered by Nikkory**
@@ -1,23 +0,0 @@
1
- /**
2
- * Nikkory Vibe Configuration Example
3
- *
4
- * Copy this file to your project root as `nikkory-vibe.config.ts`
5
- * to customize CLI defaults and output directories.
6
- *
7
- * @example
8
- * ```bash
9
- * # Copy to your project
10
- * cp nikkory-vibe.config.example.ts nikkory-vibe.config.ts
11
- *
12
- * # Use the config
13
- * nikkory-vibe react generate atom button
14
- * # Will use defaultTier='enterprise' from config
15
- * ```
16
- *
17
- * @since 4.0.0
18
- * Powered by Nikkory
19
- */
20
- import type { NikkoryVibeConfig } from '@nikkory/vibe-cli';
21
- declare const config: NikkoryVibeConfig;
22
- export default config;
23
- //# sourceMappingURL=nikkory-vibe.config.example.d.ts.map
@@ -1,143 +0,0 @@
1
- /**
2
- * Nikkory Vibe Configuration Example
3
- *
4
- * Copy this file to your project root as `nikkory-vibe.config.ts`
5
- * to customize CLI defaults and output directories.
6
- *
7
- * @example
8
- * ```bash
9
- * # Copy to your project
10
- * cp nikkory-vibe.config.example.ts nikkory-vibe.config.ts
11
- *
12
- * # Use the config
13
- * nikkory-vibe react generate atom button
14
- * # Will use defaultTier='enterprise' from config
15
- * ```
16
- *
17
- * @since 4.0.0
18
- * Powered by Nikkory
19
- */
20
-
21
- import type { NikkoryVibeConfig } from '@nikkory/vibe-cli';
22
-
23
- const config: NikkoryVibeConfig = {
24
- // ============================================================================
25
- // DEFAULT VALUES
26
- // ============================================================================
27
-
28
- /**
29
- * Default framework scope
30
- *
31
- * When no scope is specified, use this framework.
32
- * Options: 'react', 'vue', 'svelte', 'angular', 'pattern', 'engine'
33
- */
34
- defaultScope: 'react',
35
-
36
- /**
37
- * Default quality tier
38
- *
39
- * Determines code quality level for generated components.
40
- * Options: 'basic' | 'standard' | 'enterprise'
41
- *
42
- * - basic: Simple components for prototyping (30-50 LOC)
43
- * - standard: Production-ready with variants (50-150 LOC)
44
- * - enterprise: Full analytics, accessibility, memoization (150-300 LOC)
45
- */
46
- defaultTier: 'enterprise',
47
-
48
- /**
49
- * Default design system
50
- *
51
- * Visual style for generated components.
52
- * Options: 'material-design', 'ios-hig', 'glassmorphism', 'neumorphism',
53
- * 'brutalism', 'minimalism'
54
- */
55
- defaultDesignSystem: 'material-design',
56
-
57
- // ============================================================================
58
- // OUTPUT DIRECTORIES
59
- // ============================================================================
60
-
61
- /**
62
- * Output structure for different component granularities
63
- *
64
- * Customize where generated files are saved.
65
- * All paths are relative to current working directory.
66
- */
67
- outputStructure: {
68
- atoms: './src/components/atoms', // Small UI primitives (buttons, inputs)
69
- components: './src/components', // Composite components (cards, modals)
70
- sections: './src/sections', // Page sections (hero, pricing)
71
- pages: './src/pages', // Complete pages
72
- layouts: './src/layouts', // Layout templates
73
- templates: './src/templates', // Full page templates
74
- },
75
-
76
- // ============================================================================
77
- // FRAMEWORK-SPECIFIC SETTINGS
78
- // ============================================================================
79
-
80
- /**
81
- * Per-framework configuration
82
- *
83
- * Customize settings for each framework scope.
84
- */
85
- frameworks: {
86
- react: {
87
- typescript: true,
88
- styleLibrary: 'tailwind',
89
- // Add custom React-specific settings here
90
- },
91
- vue: {
92
- typescript: true,
93
- styleLibrary: 'tailwind',
94
- composition: true, // Use Composition API
95
- // Add custom Vue-specific settings here
96
- },
97
- svelte: {
98
- typescript: true,
99
- styleLibrary: 'tailwind',
100
- // Add custom Svelte-specific settings here
101
- },
102
- angular: {
103
- typescript: true,
104
- styleLibrary: 'tailwind',
105
- // Add custom Angular-specific settings here
106
- },
107
- pattern: {
108
- typescript: true,
109
- },
110
- engine: {
111
- typescript: true,
112
- },
113
- },
114
-
115
- // ============================================================================
116
- // GLOBAL OPTIONS
117
- // ============================================================================
118
-
119
- /**
120
- * Force overwrite existing files
121
- *
122
- * When true, CLI will not prompt before overwriting files.
123
- * Use with caution in production!
124
- */
125
- forceOverwrite: false,
126
-
127
- /**
128
- * Verbose output
129
- *
130
- * When true, CLI shows detailed logs for debugging.
131
- */
132
- verbose: false,
133
-
134
- /**
135
- * Dry run mode
136
- *
137
- * When true, CLI previews changes without writing files.
138
- * Useful for testing commands.
139
- */
140
- dryRun: false,
141
- };
142
-
143
- export default config;
package/tsup.config.d.ts DELETED
@@ -1,3 +0,0 @@
1
- declare const _default: import("tsup").Options | import("tsup").Options[] | ((overrideOptions: import("tsup").Options) => import("tsup").Options | import("tsup").Options[] | Promise<import("tsup").Options | import("tsup").Options[]>);
2
- export default _default;
3
- //# sourceMappingURL=tsup.config.d.ts.map