kybernus 1.1.3 → 1.1.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/cli/commands/init.js +11 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/register.js +1 -1
- package/dist/cli/commands/register.js.map +1 -1
- package/dist/cli/commands/upgrade.js +1 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/prompts/wizard.js +22 -22
- package/dist/cli/prompts/wizard.js.map +1 -1
- package/dist/cli/services/AnalyticsClient.js +1 -1
- package/dist/cli/services/AnalyticsClient.js.map +1 -1
- package/dist/core/auth/license-validator.js +1 -1
- package/dist/core/auth/license-validator.js.map +1 -1
- package/dist/core/generator/project.d.ts +9 -9
- package/dist/core/generator/project.js +61 -61
- package/dist/core/generator/project.js.map +1 -1
- package/dist/core/templates/downloader.js +1 -1
- package/dist/core/templates/downloader.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import { AnalyticsClient } from '../services/AnalyticsClient.js';
|
|
|
7
7
|
export async function initCommand(options) {
|
|
8
8
|
const configManager = new ConfigManager();
|
|
9
9
|
const validator = new LicenseValidator();
|
|
10
|
-
//
|
|
10
|
+
// Determine license tier
|
|
11
11
|
let licenseTier = 'free';
|
|
12
12
|
let licenseKey = options.license;
|
|
13
13
|
// If no license provided via flag, check stored config
|
|
@@ -30,12 +30,12 @@ export async function initCommand(options) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
if (licenseTier === 'free') {
|
|
33
|
-
clack.note('🆓
|
|
33
|
+
clack.note('🆓 Free Mode Active\n\nYou are using Kybernus Free. To access:\n- Advanced Architectures (Clean, Hexagonal)\n- Additional Stacks (Python FastAPI, NestJS)\n- Complete DevOps (Docker, CI/CD, Terraform)\n\nTo unlock Pro features, run: kybernus upgrade', 'ℹ️ Information');
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
clack.note('🌟
|
|
36
|
+
clack.note('🌟 Pro Mode Active\n\nYou have access to all features!', '✨ Pro');
|
|
37
37
|
}
|
|
38
|
-
//
|
|
38
|
+
// Run interactive wizard (or use options if non-interactive)
|
|
39
39
|
const config = await runWizard(licenseTier, options);
|
|
40
40
|
// Inject licenseKey into config if available
|
|
41
41
|
if (licenseKey) {
|
|
@@ -44,21 +44,21 @@ export async function initCommand(options) {
|
|
|
44
44
|
// Validate project limit (Metered Trial)
|
|
45
45
|
if (licenseTier === 'pro' && licenseKey) {
|
|
46
46
|
const spinner = clack.spinner();
|
|
47
|
-
spinner.start('
|
|
47
|
+
spinner.start('Validating project quota...');
|
|
48
48
|
const creditCheck = await validator.consumeCredit(licenseKey);
|
|
49
|
-
spinner.stop('
|
|
49
|
+
spinner.stop('Quota verified');
|
|
50
50
|
if (!creditCheck.authorized) {
|
|
51
|
-
clack.log.error(creditCheck.message || '
|
|
51
|
+
clack.log.error(creditCheck.message || 'Project creation blocked by license limit.');
|
|
52
52
|
if (creditCheck.message?.includes('Trial limit')) {
|
|
53
|
-
clack.note('🔓
|
|
53
|
+
clack.note('🔓 Unlock unlimited projects with Kybernus Pro lifetime.\nRun: kybernus upgrade', 'Limit Reached');
|
|
54
54
|
}
|
|
55
55
|
return; // Stop generation
|
|
56
56
|
}
|
|
57
57
|
if (creditCheck.remaining !== undefined && creditCheck.remaining >= 0) {
|
|
58
|
-
clack.log.info(`
|
|
58
|
+
clack.log.info(`Trial Credits: ${creditCheck.usage}/${creditCheck.limit} used. (${creditCheck.remaining} remaining)`);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
//
|
|
61
|
+
// Generate project
|
|
62
62
|
const generator = new ProjectGenerator();
|
|
63
63
|
await generator.generate(config, process.cwd());
|
|
64
64
|
// Track generation
|
|
@@ -70,6 +70,6 @@ export async function initCommand(options) {
|
|
|
70
70
|
tier: licenseTier,
|
|
71
71
|
command: 'init'
|
|
72
72
|
});
|
|
73
|
-
clack.outro('🎉
|
|
73
|
+
clack.outro('🎉 Project created successfully! Happy coding!');
|
|
74
74
|
}
|
|
75
75
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAYjE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IAClD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAEzC,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
2
|
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
3
3
|
import { AnalyticsClient } from '../services/AnalyticsClient.js';
|
|
4
|
-
const API_URL = process.env.KYBERNUS_API_URL || '
|
|
4
|
+
const API_URL = process.env.KYBERNUS_API_URL || 'https://getkybernus.com/api';
|
|
5
5
|
export async function registerCommand() {
|
|
6
6
|
console.clear();
|
|
7
7
|
clack.intro('🚀 Kybernus Registration');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as clack from '@clack/prompts';
|
|
|
2
2
|
import { exec } from 'child_process';
|
|
3
3
|
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
4
4
|
import { AnalyticsClient } from '../services/AnalyticsClient.js';
|
|
5
|
-
const API_URL = process.env.KYBERNUS_API_URL || '
|
|
5
|
+
const API_URL = process.env.KYBERNUS_API_URL || 'https://getkybernus.com/api';
|
|
6
6
|
export async function upgradeCommand() {
|
|
7
7
|
console.clear();
|
|
8
8
|
clack.intro('💎 Upgrade Kybernus');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
2
|
export async function runWizard(licenseTier, options = {}) {
|
|
3
|
-
//
|
|
3
|
+
// If non-interactive mode, validate required options
|
|
4
4
|
if (options.nonInteractive) {
|
|
5
5
|
if (!options.name || !options.stack) {
|
|
6
|
-
throw new Error('
|
|
6
|
+
throw new Error('Non-interactive mode requires --name and --stack. Architecture defaults to mvc if not specified.');
|
|
7
7
|
}
|
|
8
8
|
// Default DevOps flags for Pro non-interactive
|
|
9
9
|
const devops = {
|
|
@@ -23,23 +23,23 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
23
23
|
licenseTier
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
clack.intro('🚀
|
|
26
|
+
clack.intro('🚀 Welcome to Kybernus');
|
|
27
27
|
// Pre-fill prompt default values based on passed options
|
|
28
28
|
const answers = await clack.group({
|
|
29
29
|
projectName: () => clack.text({
|
|
30
|
-
message: '
|
|
31
|
-
placeholder: '
|
|
30
|
+
message: 'Project name:',
|
|
31
|
+
placeholder: 'my-project',
|
|
32
32
|
initialValue: options.name,
|
|
33
33
|
validate: (value) => {
|
|
34
34
|
if (!value)
|
|
35
|
-
return '
|
|
35
|
+
return 'Name is required';
|
|
36
36
|
if (!/^[a-z0-9-]+$/.test(value)) {
|
|
37
|
-
return 'Use
|
|
37
|
+
return 'Use only lowercase letters, numbers and hyphens';
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
}),
|
|
41
41
|
stack: () => clack.select({
|
|
42
|
-
message: '
|
|
42
|
+
message: 'Choose your stack:',
|
|
43
43
|
initialValue: options.stack,
|
|
44
44
|
options: [
|
|
45
45
|
{ value: 'nextjs', label: 'Next.js (React + TypeScript)' },
|
|
@@ -60,7 +60,7 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
60
60
|
message: 'Build tool:',
|
|
61
61
|
initialValue: options.buildTool,
|
|
62
62
|
options: [
|
|
63
|
-
{ value: 'maven', label: 'Maven (Gradle
|
|
63
|
+
{ value: 'maven', label: 'Maven (Gradle coming soon)' },
|
|
64
64
|
],
|
|
65
65
|
});
|
|
66
66
|
},
|
|
@@ -68,61 +68,61 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
68
68
|
if (results.stack !== 'java-spring')
|
|
69
69
|
return;
|
|
70
70
|
return clack.text({
|
|
71
|
-
message: 'Package name (
|
|
72
|
-
placeholder: 'com.
|
|
71
|
+
message: 'Package name (e.g., com.user.project):',
|
|
72
|
+
placeholder: 'com.user.project',
|
|
73
73
|
initialValue: options.packageName,
|
|
74
74
|
validate: (value) => {
|
|
75
75
|
if (!value)
|
|
76
|
-
return 'Package name
|
|
76
|
+
return 'Package name is required for Java';
|
|
77
77
|
if (!/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/.test(value)) {
|
|
78
|
-
return '
|
|
78
|
+
return 'Invalid package name (e.g., com.user.project)';
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
});
|
|
82
82
|
},
|
|
83
83
|
architecture: ({ results }) => {
|
|
84
|
-
//
|
|
84
|
+
// Only backend stacks support different architectures
|
|
85
85
|
const backendStacks = ['java-spring', 'nodejs-express', 'python-fastapi', 'nestjs'];
|
|
86
86
|
if (!backendStacks.includes(results.stack))
|
|
87
87
|
return;
|
|
88
88
|
const uiOptions = [{ value: 'mvc', label: 'MVC (Model-View-Controller)' }];
|
|
89
|
-
//
|
|
89
|
+
// Advanced architectures only in Pro
|
|
90
90
|
if (licenseTier === 'pro') {
|
|
91
91
|
uiOptions.push({ value: 'clean', label: '🌟 Clean Architecture (Pro)' }, { value: 'hexagonal', label: '🌟 Hexagonal Architecture (Pro)' });
|
|
92
92
|
}
|
|
93
93
|
return clack.select({
|
|
94
|
-
message: '
|
|
94
|
+
message: 'Architecture:',
|
|
95
95
|
initialValue: options.architecture,
|
|
96
96
|
options: uiOptions,
|
|
97
97
|
});
|
|
98
98
|
},
|
|
99
99
|
useAI: () => clack.confirm({
|
|
100
|
-
message: '
|
|
100
|
+
message: 'Generate AI documentation (Google Gemini)?',
|
|
101
101
|
initialValue: options.ai || false,
|
|
102
102
|
}),
|
|
103
103
|
geminiKey: ({ results }) => {
|
|
104
104
|
if (!results.useAI)
|
|
105
105
|
return;
|
|
106
|
-
//
|
|
106
|
+
// If key already provided in options, don't ask
|
|
107
107
|
if (options.geminiKey)
|
|
108
108
|
return;
|
|
109
109
|
return clack.password({
|
|
110
110
|
message: 'Gemini API Key:',
|
|
111
111
|
validate: (value) => {
|
|
112
112
|
if (!value)
|
|
113
|
-
return 'API Key
|
|
113
|
+
return 'API Key is required to use AI';
|
|
114
114
|
},
|
|
115
115
|
});
|
|
116
116
|
},
|
|
117
117
|
devops: async ({ results }) => {
|
|
118
118
|
if (licenseTier !== 'pro')
|
|
119
119
|
return [];
|
|
120
|
-
//
|
|
120
|
+
// If devops flags already set, assume override mode
|
|
121
121
|
if (options.docker || options.cicd || options.terraform) {
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
124
|
const selected = await clack.multiselect({
|
|
125
|
-
message: "DevOps &
|
|
125
|
+
message: "DevOps & Infrastructure (use Space to select, or 'A' to select all):",
|
|
126
126
|
options: [
|
|
127
127
|
{ value: 'docker', label: 'Docker + Docker Compose' },
|
|
128
128
|
{ value: 'ci-cd', label: 'GitHub Actions CI/CD' },
|
|
@@ -134,7 +134,7 @@ export async function runWizard(licenseTier, options = {}) {
|
|
|
134
134
|
},
|
|
135
135
|
}, {
|
|
136
136
|
onCancel: () => {
|
|
137
|
-
clack.cancel('
|
|
137
|
+
clack.cancel('Operation cancelled');
|
|
138
138
|
process.exit(0);
|
|
139
139
|
},
|
|
140
140
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAkBxC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAAwB,EAAE,UAAyB,EAAE;IACnF,
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/cli/prompts/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConfigManager } from '../../core/config/config-manager.js';
|
|
2
|
-
const API_URL = process.env.KYBERNUS_API_URL || '
|
|
2
|
+
const API_URL = process.env.KYBERNUS_API_URL || 'https://getkybernus.com/api';
|
|
3
3
|
export class AnalyticsClient {
|
|
4
4
|
configManager;
|
|
5
5
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsClient.js","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"AnalyticsClient.js","sourceRoot":"","sources":["../../../src/cli/services/AnalyticsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,6BAA6B,CAAC;AAE9E,MAAM,OAAO,eAAe;IAChB,aAAa,CAAgB;IAErC;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,OAAuF,EAAE;QAChH,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,0EAA0E;YAE/H,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAEvD,kBAAkB;YAClB,KAAK,CAAC,GAAG,OAAO,kBAAkB,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,KAAK;oBACL,UAAU,EAAE,UAAU,IAAI,SAAS;oBACnC,KAAK;oBACL,YAAY;oBACZ,OAAO;oBACP,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,kCAAkC;iBACtE,CAAC;aACL,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAExB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,gBAAgB;QACpB,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConfigManager } from '../config/config-manager.js';
|
|
2
|
-
const API_URL = process.env.KYBERNUS_API_URL || '
|
|
2
|
+
const API_URL = process.env.KYBERNUS_API_URL || 'https://getkybernus.com/api';
|
|
3
3
|
export class LicenseValidator {
|
|
4
4
|
configManager;
|
|
5
5
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-validator.js","sourceRoot":"","sources":["../../../src/core/auth/license-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"license-validator.js","sourceRoot":"","sources":["../../../src/core/auth/license-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ProjectConfig } from '../../models/config.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Generates projects from templates
|
|
4
4
|
*/
|
|
5
5
|
export declare class ProjectGenerator {
|
|
6
6
|
private engine;
|
|
7
7
|
constructor();
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Generates a complete project based on configuration
|
|
10
10
|
*/
|
|
11
11
|
generate(config: ProjectConfig, outputDir: string): Promise<void>;
|
|
12
12
|
/**
|
|
@@ -18,32 +18,32 @@ export declare class ProjectGenerator {
|
|
|
18
18
|
*/
|
|
19
19
|
private getLocalTemplatePath;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Generates documentation using AI (README.md and API.md)
|
|
22
22
|
*/
|
|
23
23
|
private generateAIDocumentation;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Returns template path based on config
|
|
26
26
|
*/
|
|
27
27
|
private getTemplatePath;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Shows next steps instructions
|
|
30
30
|
*/
|
|
31
31
|
private showNextSteps;
|
|
32
32
|
private getStackSpecificInstructions;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Runs post-generation hooks (e.g., install Maven/Gradle wrappers)
|
|
35
35
|
*/
|
|
36
36
|
private runPostGenerationHooks;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Installs build wrapper (Maven or Gradle) for Java projects
|
|
39
39
|
*/
|
|
40
40
|
private installJavaBuildWrapper;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Extracts controller files for API documentation
|
|
43
43
|
*/
|
|
44
44
|
private extractControllers;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Searches for controller files based on stack
|
|
47
47
|
*/
|
|
48
48
|
private findControllerFiles;
|
|
49
49
|
}
|
|
@@ -11,7 +11,7 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
11
11
|
const __dirname = path.dirname(__filename);
|
|
12
12
|
const execPromise = promisify(exec);
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Generates projects from templates
|
|
15
15
|
*/
|
|
16
16
|
export class ProjectGenerator {
|
|
17
17
|
engine;
|
|
@@ -19,52 +19,52 @@ export class ProjectGenerator {
|
|
|
19
19
|
this.engine = new TemplateEngine();
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Generates a complete project based on configuration
|
|
23
23
|
*/
|
|
24
24
|
async generate(config, outputDir) {
|
|
25
25
|
const spinner = clack.spinner();
|
|
26
26
|
try {
|
|
27
27
|
spinner.start('🏗️ Gerando projeto...');
|
|
28
|
-
// 1.
|
|
28
|
+
// 1. Check if directory already exists
|
|
29
29
|
const projectPath = path.join(outputDir, config.projectName);
|
|
30
30
|
if (await fs.pathExists(projectPath)) {
|
|
31
|
-
spinner.stop('❌
|
|
32
|
-
throw new Error(`
|
|
31
|
+
spinner.stop('❌ Directory already exists');
|
|
32
|
+
throw new Error(`Directory "${config.projectName}" already exists!`);
|
|
33
33
|
}
|
|
34
|
-
// 2.
|
|
34
|
+
// 2. Determine template path (different for Pro vs Free)
|
|
35
35
|
let templatePath;
|
|
36
36
|
if (config.licenseTier === 'pro') {
|
|
37
37
|
// Pro templates: download from API or use cache
|
|
38
|
-
spinner.message('📦
|
|
38
|
+
spinner.message('📦 Checking Pro templates...');
|
|
39
39
|
templatePath = await this.getProTemplatePath(config, spinner);
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
// Free templates: use local bundled templates
|
|
43
43
|
templatePath = this.getLocalTemplatePath(config);
|
|
44
44
|
}
|
|
45
|
-
//
|
|
45
|
+
// Check if template exists
|
|
46
46
|
if (!(await fs.pathExists(templatePath))) {
|
|
47
|
-
spinner.stop('❌ Template
|
|
48
|
-
throw new Error(`Template
|
|
47
|
+
spinner.stop('❌ Template not found');
|
|
48
|
+
throw new Error(`Template not found: ${config.stack}/${config.licenseTier}\n` +
|
|
49
49
|
`Path: ${templatePath}`);
|
|
50
50
|
}
|
|
51
|
-
// 3.
|
|
51
|
+
// 3. Build context for Handlebars
|
|
52
52
|
const context = buildTemplateContext(config);
|
|
53
|
-
// 4.
|
|
53
|
+
// 4. Render all templates
|
|
54
54
|
await this.engine.renderTree(templatePath, projectPath, context);
|
|
55
|
-
// 5.
|
|
55
|
+
// 5. Generate AI documentation (if enabled)
|
|
56
56
|
if (config.useAI && config.geminiKey) {
|
|
57
|
-
spinner.message('🤖
|
|
57
|
+
spinner.message('🤖 Generating AI documentation...');
|
|
58
58
|
await this.generateAIDocumentation(config, projectPath);
|
|
59
59
|
}
|
|
60
60
|
// 6. Post-generation hooks (Java wrappers, etc)
|
|
61
61
|
await this.runPostGenerationHooks(config, projectPath);
|
|
62
|
-
spinner.stop('✅
|
|
63
|
-
// 7.
|
|
62
|
+
spinner.stop('✅ Project generated successfully!');
|
|
63
|
+
// 7. Show next steps
|
|
64
64
|
this.showNextSteps(config);
|
|
65
65
|
}
|
|
66
66
|
catch (error) {
|
|
67
|
-
spinner.stop('❌
|
|
67
|
+
spinner.stop('❌ Error generating project');
|
|
68
68
|
throw error;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -79,7 +79,7 @@ export class ProjectGenerator {
|
|
|
79
79
|
return cachedPath;
|
|
80
80
|
}
|
|
81
81
|
// Download from API
|
|
82
|
-
spinner.message('⬇️
|
|
82
|
+
spinner.message('⬇️ Downloading Pro templates...');
|
|
83
83
|
const result = await templateDownloader.downloadProTemplate(config.licenseKey, config.stack, architecture);
|
|
84
84
|
if (!result.success || !result.files) {
|
|
85
85
|
throw new Error(result.error || 'Failed to download Pro template');
|
|
@@ -98,49 +98,49 @@ export class ProjectGenerator {
|
|
|
98
98
|
return path.join(templatesRoot, config.stack, 'free', architecture);
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
101
|
+
* Generates documentation using AI (README.md and API.md)
|
|
102
102
|
*/
|
|
103
103
|
async generateAIDocumentation(config, projectPath) {
|
|
104
104
|
try {
|
|
105
105
|
const { DocumentationGenerator } = await import('../ai/documentation-generator.js');
|
|
106
106
|
const docGen = new DocumentationGenerator(config.geminiKey);
|
|
107
|
-
// 1.
|
|
107
|
+
// 1. Generate README.md
|
|
108
108
|
try {
|
|
109
109
|
const readme = await docGen.generateREADME(config);
|
|
110
110
|
await fs.writeFile(path.join(projectPath, 'README.md'), readme, 'utf-8');
|
|
111
|
-
clack.log.success(' ├─ README.md
|
|
111
|
+
clack.log.success(' ├─ README.md generated with AI');
|
|
112
112
|
}
|
|
113
113
|
catch (error) {
|
|
114
|
-
clack.log.warn(` ├─
|
|
115
|
-
clack.log.info(' ├─
|
|
114
|
+
clack.log.warn(` ├─ Failed to generate README: ${error.message}`);
|
|
115
|
+
clack.log.info(' ├─ Using template README');
|
|
116
116
|
}
|
|
117
|
-
// 2.
|
|
117
|
+
// 2. Generate API.md (Pro tier only with controllers)
|
|
118
118
|
if (config.licenseTier === 'pro') {
|
|
119
119
|
try {
|
|
120
120
|
const controllers = await this.extractControllers(projectPath, config.stack);
|
|
121
121
|
if (controllers.length > 0) {
|
|
122
122
|
const apiDocs = await docGen.generateAPIDocumentation(config.stack, controllers);
|
|
123
123
|
await fs.writeFile(path.join(projectPath, 'API.md'), apiDocs, 'utf-8');
|
|
124
|
-
clack.log.success(' └─ API.md
|
|
124
|
+
clack.log.success(' └─ API.md generated with AI');
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
catch (error) {
|
|
128
|
-
clack.log.warn(` └─
|
|
128
|
+
clack.log.warn(` └─ Failed to generate API docs: ${error.message}`);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
catch (error) {
|
|
133
|
-
clack.log.error(`
|
|
134
|
-
clack.log.info('
|
|
133
|
+
clack.log.error(`Error generating AI documentation: ${error.message}`);
|
|
134
|
+
clack.log.info('Continuing with template README...');
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
|
-
*
|
|
138
|
+
* Returns template path based on config
|
|
139
139
|
*/
|
|
140
140
|
getTemplatePath(config) {
|
|
141
|
-
//
|
|
142
|
-
// generator
|
|
143
|
-
// templates
|
|
141
|
+
// Relative path from generator to project root
|
|
142
|
+
// generator is in src/core/generator/
|
|
143
|
+
// templates is in templates/
|
|
144
144
|
const templatesRoot = path.join(__dirname, '../../../templates');
|
|
145
145
|
const tier = config.licenseTier;
|
|
146
146
|
const stack = config.stack;
|
|
@@ -152,14 +152,14 @@ export class ProjectGenerator {
|
|
|
152
152
|
return path.join(templatesRoot, stack, tier, architecture);
|
|
153
153
|
}
|
|
154
154
|
/**
|
|
155
|
-
*
|
|
155
|
+
* Shows next steps instructions
|
|
156
156
|
*/
|
|
157
157
|
showNextSteps(config) {
|
|
158
158
|
const instructions = this.getStackSpecificInstructions(config.stack);
|
|
159
|
-
clack.note(`📁
|
|
159
|
+
clack.note(`📁 Enter the project directory:\n cd ${config.projectName}\n\n` +
|
|
160
160
|
`📦 ${instructions.install}\n\n` +
|
|
161
161
|
`🚀 ${instructions.run}\n\n` +
|
|
162
|
-
`📝
|
|
162
|
+
`📝 Read README.md for more information`, '✨ Next steps');
|
|
163
163
|
}
|
|
164
164
|
getStackSpecificInstructions(stack) {
|
|
165
165
|
switch (stack) {
|
|
@@ -176,69 +176,69 @@ export class ProjectGenerator {
|
|
|
176
176
|
case 'java-spring':
|
|
177
177
|
return {
|
|
178
178
|
install: 'Build tool configurado (Maven/Gradle)',
|
|
179
|
-
run: '
|
|
179
|
+
run: 'Run the application:\n ./mvnw spring-boot:run',
|
|
180
180
|
};
|
|
181
181
|
case 'python-fastapi':
|
|
182
182
|
return {
|
|
183
|
-
install: '
|
|
184
|
-
run: '
|
|
183
|
+
install: 'Install dependencies:\n pip install -r requirements.txt',
|
|
184
|
+
run: 'Start the server:\n uvicorn main:app --reload',
|
|
185
185
|
};
|
|
186
186
|
case 'nestjs':
|
|
187
187
|
return {
|
|
188
|
-
install: '
|
|
189
|
-
run: '
|
|
188
|
+
install: 'Install dependencies:\n npm install',
|
|
189
|
+
run: 'Start the server:\n npm run start:dev',
|
|
190
190
|
};
|
|
191
191
|
default:
|
|
192
192
|
return {
|
|
193
|
-
install: '
|
|
194
|
-
run: '
|
|
193
|
+
install: 'See README.md',
|
|
194
|
+
run: 'See README.md',
|
|
195
195
|
};
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
/**
|
|
199
|
-
*
|
|
199
|
+
* Runs post-generation hooks (e.g., install Maven/Gradle wrappers)
|
|
200
200
|
*/
|
|
201
201
|
async runPostGenerationHooks(config, projectPath) {
|
|
202
|
-
//
|
|
202
|
+
// Java Spring Boot specific hook
|
|
203
203
|
if (config.stack === 'java-spring') {
|
|
204
204
|
await this.installJavaBuildWrapper(config, projectPath);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
/**
|
|
208
|
-
*
|
|
208
|
+
* Installs build wrapper (Maven or Gradle) for Java projects
|
|
209
209
|
*/
|
|
210
210
|
async installJavaBuildWrapper(config, projectPath) {
|
|
211
211
|
const buildTool = config.buildTool || 'maven';
|
|
212
212
|
try {
|
|
213
213
|
if (buildTool === 'maven') {
|
|
214
|
-
//
|
|
215
|
-
//
|
|
214
|
+
// Use mvn wrapper:wrapper to generate wrapper files
|
|
215
|
+
// Check if Maven is installed
|
|
216
216
|
try {
|
|
217
217
|
await execPromise('mvn --version');
|
|
218
218
|
}
|
|
219
219
|
catch {
|
|
220
|
-
console.warn('⚠️ Maven
|
|
220
|
+
console.warn('⚠️ Maven not found. Wrapper will not be installed.');
|
|
221
221
|
console.warn(' Instale Maven ou use o comando: mvn wrapper:wrapper');
|
|
222
222
|
return;
|
|
223
223
|
}
|
|
224
|
-
//
|
|
224
|
+
// Generate wrapper
|
|
225
225
|
await execPromise('mvn wrapper:wrapper', { cwd: projectPath });
|
|
226
|
-
//
|
|
226
|
+
// Set execution permissions on mvnw
|
|
227
227
|
await fs.chmod(path.join(projectPath, 'mvnw'), 0o755);
|
|
228
228
|
}
|
|
229
229
|
else if (buildTool === 'gradle') {
|
|
230
|
-
// TODO:
|
|
231
|
-
console.warn('⚠️ Gradle wrapper
|
|
230
|
+
// TODO: Implement Gradle wrapper when we support Gradle
|
|
231
|
+
console.warn('⚠️ Gradle wrapper not yet implemented');
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
catch (error) {
|
|
235
|
-
//
|
|
235
|
+
// Don't fail project generation if wrapper fails
|
|
236
236
|
console.warn(`⚠️ Erro ao instalar ${buildTool} wrapper:`, error);
|
|
237
|
-
console.warn(`
|
|
237
|
+
console.warn(` Project was generated, but you will need to install the wrapper manually.`);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
/**
|
|
241
|
-
*
|
|
241
|
+
* Extracts controller files for API documentation
|
|
242
242
|
*/
|
|
243
243
|
async extractControllers(projectPath, stack) {
|
|
244
244
|
const controllers = [];
|
|
@@ -256,9 +256,9 @@ export class ProjectGenerator {
|
|
|
256
256
|
if (!(await fs.pathExists(fullPath)))
|
|
257
257
|
return controllers;
|
|
258
258
|
try {
|
|
259
|
-
//
|
|
259
|
+
// Find controller files recursively
|
|
260
260
|
const files = await this.findControllerFiles(fullPath, stack);
|
|
261
|
-
//
|
|
261
|
+
// Read content of each controller (max 5 to avoid overload)
|
|
262
262
|
for (const file of files.slice(0, 5)) {
|
|
263
263
|
try {
|
|
264
264
|
const content = await fs.readFile(file, 'utf-8');
|
|
@@ -266,17 +266,17 @@ export class ProjectGenerator {
|
|
|
266
266
|
controllers.push({ name, content });
|
|
267
267
|
}
|
|
268
268
|
catch (error) {
|
|
269
|
-
//
|
|
269
|
+
// Ignore files that can't be read
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
catch (error) {
|
|
274
|
-
//
|
|
274
|
+
// If it fails, return empty array
|
|
275
275
|
}
|
|
276
276
|
return controllers;
|
|
277
277
|
}
|
|
278
278
|
/**
|
|
279
|
-
*
|
|
279
|
+
* Searches for controller files based on stack
|
|
280
280
|
*/
|
|
281
281
|
async findControllerFiles(dir, stack) {
|
|
282
282
|
const extensions = {
|
|
@@ -301,7 +301,7 @@ export class ProjectGenerator {
|
|
|
301
301
|
else if (entry.isFile()) {
|
|
302
302
|
const ext = path.extname(entry.name);
|
|
303
303
|
const name = entry.name.toLowerCase();
|
|
304
|
-
//
|
|
304
|
+
// Include only controller/route files
|
|
305
305
|
if (validExts.includes(ext) &&
|
|
306
306
|
(name.includes('controller') || name.includes('route') ||
|
|
307
307
|
name.includes('auth') || name.includes('payment'))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/core/generator/project.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACjB,MAAM,CAAiB;IAE/B;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAqB,EAAE,SAAiB;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAEzC,
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/core/generator/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
|
-
const API_URL = process.env.KYBERNUS_API_URL || 'https://
|
|
3
|
+
const API_URL = process.env.KYBERNUS_API_URL || 'https://getkybernus.com/api';
|
|
4
4
|
/**
|
|
5
5
|
* Downloads Pro templates from the Kybernus API
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../src/core/templates/downloader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../src/core/templates/downloader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { logoutCommand } from './cli/commands/logout.js';
|
|
|
6
6
|
const program = new Command();
|
|
7
7
|
program
|
|
8
8
|
.name('kybernus')
|
|
9
|
-
.description('
|
|
9
|
+
.description('Professional CLI for scaffolding production-ready backend and fullstack projects')
|
|
10
10
|
.version('0.1.0');
|
|
11
11
|
program
|
|
12
12
|
.command('init')
|
|
@@ -30,7 +30,7 @@ import { upgradeCommand } from './cli/commands/upgrade.js';
|
|
|
30
30
|
// ... (existing layout)
|
|
31
31
|
program
|
|
32
32
|
.command('register')
|
|
33
|
-
.description('Start
|
|
33
|
+
.description('Start Free Trial (3 Pro Projects Included)')
|
|
34
34
|
.action(registerCommand);
|
|
35
35
|
program
|
|
36
36
|
.command('status')
|
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,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,kFAAkF,CAAC;KAC/F,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,qBAAqB,EAAE,gFAAgF,CAAC;KAC/G,MAAM,CAAC,2BAA2B,EAAE,sCAAsC,CAAC;KAC3E,MAAM,CAAC,yBAAyB,EAAE,6CAA6C,CAAC;KAChF,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KAChD,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,mBAAmB,EAAE,oDAAoD,CAAC;KACjF,MAAM,CAAC,WAAW,CAAC,CAAC;AAEzB,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;KAC5C,MAAM,CAAC,YAAY,CAAC,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,wBAAwB;AAExB,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,eAAe,CAAC,CAAC;AAE7B,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,aAAa,CAAC,CAAC;AAE3B,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,cAAc,CAAC,CAAC;AAE5B,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,aAAa,CAAC,CAAC;AAE3B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|