@nikkory/vibe-cli 2.4.1 → 2.4.3
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 +5888 -5
- package/package.json +8 -4
- package/scripts/logo-to-ascii.py +75 -0
- package/scripts/postinstall.js +51 -0
- package/CHANGELOG.md +0 -234
- package/nikkory-vibe.config.example.d.ts +0 -23
- package/nikkory-vibe.config.example.ts +0 -143
- package/tsup.config.d.ts +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nikkory/vibe-cli",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.3",
|
|
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,13 +8,19 @@
|
|
|
8
8
|
"nikkory-vibe": "./dist/index.js",
|
|
9
9
|
"vibe": "./dist/index.js"
|
|
10
10
|
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"scripts",
|
|
14
|
+
"README.md"
|
|
15
|
+
],
|
|
11
16
|
"scripts": {
|
|
12
17
|
"build": "tsup",
|
|
13
18
|
"dev": "tsup --watch",
|
|
14
19
|
"lint": "eslint src --ext .ts",
|
|
15
20
|
"type-check": "tsc --noEmit",
|
|
16
21
|
"test": "vitest run",
|
|
17
|
-
"test:watch": "vitest"
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"postinstall": "node scripts/postinstall.js"
|
|
18
24
|
},
|
|
19
25
|
"keywords": [
|
|
20
26
|
"cli",
|
|
@@ -31,8 +37,6 @@
|
|
|
31
37
|
"directory": "packages/cli"
|
|
32
38
|
},
|
|
33
39
|
"dependencies": {
|
|
34
|
-
"@nikkory/vibe-engine": "workspace:*",
|
|
35
|
-
"@nikkory/vibe-react": "workspace:*",
|
|
36
40
|
"boxen": "^7.1.1",
|
|
37
41
|
"chalk": "^5.3.0",
|
|
38
42
|
"commander": "^11.1.0",
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Convert Nikkory logo to ASCII art based on pixel brightness
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from PIL import Image
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
# ASCII characters from darkest to brightest
|
|
10
|
+
ASCII_CHARS = ['@', '#', 'S', '%', '?', '*', '+', ';', ':', ',', '.', ' ']
|
|
11
|
+
# For yellow/gold logo, use simpler set
|
|
12
|
+
ASCII_CHARS_SIMPLE = ['█', '▓', '▒', '░', ' ']
|
|
13
|
+
|
|
14
|
+
def resize_image(image, new_width=80):
|
|
15
|
+
"""Resize image maintaining aspect ratio"""
|
|
16
|
+
width, height = image.size
|
|
17
|
+
aspect_ratio = height / width
|
|
18
|
+
new_height = int(new_width * aspect_ratio * 0.55) # 0.55 for terminal char aspect
|
|
19
|
+
return image.resize((new_width, new_height))
|
|
20
|
+
|
|
21
|
+
def grayscale(image):
|
|
22
|
+
"""Convert to grayscale"""
|
|
23
|
+
return image.convert('L')
|
|
24
|
+
|
|
25
|
+
def pixels_to_ascii(image, ascii_chars=ASCII_CHARS_SIMPLE, invert=False):
|
|
26
|
+
"""Convert pixels to ASCII characters"""
|
|
27
|
+
pixels = image.getdata()
|
|
28
|
+
ascii_str = ''
|
|
29
|
+
for pixel in pixels:
|
|
30
|
+
if invert:
|
|
31
|
+
# Invert: bright pixels = dark chars (for yellow on white background)
|
|
32
|
+
ascii_str += ascii_chars[min(pixel * len(ascii_chars) // 256, len(ascii_chars) - 1)]
|
|
33
|
+
else:
|
|
34
|
+
# Normal: dark pixels = dark chars (for yellow logo on transparent/dark background)
|
|
35
|
+
ascii_str += ascii_chars[len(ascii_chars) - 1 - min(pixel * len(ascii_chars) // 256, len(ascii_chars) - 1)]
|
|
36
|
+
return ascii_str
|
|
37
|
+
|
|
38
|
+
def main(image_path, width=80):
|
|
39
|
+
"""Main conversion function"""
|
|
40
|
+
try:
|
|
41
|
+
# Load image
|
|
42
|
+
image = Image.open(image_path)
|
|
43
|
+
|
|
44
|
+
# Process image
|
|
45
|
+
image = resize_image(image, width)
|
|
46
|
+
image = grayscale(image)
|
|
47
|
+
|
|
48
|
+
# Convert to ASCII
|
|
49
|
+
ascii_str = pixels_to_ascii(image)
|
|
50
|
+
|
|
51
|
+
# Format into lines
|
|
52
|
+
img_width = image.width
|
|
53
|
+
ascii_lines = [ascii_str[i:i+img_width] for i in range(0, len(ascii_str), img_width)]
|
|
54
|
+
|
|
55
|
+
# Save to file first
|
|
56
|
+
output_file = image_path.replace('.png', '-ascii.txt')
|
|
57
|
+
with open(output_file, 'w', encoding='utf-8') as f:
|
|
58
|
+
f.write('\n'.join(ascii_lines))
|
|
59
|
+
|
|
60
|
+
# Print success message
|
|
61
|
+
print(f"Saved to: {output_file}")
|
|
62
|
+
|
|
63
|
+
except Exception as e:
|
|
64
|
+
print(f"Error: {e}", file=sys.stderr)
|
|
65
|
+
sys.exit(1)
|
|
66
|
+
|
|
67
|
+
if __name__ == '__main__':
|
|
68
|
+
if len(sys.argv) < 2:
|
|
69
|
+
print("Usage: python logo-to-ascii.py <image_path> [width]")
|
|
70
|
+
sys.exit(1)
|
|
71
|
+
|
|
72
|
+
image_path = sys.argv[1]
|
|
73
|
+
width = int(sys.argv[2]) if len(sys.argv) > 2 else 80
|
|
74
|
+
|
|
75
|
+
main(image_path, width)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Post-install script
|
|
4
|
+
* Displays welcome message after CLI installation
|
|
5
|
+
*
|
|
6
|
+
* Powered by Nikkory
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// Simple version without chalk dependency for postinstall
|
|
10
|
+
const yellow = '\x1b[33m';
|
|
11
|
+
const gray = '\x1b[90m';
|
|
12
|
+
const green = '\x1b[32m';
|
|
13
|
+
const cyan = '\x1b[36m';
|
|
14
|
+
const white = '\x1b[37m';
|
|
15
|
+
const bold = '\x1b[1m';
|
|
16
|
+
const reset = '\x1b[0m';
|
|
17
|
+
|
|
18
|
+
const banner = `
|
|
19
|
+
${yellow}${bold}███╗ ██╗██╗██╗ ██╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗${reset}
|
|
20
|
+
${yellow}${bold}████╗ ██║██║██║ ██╔╝██║ ██╔╝██╔═══██╗██╔══██╗╚██╗ ██╔╝${reset}
|
|
21
|
+
${yellow}${bold}██╔██╗ ██║██║█████╔╝ █████╔╝ ██║ ██║██████╔╝ ╚████╔╝ ${reset}
|
|
22
|
+
${yellow}${bold}██║╚██╗██║██║██╔═██╗ ██╔═██╗ ██║ ██║██╔══██╗ ╚██╔╝ ${reset}
|
|
23
|
+
${yellow}${bold}██║ ╚████║██║██║ ██╗██║ ██╗╚██████╔╝██║ ██║ ██║ ${reset}
|
|
24
|
+
${yellow}${bold}╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ${reset}
|
|
25
|
+
|
|
26
|
+
${yellow}${bold} ██╗ ██╗██╗██████╗ ███████╗ ${reset}
|
|
27
|
+
${yellow}${bold} ██║ ██║██║██╔══██╗██╔════╝ ${reset}
|
|
28
|
+
${yellow}${bold} ██║ ██║██║██████╔╝█████╗ ${reset}
|
|
29
|
+
${yellow}${bold} ╚██╗ ██╔╝██║██╔══██╗██╔══╝ ${reset}
|
|
30
|
+
${yellow}${bold} ╚████╔╝ ██║██████╔╝███████╗ ${reset}
|
|
31
|
+
${yellow}${bold} ╚═══╝ ╚═╝╚═════╝ ╚══════╝ ${reset}
|
|
32
|
+
|
|
33
|
+
${yellow} happy together${reset} ${white}• v2.4.3${reset}
|
|
34
|
+
|
|
35
|
+
${gray} Production-ready code in seconds${reset}
|
|
36
|
+
${gray} https://nikkory.com${reset}
|
|
37
|
+
|
|
38
|
+
${green}✓ Installation successful!${reset}
|
|
39
|
+
|
|
40
|
+
${cyan}Quick Start:${reset}
|
|
41
|
+
${white}nikkory-vibe add button${reset} ${gray}# Generate button component${reset}
|
|
42
|
+
${white}nikkory-vibe add:section hero${reset} ${gray}# Generate hero section${reset}
|
|
43
|
+
${white}nikkory-vibe list${reset} ${gray}# Browse available templates${reset}
|
|
44
|
+
|
|
45
|
+
${cyan}Need help?${reset}
|
|
46
|
+
${white}nikkory-vibe --help${reset}
|
|
47
|
+
|
|
48
|
+
${yellow} 169 Components${reset} ${gray}+${reset} ${yellow}50 Sections${reset} ${gray}×${reset} ${yellow}12 Systems${reset} ${gray}×${reset} ${yellow}3 Tiers${reset}
|
|
49
|
+
`;
|
|
50
|
+
|
|
51
|
+
console.log(banner);
|
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
|