lokuma-cli 1.2.9 → 1.3.1

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 (3) hide show
  1. package/README.md +7 -0
  2. package/dist/index.js +42 -16
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -8,6 +8,12 @@ Install [Lokuma](https://lokuma.io) design intelligence skill for AI coding assi
8
8
  npx lokuma-cli init --ai claude
9
9
  ```
10
10
 
11
+ Already installed and just want the latest CLI?
12
+
13
+ ```bash
14
+ lokuma update
15
+ ```
16
+
11
17
  ## Supported AI Assistants
12
18
 
13
19
  | Flag | Assistant |
@@ -42,6 +48,7 @@ Get your API key at [lokuma.io](https://lokuma.io).
42
48
 
43
49
  ```
44
50
  lokuma init [options]
51
+ lokuma update
45
52
 
46
53
  Options:
47
54
  -a, --ai <type> AI assistant type
package/dist/index.js CHANGED
@@ -54,22 +54,22 @@ var AI_DISPLAY_NAMES = {
54
54
  all: "All assistants"
55
55
  };
56
56
  var AI_SKILL_PATHS = {
57
- claude: { root: ".claude", skillMd: ".claude/skills/lokuma/SKILL.md", scriptPy: ".claude/skills/lokuma/scripts/search.py" },
58
- cursor: { root: ".cursor", skillMd: ".cursor/rules/lokuma.mdc", scriptPy: ".cursor/rules/lokuma/scripts/search.py" },
59
- windsurf: { root: ".windsurf", skillMd: ".windsurf/rules/lokuma.md", scriptPy: ".windsurf/rules/lokuma/scripts/search.py" },
60
- copilot: { root: ".github", skillMd: ".github/instructions/lokuma.instructions.md", scriptPy: ".github/instructions/lokuma/scripts/search.py" },
61
- kiro: { root: ".kiro", skillMd: ".kiro/steering/lokuma.md", scriptPy: ".kiro/steering/lokuma/scripts/search.py" },
62
- roocode: { root: ".roo", skillMd: ".roo/rules/lokuma.md", scriptPy: ".roo/rules/lokuma/scripts/search.py" },
63
- codex: { root: ".codex", skillMd: ".codex/instructions.md", scriptPy: ".codex/lokuma/scripts/search.py" },
64
- qoder: { root: ".qoder", skillMd: ".qoder/rules/lokuma.md", scriptPy: ".qoder/rules/lokuma/scripts/search.py" },
65
- gemini: { root: ".gemini", skillMd: ".gemini/GEMINI.md", scriptPy: ".gemini/lokuma/scripts/search.py" },
66
- trae: { root: ".trae", skillMd: ".trae/rules/lokuma.md", scriptPy: ".trae/rules/lokuma/scripts/search.py" },
67
- opencode: { root: ".opencode", skillMd: ".opencode/OPENCODE.md", scriptPy: ".opencode/lokuma/scripts/search.py" },
68
- continue: { root: ".continue", skillMd: ".continue/lokuma/SKILL.md", scriptPy: ".continue/lokuma/scripts/search.py" },
69
- codebuddy: { root: ".codebuddy", skillMd: ".codebuddy/lokuma/SKILL.md", scriptPy: ".codebuddy/lokuma/scripts/search.py" },
70
- droid: { root: ".factory", skillMd: ".factory/skills/lokuma/SKILL.md", scriptPy: ".factory/skills/lokuma/scripts/search.py" },
57
+ claude: { root: ".claude", skillMd: ".claude/skills/frontend-designer/SKILL.md", scriptPy: ".claude/skills/frontend-designer/scripts/search.py" },
58
+ cursor: { root: ".cursor", skillMd: ".cursor/rules/frontend-designer.mdc", scriptPy: ".cursor/rules/frontend-designer/scripts/search.py" },
59
+ windsurf: { root: ".windsurf", skillMd: ".windsurf/rules/frontend-designer.md", scriptPy: ".windsurf/rules/frontend-designer/scripts/search.py" },
60
+ copilot: { root: ".github", skillMd: ".github/instructions/frontend-designer.instructions.md", scriptPy: ".github/instructions/frontend-designer/scripts/search.py" },
61
+ kiro: { root: ".kiro", skillMd: ".kiro/steering/frontend-designer.md", scriptPy: ".kiro/steering/frontend-designer/scripts/search.py" },
62
+ roocode: { root: ".roo", skillMd: ".roo/rules/frontend-designer.md", scriptPy: ".roo/rules/frontend-designer/scripts/search.py" },
63
+ codex: { root: ".codex", skillMd: ".codex/instructions.md", scriptPy: ".codex/frontend-designer/scripts/search.py" },
64
+ qoder: { root: ".qoder", skillMd: ".qoder/rules/frontend-designer.md", scriptPy: ".qoder/rules/frontend-designer/scripts/search.py" },
65
+ gemini: { root: ".gemini", skillMd: ".gemini/GEMINI.md", scriptPy: ".gemini/frontend-designer/scripts/search.py" },
66
+ trae: { root: ".trae", skillMd: ".trae/rules/frontend-designer.md", scriptPy: ".trae/rules/frontend-designer/scripts/search.py" },
67
+ opencode: { root: ".opencode", skillMd: ".opencode/OPENCODE.md", scriptPy: ".opencode/frontend-designer/scripts/search.py" },
68
+ continue: { root: ".continue", skillMd: ".continue/frontend-designer/SKILL.md", scriptPy: ".continue/frontend-designer/scripts/search.py" },
69
+ codebuddy: { root: ".codebuddy", skillMd: ".codebuddy/frontend-designer/SKILL.md", scriptPy: ".codebuddy/frontend-designer/scripts/search.py" },
70
+ droid: { root: ".factory", skillMd: ".factory/skills/frontend-designer/SKILL.md", scriptPy: ".factory/skills/frontend-designer/scripts/search.py" },
71
71
  // OpenClaw installs to a fixed absolute path (not relative to cwd)
72
- openclaw: { root: "~/.openclaw/workspace/skills/lokuma", skillMd: "~/.openclaw/workspace/skills/lokuma/SKILL.md", scriptPy: "~/.openclaw/workspace/skills/lokuma/scripts/search.py" }
72
+ openclaw: { root: "~/.openclaw/workspace/skills/frontend-designer", skillMd: "~/.openclaw/workspace/skills/frontend-designer/SKILL.md", scriptPy: "~/.openclaw/workspace/skills/frontend-designer/scripts/search.py" }
73
73
  };
74
74
 
75
75
  // src/commands/init.ts
@@ -83,7 +83,7 @@ function resolvePath(p) {
83
83
  }
84
84
  function buildSkillMd(scriptPath) {
85
85
  return `---
86
- name: lokuma
86
+ name: frontend-designer
87
87
  description: >
88
88
  Lokuma design intelligence. Use this skill whenever building or modifying UI:
89
89
  landing pages, dashboards, SaaS products, mobile apps, e-commerce, portfolios,
@@ -453,6 +453,29 @@ async function authLoginCommand() {
453
453
  console.log();
454
454
  }
455
455
 
456
+ // src/commands/update.ts
457
+ import { execSync } from "node:child_process";
458
+ import chalk3 from "chalk";
459
+ async function updateCommand() {
460
+ console.log();
461
+ console.log(chalk3.bold(" Lokuma \u2014 CLI Update"));
462
+ console.log(chalk3.dim(" Updating lokuma-cli to the latest npm release..."));
463
+ console.log();
464
+ try {
465
+ execSync("npm install -g lokuma-cli@latest", { stdio: "inherit" });
466
+ const version = execSync("lokuma --version", { encoding: "utf-8" }).trim();
467
+ console.log();
468
+ console.log(chalk3.green(` \u2713 Updated successfully to ${version}`));
469
+ console.log();
470
+ } catch (error) {
471
+ console.log();
472
+ console.error(chalk3.red(" \u2717 Failed to update lokuma-cli."));
473
+ console.error(chalk3.dim(" Try running: npm install -g lokuma-cli@latest"));
474
+ console.log();
475
+ process.exit(1);
476
+ }
477
+ }
478
+
456
479
  // src/index.ts
457
480
  var __filename = fileURLToPath2(import.meta.url);
458
481
  var __dirname = dirname3(__filename);
@@ -474,4 +497,7 @@ var auth = program.command("auth").description("Manage authentication");
474
497
  auth.command("login").description("Set or update your Lokuma API key").action(async () => {
475
498
  await authLoginCommand();
476
499
  });
500
+ program.command("update").description("Update lokuma-cli to the latest version from npm").action(async () => {
501
+ await updateCommand();
502
+ });
477
503
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lokuma-cli",
3
- "version": "1.2.9",
3
+ "version": "1.3.1",
4
4
  "description": "CLI to install Lokuma design intelligence skill for AI coding assistants",
5
5
  "type": "module",
6
6
  "bin": {