@elnora-ai/cli 1.3.3 → 1.3.5
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/README.md +44 -0
- package/dist/cli.js +8 -4
- package/package.json +3 -1
- package/scripts/postinstall.mjs +33 -0
package/README.md
CHANGED
|
@@ -39,6 +39,50 @@ npm install -g @elnora-ai/cli
|
|
|
39
39
|
brew install elnora-ai/cli/elnora
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
+
## Skills & Setup
|
|
43
|
+
|
|
44
|
+
After installing the CLI, configure your AI coding tools:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
elnora setup
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This auto-detects which tools you have installed and configures them:
|
|
51
|
+
|
|
52
|
+
- **Claude Code** — registers the `elnora-plugins` marketplace and enables 9 skills (`elnora-tasks`, `elnora-projects`, `elnora-files`, etc.) so you can use natural language.
|
|
53
|
+
- **Cursor / VS Code / Codex** — writes an MCP server config pointing at `https://mcp.elnora.ai/mcp` with your API key.
|
|
54
|
+
|
|
55
|
+
Target a specific tool: `elnora setup claude` · `elnora setup cursor` · `elnora setup vscode` · `elnora setup codex`.
|
|
56
|
+
|
|
57
|
+
### What You Get in Claude Code
|
|
58
|
+
|
|
59
|
+
Once configured, restart Claude Code and try any natural-language request:
|
|
60
|
+
|
|
61
|
+
> "Use Elnora to generate a PCR protocol for BRCA1 exon 11"
|
|
62
|
+
> "Use Elnora to list my projects"
|
|
63
|
+
> "Use Elnora to optimize the protocol in task abc-123"
|
|
64
|
+
|
|
65
|
+
Claude will invoke the `elnora` CLI under the hood using the bundled skills. No need to memorize command syntax.
|
|
66
|
+
|
|
67
|
+
### Where Everything Lives
|
|
68
|
+
|
|
69
|
+
| What | Where |
|
|
70
|
+
|------|-------|
|
|
71
|
+
| CLI binary (macOS/Linux) | `~/.local/bin/elnora` |
|
|
72
|
+
| CLI binary (Windows) | `%USERPROFILE%\.elnora\bin\elnora.exe` |
|
|
73
|
+
| Auth / profiles | `~/.elnora/profiles.toml` (mode 0600) |
|
|
74
|
+
| Claude Code skills | `~/.claude/plugins/marketplaces/elnora-plugins/elnora/skills/` (auto-updated) |
|
|
75
|
+
| Claude Code settings | `~/.claude/settings.json` — look for `elnora@elnora-plugins: true` |
|
|
76
|
+
|
|
77
|
+
### Manual Plugin Setup
|
|
78
|
+
|
|
79
|
+
If `elnora setup claude` doesn't work for some reason, you can install the plugin manually:
|
|
80
|
+
|
|
81
|
+
1. In Claude Code, run `/plugin`
|
|
82
|
+
2. Choose "Add marketplace"
|
|
83
|
+
3. Enter: `Elnora-AI/elnora-plugins`
|
|
84
|
+
4. Run `/plugin` again → Plugins → Enable `elnora`
|
|
85
|
+
|
|
42
86
|
## Quick Start
|
|
43
87
|
|
|
44
88
|
```bash
|
package/dist/cli.js
CHANGED
|
@@ -25,7 +25,7 @@ var VERSION, PRODUCTION_BASE_URL, BASE_URL, AI_SERVER_URL, ENDPOINTS, DEFAULT_HE
|
|
|
25
25
|
var init_config = __esm({
|
|
26
26
|
"src/lib/config.ts"() {
|
|
27
27
|
"use strict";
|
|
28
|
-
VERSION = true ? "1.3.
|
|
28
|
+
VERSION = true ? "1.3.5" : process.env.npm_package_version ?? "0.0.0-dev";
|
|
29
29
|
PRODUCTION_BASE_URL = "https://platform.elnora.ai/api/v1";
|
|
30
30
|
BASE_URL = process.env.ELNORA_API_URL ?? PRODUCTION_BASE_URL;
|
|
31
31
|
AI_SERVER_URL = process.env.ELNORA_AI_SERVER_URL ?? "https://platform.elnora.ai/ai-server";
|
|
@@ -4147,11 +4147,11 @@ var CURSOR_DIR = join3(HOME, ".cursor");
|
|
|
4147
4147
|
var CURSOR_MCP_GLOBAL = join3(HOME, ".cursor", "mcp.json");
|
|
4148
4148
|
var VSCODE_DIR = join3(HOME, ".vscode");
|
|
4149
4149
|
var CODEX_DIR = join3(HOME, ".codex");
|
|
4150
|
-
var MARKETPLACE_NAME = "elnora-
|
|
4150
|
+
var MARKETPLACE_NAME = "elnora-plugins";
|
|
4151
4151
|
var MARKETPLACE_REPO = "Elnora-AI/elnora-plugins";
|
|
4152
4152
|
var PLUGIN_ID = `elnora@${MARKETPLACE_NAME}`;
|
|
4153
|
-
var LEGACY_PLUGIN_IDS = ["elnora@elnora-local"];
|
|
4154
|
-
var LEGACY_MARKETPLACE_NAMES = ["elnora-local"];
|
|
4153
|
+
var LEGACY_PLUGIN_IDS = ["elnora@elnora-local", "elnora@elnora-ai"];
|
|
4154
|
+
var LEGACY_MARKETPLACE_NAMES = ["elnora-local", "elnora-ai"];
|
|
4155
4155
|
function readJsonFile(path) {
|
|
4156
4156
|
try {
|
|
4157
4157
|
return JSON.parse(readFileSync5(path, "utf-8"));
|
|
@@ -4384,6 +4384,10 @@ function addSetupCommand(program2) {
|
|
|
4384
4384
|
const platforms = installed.map((p) => p.name);
|
|
4385
4385
|
runSetup(platforms, opts.profile);
|
|
4386
4386
|
});
|
|
4387
|
+
program2.command("setup-claude").description("Set up Claude Code (alias for 'setup claude')").option("--profile <name>", "API key profile to use", "default").action((opts) => {
|
|
4388
|
+
console.error("");
|
|
4389
|
+
runSetup(["claude"], opts.profile);
|
|
4390
|
+
});
|
|
4387
4391
|
}
|
|
4388
4392
|
|
|
4389
4393
|
// src/commands/tasks/archive.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elnora-ai/cli",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5",
|
|
4
4
|
"description": "Elnora AI Platform CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"main": "dist/cli.js",
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/",
|
|
12
|
+
"scripts/postinstall.mjs",
|
|
12
13
|
"README.md",
|
|
13
14
|
"LICENSE"
|
|
14
15
|
],
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"vitest": "^4.1.2"
|
|
54
55
|
},
|
|
55
56
|
"scripts": {
|
|
57
|
+
"postinstall": "node scripts/postinstall.mjs",
|
|
56
58
|
"build": "node scripts/build-npm.mjs",
|
|
57
59
|
"build:binary": "node scripts/build.mjs --pkg",
|
|
58
60
|
"dev": "tsx src/cli.ts",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* npm postinstall — show setup instructions after `npm install -g @elnora-ai/cli`.
|
|
5
|
+
*
|
|
6
|
+
* Intentionally non-interactive: npm postinstall runs in contexts where stdin
|
|
7
|
+
* may not be available (CI, Docker, scripts). Interactive prompts belong in
|
|
8
|
+
* `elnora auth login` which the user runs manually after install.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// Skip in CI or when output is suppressed
|
|
12
|
+
if (process.env.CI || process.env.GITHUB_ACTIONS || !process.stderr.isTTY) {
|
|
13
|
+
process.exit(0);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const msg = `
|
|
17
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
18
|
+
│ │
|
|
19
|
+
│ Elnora CLI installed successfully! │
|
|
20
|
+
│ │
|
|
21
|
+
│ To get started, run: │
|
|
22
|
+
│ elnora auth login │
|
|
23
|
+
│ │
|
|
24
|
+
│ Set up your AI coding tools: │
|
|
25
|
+
│ elnora setup │
|
|
26
|
+
│ │
|
|
27
|
+
│ Documentation: │
|
|
28
|
+
│ https://github.com/Elnora-AI/elnora-cli │
|
|
29
|
+
│ │
|
|
30
|
+
└──────────────────────────────────────────────────────────────┘
|
|
31
|
+
`;
|
|
32
|
+
|
|
33
|
+
console.error(msg);
|