@lenne.tech/cli 0.0.125 → 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/bin/lt +145 -14
- package/build/commands/claude/install-skills.js +622 -0
- package/build/commands/config/config.js +25 -0
- package/build/commands/config/help.js +167 -0
- package/build/commands/config/init.js +143 -0
- package/build/commands/config/show.js +68 -0
- package/build/commands/server/add-property.js +163 -27
- package/build/commands/server/create.js +66 -4
- package/build/commands/server/module.js +133 -20
- package/build/commands/server/object.js +23 -15
- package/build/extensions/config.js +157 -0
- package/build/extensions/server.js +82 -47
- package/build/interfaces/lt-config.interface.js +3 -0
- package/build/templates/claude-skills/lt-cli/SKILL.md +190 -259
- package/build/templates/claude-skills/lt-cli/examples.md +433 -203
- package/build/templates/claude-skills/lt-cli/reference.md +400 -226
- package/build/templates/claude-skills/nest-server-generator/SKILL.md +2833 -0
- package/build/templates/claude-skills/nest-server-generator/examples.md +760 -0
- package/build/templates/claude-skills/nest-server-generator/reference.md +417 -0
- package/build/templates/nest-server-module/inputs/template-create.input.ts.ejs +1 -3
- package/build/templates/nest-server-module/inputs/template.input.ts.ejs +1 -1
- package/build/templates/nest-server-module/template.controller.ts.ejs +24 -13
- package/build/templates/nest-server-module/template.model.ts.ejs +2 -2
- package/build/templates/nest-server-module/template.module.ts.ejs +4 -0
- package/build/templates/nest-server-module/template.service.ts.ejs +6 -6
- package/build/templates/nest-server-object/template.object.ts.ejs +2 -2
- package/package.json +13 -11
- package/build/commands/claude/install-skill.js +0 -93
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const os_1 = require("os");
|
|
13
|
-
const path_1 = require("path");
|
|
14
|
-
/**
|
|
15
|
-
* Install LT CLI Skill to ~/.claude/skills/lt-cli/
|
|
16
|
-
*/
|
|
17
|
-
const NewCommand = {
|
|
18
|
-
alias: ['skill', 'is'],
|
|
19
|
-
description: 'Installs the LT CLI Skill to ~/.claude/skills/ for Claude Code integration. The skill helps Claude generate correct LT CLI commands.',
|
|
20
|
-
hidden: false,
|
|
21
|
-
name: 'install-skill',
|
|
22
|
-
run: (toolbox) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
-
// Retrieve the tools we need
|
|
24
|
-
const { filesystem, print: { error, info, spin, success }, } = toolbox;
|
|
25
|
-
const installSpinner = spin('Installing LT CLI Skill to ~/.claude/skills/lt-cli/');
|
|
26
|
-
try {
|
|
27
|
-
// Get the CLI installation directory
|
|
28
|
-
const cliRoot = (0, path_1.join)(__dirname, '..', '..');
|
|
29
|
-
const templatesDir = (0, path_1.join)(cliRoot, 'templates', 'claude-skills', 'lt-cli');
|
|
30
|
-
// Check if templates exist
|
|
31
|
-
if (!filesystem.exists(templatesDir)) {
|
|
32
|
-
installSpinner.fail();
|
|
33
|
-
error('Skill templates not found in CLI installation.');
|
|
34
|
-
info(`Expected location: ${templatesDir}`);
|
|
35
|
-
info('Please reinstall the CLI or report this issue.');
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
// Create ~/.claude/skills/lt-cli directory
|
|
39
|
-
const skillsDir = (0, path_1.join)((0, os_1.homedir)(), '.claude', 'skills', 'lt-cli');
|
|
40
|
-
if (!filesystem.exists(skillsDir)) {
|
|
41
|
-
filesystem.dir(skillsDir);
|
|
42
|
-
}
|
|
43
|
-
// Copy all skill files
|
|
44
|
-
const skillFiles = ['SKILL.md', 'examples.md', 'reference.md'];
|
|
45
|
-
let copiedCount = 0;
|
|
46
|
-
for (const file of skillFiles) {
|
|
47
|
-
const sourcePath = (0, path_1.join)(templatesDir, file);
|
|
48
|
-
const targetPath = (0, path_1.join)(skillsDir, file);
|
|
49
|
-
if (filesystem.exists(sourcePath)) {
|
|
50
|
-
const content = filesystem.read(sourcePath);
|
|
51
|
-
filesystem.write(targetPath, content);
|
|
52
|
-
copiedCount++;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
info(`Warning: ${file} not found in templates, skipping...`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (copiedCount === 0) {
|
|
59
|
-
installSpinner.fail();
|
|
60
|
-
error('No skill files were copied.');
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
installSpinner.succeed(`Successfully installed LT CLI Skill to ${skillsDir}`);
|
|
64
|
-
info('');
|
|
65
|
-
success('The LT CLI Skill is now available in Claude Code!');
|
|
66
|
-
info('');
|
|
67
|
-
info('Claude will automatically use this skill when you:');
|
|
68
|
-
info(' • Create server modules, objects, or properties');
|
|
69
|
-
info(' • Work with NestJS/TypeScript backend code');
|
|
70
|
-
info(' • Ask for help with LT CLI commands');
|
|
71
|
-
info('');
|
|
72
|
-
info('Try it out by asking Claude:');
|
|
73
|
-
info(' "Create a User module with email and username"');
|
|
74
|
-
info('');
|
|
75
|
-
info(`Files installed: ${copiedCount} of ${skillFiles.length}`);
|
|
76
|
-
info(`Location: ${skillsDir}`);
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
installSpinner.fail();
|
|
80
|
-
error(`Failed to install skill: ${err.message}`);
|
|
81
|
-
info('');
|
|
82
|
-
info('Troubleshooting:');
|
|
83
|
-
info(' • Ensure ~/.claude directory exists and is writable');
|
|
84
|
-
info(' • Check file permissions');
|
|
85
|
-
info(' • Try running with sudo if permission issues persist');
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
// For tests
|
|
89
|
-
return 'claude install-skill';
|
|
90
|
-
}),
|
|
91
|
-
};
|
|
92
|
-
exports.default = NewCommand;
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1za2lsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbGF1ZGUvaW5zdGFsbC1za2lsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBLDJCQUE2QjtBQUM3QiwrQkFBNEI7QUFJNUI7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBbUI7SUFDakMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUN0QixXQUFXLEVBQUUsc0lBQXNJO0lBQ25KLE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLGVBQWU7SUFDckIsR0FBRyxFQUFFLENBQU8sT0FBK0IsRUFBRSxFQUFFO1FBQzdDLDZCQUE2QjtRQUM3QixNQUFNLEVBQ0osVUFBVSxFQUNWLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUN0QyxHQUFHLE9BQU8sQ0FBQztRQUVaLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQztZQUNILHFDQUFxQztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVDLE1BQU0sWUFBWSxHQUFHLElBQUEsV0FBSSxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTNFLDJCQUEyQjtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsc0JBQXNCLFlBQVksRUFBRSxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxD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
|