@nikkory/vibe-cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +234 -0
- package/README.md +261 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +4106 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2371 -0
- package/nikkory-vibe.config.example.d.ts +23 -0
- package/nikkory-vibe.config.example.ts +143 -0
- package/package.json +60 -0
- package/tsup.config.d.ts +3 -0
|
@@ -0,0 +1,23 @@
|
|
|
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
|
|
@@ -0,0 +1,143 @@
|
|
|
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/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nikkory/vibe-cli",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "CLI tool for Nikkory Vibe - Generate production-ready code in seconds",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"vibe": "./dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsup",
|
|
12
|
+
"dev": "tsup --watch",
|
|
13
|
+
"lint": "eslint src --ext .ts",
|
|
14
|
+
"type-check": "tsc --noEmit",
|
|
15
|
+
"test": "vitest run",
|
|
16
|
+
"test:watch": "vitest"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"cli",
|
|
20
|
+
"code-generator",
|
|
21
|
+
"vibe",
|
|
22
|
+
"nikkory",
|
|
23
|
+
"ui-components"
|
|
24
|
+
],
|
|
25
|
+
"author": "Nikkory <dev@nikkory.com>",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/kemonra/nikkory-vibe.git",
|
|
30
|
+
"directory": "packages/cli"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@nikkory/vibe-engine": "workspace:*",
|
|
34
|
+
"@nikkory/vibe-react": "workspace:*",
|
|
35
|
+
"boxen": "^7.1.1",
|
|
36
|
+
"chalk": "^5.3.0",
|
|
37
|
+
"commander": "^11.1.0",
|
|
38
|
+
"glob": "^13.0.0",
|
|
39
|
+
"handlebars": "^4.7.8",
|
|
40
|
+
"inquirer": "^9.2.12",
|
|
41
|
+
"ora": "^8.0.1",
|
|
42
|
+
"update-notifier": "^7.0.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@eslint/js": "^9.39.1",
|
|
46
|
+
"@types/handlebars": "^4.1.0",
|
|
47
|
+
"@types/inquirer": "^9.0.7",
|
|
48
|
+
"@types/node": "^25.0.0",
|
|
49
|
+
"@types/update-notifier": "^6.0.8",
|
|
50
|
+
"eslint": "^9.39.1",
|
|
51
|
+
"globals": "^16.5.0",
|
|
52
|
+
"tsup": "^8.5.1",
|
|
53
|
+
"typescript": "^5.9.3",
|
|
54
|
+
"typescript-eslint": "^8.49.0",
|
|
55
|
+
"vitest": "^4.0.15"
|
|
56
|
+
},
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public"
|
|
59
|
+
}
|
|
60
|
+
}
|
package/tsup.config.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
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
|