@jitera/connect 0.7.0 → 1.2.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/dist/bin/login.js CHANGED
@@ -4,6 +4,14 @@ import { DiscoveryError, discoverDeployment } from "../discovery.js";
4
4
  import { UnknownEnvironmentError } from "../environments.js";
5
5
  import { DeviceFlowError, pollForAccessToken, requestDeviceAuthorization, } from "../device-flow.js";
6
6
  import { GraphqlError, createApiKey, listProjects } from "../graphql.js";
7
+ import { installClaudeCodePlugin } from "../install/claude-code.js";
8
+ import { writeAgentsMd } from "../install/agents-md.js";
9
+ import { installSkills } from "../install/skills.js";
10
+ import { codex } from "../adapters/codex.js";
11
+ import { cursor } from "../adapters/cursor.js";
12
+ import { homedir } from "node:os";
13
+ import { dirname, join } from "node:path";
14
+ import { fileURLToPath } from "node:url";
7
15
  const USAGE = [
8
16
  "usage: npx @jitera/connect login [--env=<environment>] [options]",
9
17
  "",
@@ -12,9 +20,10 @@ const USAGE = [
12
20
  " --read-only create a read-only key (default is read + write)",
13
21
  " --name=<name> name for the created key",
14
22
  " --json print the result as json",
23
+ " --install configure your assistants with the new key",
15
24
  ].join("\n");
16
25
  function parseArgs(argv) {
17
- const args = { access: "read_write", keyName: "Jitera Connect", json: false, help: false };
26
+ const args = { access: "read_write", keyName: "Jitera Connect", json: false, install: false, help: false };
18
27
  for (const arg of argv) {
19
28
  if (arg === "login")
20
29
  continue;
@@ -28,6 +37,8 @@ function parseArgs(argv) {
28
37
  args.access = "read";
29
38
  else if (arg === "--json")
30
39
  args.json = true;
40
+ else if (arg === "--install")
41
+ args.install = true;
31
42
  else if (arg === "--help" || arg === "-h")
32
43
  args.help = true;
33
44
  else
@@ -49,6 +60,7 @@ if (args.unknown) {
49
60
  process.exit(2);
50
61
  }
51
62
  let automationUrl = process.env["JITERA_AUTOMATION_URL"] ?? "";
63
+ let mcpUrl = process.env["JITERA_MCP_URL"] ?? "";
52
64
  let brand = "Jitera";
53
65
  if (!automationUrl) {
54
66
  try {
@@ -57,6 +69,7 @@ if (!automationUrl) {
57
69
  studioUrl: process.env["JITERA_STUDIO_URL"],
58
70
  });
59
71
  automationUrl = deployment.automationUrl;
72
+ mcpUrl = mcpUrl || deployment.mcpUrl;
60
73
  brand = deployment.brand;
61
74
  }
62
75
  catch (error) {
@@ -134,10 +147,33 @@ catch (error) {
134
147
  fail(error.message);
135
148
  throw error;
136
149
  }
150
+ if (args.install) {
151
+ const environment = args.environment ?? "studio";
152
+ const packageRoot = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
153
+ const values = { BRAND: brand };
154
+ const claude = installClaudeCodePlugin({ apiKey: created.rawKey, environment });
155
+ process.stdout.write(claude.installed
156
+ ? "\nClaude Code: installed and configured, key stored in your keychain.\n"
157
+ : `\nClaude Code: skipped (${claude.reason}).\n`);
158
+ const context = { scope: "project", home: homedir(), cwd: process.cwd(), mcpUrl };
159
+ const local = [cursor, codex].filter((adapter) => adapter.detect(context));
160
+ if (local.length) {
161
+ for (const adapter of local) {
162
+ const result = adapter.install(context);
163
+ process.stdout.write(`${adapter.label}: ${result.path}\n`);
164
+ }
165
+ const targetDirs = [...new Set(local.flatMap((adapter) => adapter.skillsDirs(context)))];
166
+ installSkills({ packageRoot, targetDirs, values });
167
+ writeAgentsMd({ packageRoot, projectRoot: context.cwd, values });
168
+ process.stdout.write("Skills and AGENTS.md written.\n");
169
+ process.stdout.write(`\nFor Cursor and Codex, export the key so they can read it:\n`);
170
+ process.stdout.write(` export JITERA_API_KEY=${created.rawKey}\n`);
171
+ }
172
+ }
137
173
  if (args.json) {
138
174
  process.stdout.write(`${JSON.stringify({ apiKey: created.rawKey, maskedKey: created.maskedKey, projectUuid, mcpAccess: args.access }, undefined, 2)}\n`);
139
175
  }
140
- else {
176
+ else if (!args.install) {
141
177
  process.stdout.write(`\nCreated a ${args.access === "read" ? "read-only" : "read + write"} key.\n\n`);
142
178
  process.stdout.write(` export JITERA_API_KEY=${created.rawKey}\n\n`);
143
179
  process.stdout.write("Then run npx @jitera/connect to configure your assistants.\n");
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/bin/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const MARKETPLACE = "jitera-product/connect";
2
+ export declare const PLUGIN_NAME = "jitera-connect";
3
+ export interface CommandRunner {
4
+ (command: string, args: readonly string[]): {
5
+ status: number;
6
+ stderr: string;
7
+ };
8
+ }
9
+ export declare function isClaudeCodeAvailable(run?: CommandRunner): boolean;
10
+ export interface ClaudeInstallOptions {
11
+ readonly apiKey: string;
12
+ readonly environment: string;
13
+ readonly run?: CommandRunner;
14
+ }
15
+ export interface ClaudeInstallResult {
16
+ readonly installed: boolean;
17
+ readonly reason?: string;
18
+ }
19
+ export declare function installClaudeCodePlugin({ apiKey, environment, run, }: ClaudeInstallOptions): ClaudeInstallResult;
20
+ //# sourceMappingURL=claude-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAOD,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,aAA6B,GAAG,OAAO,CAEjF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,WAAW,EACX,GAAmB,GACpB,EAAE,oBAAoB,GAAG,mBAAmB,CAyB5C"}
@@ -0,0 +1,33 @@
1
+ import { spawnSync } from "node:child_process";
2
+ export const MARKETPLACE = "jitera-product/connect";
3
+ export const PLUGIN_NAME = "jitera-connect";
4
+ const defaultRunner = (command, args) => {
5
+ const result = spawnSync(command, [...args], { encoding: "utf8" });
6
+ return { status: result.status ?? 1, stderr: result.stderr ?? "" };
7
+ };
8
+ export function isClaudeCodeAvailable(run = defaultRunner) {
9
+ return run("claude", ["--version"]).status === 0;
10
+ }
11
+ export function installClaudeCodePlugin({ apiKey, environment, run = defaultRunner, }) {
12
+ if (!isClaudeCodeAvailable(run)) {
13
+ return { installed: false, reason: "the claude command is not on your PATH" };
14
+ }
15
+ const marketplace = run("claude", ["plugin", "marketplace", "add", MARKETPLACE]);
16
+ if (marketplace.status !== 0 && !/already/i.test(marketplace.stderr)) {
17
+ return { installed: false, reason: marketplace.stderr.trim() || "could not add the marketplace" };
18
+ }
19
+ const install = run("claude", [
20
+ "plugin",
21
+ "install",
22
+ PLUGIN_NAME,
23
+ "--config",
24
+ `environment=${environment}`,
25
+ "--config",
26
+ `jitera_api_key=${apiKey}`,
27
+ ]);
28
+ if (install.status !== 0) {
29
+ return { installed: false, reason: install.stderr.trim() || "the plugin install failed" };
30
+ }
31
+ return { installed: true };
32
+ }
33
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAM5C,MAAM,aAAa,GAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAG,GAAkB,aAAa;IACtE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACnD,CAAC;AAaD,MAAM,UAAU,uBAAuB,CAAC,EACtC,MAAM,EACN,WAAW,EACX,GAAG,GAAG,aAAa,GACE;IACrB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IAChF,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,+BAA+B,EAAE,CAAC;IACpG,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE;QAC5B,QAAQ;QACR,SAAS;QACT,WAAW;QACX,UAAU;QACV,eAAe,WAAW,EAAE;QAC5B,UAAU;QACV,kBAAkB,MAAM,EAAE;KAC3B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,2BAA2B,EAAE,CAAC;IAC5F,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jitera/connect",
3
- "version": "0.7.0",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "description": "Connect AI coding assistants to Jitera projects: documentation, source, and shared project memory",
6
6
  "license": "Apache-2.0",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "scripts": {
39
39
  "build": "tsc",
40
- "typecheck": "tsc --noEmit -p tsconfig.test.json",
40
+ "typecheck": "tsc --noEmit --pretty false -p tsconfig.test.json",
41
41
  "test": "node --test \"test/**/*.test.ts\"",
42
42
  "validate": "node src/bin/validate.ts",
43
43
  "prepublishOnly": "npm run build"