@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.
Files changed (28) hide show
  1. package/bin/lt +145 -14
  2. package/build/commands/claude/install-skills.js +622 -0
  3. package/build/commands/config/config.js +25 -0
  4. package/build/commands/config/help.js +167 -0
  5. package/build/commands/config/init.js +143 -0
  6. package/build/commands/config/show.js +68 -0
  7. package/build/commands/server/add-property.js +163 -27
  8. package/build/commands/server/create.js +66 -4
  9. package/build/commands/server/module.js +133 -20
  10. package/build/commands/server/object.js +23 -15
  11. package/build/extensions/config.js +157 -0
  12. package/build/extensions/server.js +82 -47
  13. package/build/interfaces/lt-config.interface.js +3 -0
  14. package/build/templates/claude-skills/lt-cli/SKILL.md +190 -259
  15. package/build/templates/claude-skills/lt-cli/examples.md +433 -203
  16. package/build/templates/claude-skills/lt-cli/reference.md +400 -226
  17. package/build/templates/claude-skills/nest-server-generator/SKILL.md +2833 -0
  18. package/build/templates/claude-skills/nest-server-generator/examples.md +760 -0
  19. package/build/templates/claude-skills/nest-server-generator/reference.md +417 -0
  20. package/build/templates/nest-server-module/inputs/template-create.input.ts.ejs +1 -3
  21. package/build/templates/nest-server-module/inputs/template.input.ts.ejs +1 -1
  22. package/build/templates/nest-server-module/template.controller.ts.ejs +24 -13
  23. package/build/templates/nest-server-module/template.model.ts.ejs +2 -2
  24. package/build/templates/nest-server-module/template.module.ts.ejs +4 -0
  25. package/build/templates/nest-server-module/template.service.ts.ejs +6 -6
  26. package/build/templates/nest-server-object/template.object.ts.ejs +2 -2
  27. package/package.json +13 -11
  28. 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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