@jitera/connect 1.2.3 → 1.4.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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +50 -0
- package/content/session-start-unconfigured.md +11 -0
- package/content/session-start.md +5 -4
- package/dist/adapters/cursor.js +1 -1
- package/dist/adapters/cursor.js.map +1 -1
- package/dist/bin/cli.js +11 -18
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/connect.js +3 -0
- package/dist/bin/connect.js.map +1 -1
- package/dist/bin/init.d.ts +3 -0
- package/dist/bin/init.d.ts.map +1 -0
- package/dist/bin/init.js +93 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/login.js +97 -31
- package/dist/bin/login.js.map +1 -1
- package/dist/bin/proxy.js +15 -1
- package/dist/bin/proxy.js.map +1 -1
- package/dist/graphql.d.ts +8 -2
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +18 -11
- package/dist/graphql.js.map +1 -1
- package/dist/hooks/session-start.js +27 -2
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/install/claude-code.d.ts +2 -0
- package/dist/install/claude-code.d.ts.map +1 -1
- package/dist/install/claude-code.js +28 -3
- package/dist/install/claude-code.js.map +1 -1
- package/dist/install/project-root.d.ts +2 -0
- package/dist/install/project-root.d.ts.map +1 -0
- package/dist/install/project-root.js +9 -0
- package/dist/install/project-root.js.map +1 -0
- package/dist/project-marker.d.ts +15 -0
- package/dist/project-marker.d.ts.map +1 -0
- package/dist/project-marker.js +59 -0
- package/dist/project-marker.js.map +1 -0
- package/dist/proxy.d.ts +6 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +13 -3
- package/dist/proxy.js.map +1 -1
- package/dist/select.d.ts +25 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +78 -0
- package/dist/select.js.map +1 -0
- package/dist/theme.d.ts +29 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +69 -0
- package/dist/theme.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,6 +15,16 @@ For a pilot or staging environment:
|
|
|
15
15
|
npx @jitera/connect login --env=studio-05 --install
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
## choosing what to connect
|
|
19
|
+
|
|
20
|
+
`login` asks which organisation, then which project. It only offers projects you
|
|
21
|
+
can create an api key on. Skip either prompt:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
npx @jitera/connect login --org=<slug>
|
|
25
|
+
npx @jitera/connect login --project=<uuid>
|
|
26
|
+
```
|
|
27
|
+
|
|
18
28
|
## claude code
|
|
19
29
|
|
|
20
30
|
```
|
|
@@ -34,6 +44,46 @@ codex plugin marketplace add jitera-product/connect
|
|
|
34
44
|
npx @jitera/connect
|
|
35
45
|
```
|
|
36
46
|
|
|
47
|
+
## shared instructions, committed to the repo
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
npx @jitera/connect init
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Optional. Writes three committable files at the root of the current git
|
|
54
|
+
repository: an AGENTS.md block for teammates whose assistants read repository
|
|
55
|
+
instructions natively rather than through the plugin, a CLAUDE.md that imports
|
|
56
|
+
it, and a .jitera.json recording which deployment this repository belongs to
|
|
57
|
+
(`--env=`, and optionally `--project=<uuid>`). Commit all three.
|
|
58
|
+
|
|
59
|
+
The .jitera.json marker is what teammates' sessions read: a teammate who has
|
|
60
|
+
not connected yet is told the exact login command for the right environment,
|
|
61
|
+
and a teammate whose plugin points at a different environment gets a mismatch
|
|
62
|
+
warning instead of silently reading the wrong project.
|
|
63
|
+
|
|
64
|
+
Refuses to run outside a git repository, because instructions written above a
|
|
65
|
+
repo are invisible to assistants that read AGENTS.md and leak into every
|
|
66
|
+
project below them. Connected sessions do not need AGENTS.md: the mcp server
|
|
67
|
+
delivers the same guidance itself.
|
|
68
|
+
|
|
69
|
+
## what applies where
|
|
70
|
+
|
|
71
|
+
The login configuration is global: one api key and one environment per user,
|
|
72
|
+
per machine, stored by `login --install`. Every repo you open uses it — the
|
|
73
|
+
plugin, skills, and hooks all work without any per-repo files, so `init` is
|
|
74
|
+
optional everywhere.
|
|
75
|
+
|
|
76
|
+
`.jitera.json` never configures anything. It only declares what the repo
|
|
77
|
+
expects, so a session can cross-check the global setting: a teammate who has
|
|
78
|
+
not connected yet is told the exact login command for the right environment,
|
|
79
|
+
and a mismatched environment gets a warning instead of silently reading the
|
|
80
|
+
wrong project.
|
|
81
|
+
|
|
82
|
+
One caveat: an api key is bound to a single project, so the global setting
|
|
83
|
+
means every repo on the machine reads that project's documentation and memory.
|
|
84
|
+
When one developer works across several projects, the marker makes the
|
|
85
|
+
mismatch visible; true per-repo binding is not supported yet.
|
|
86
|
+
|
|
37
87
|
## pilot and staging environments
|
|
38
88
|
|
|
39
89
|
claude code, at install:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
The project-context plugin is installed, but no API key is configured, so its
|
|
2
|
+
MCP tools are unavailable in this session. Do not call `recall_jitera_memory`
|
|
3
|
+
or `remember_jitera_memory`; the calls will fail.
|
|
4
|
+
|
|
5
|
+
If the user asks about project context, documentation, or shared memory, tell
|
|
6
|
+
them to connect this workspace by running:
|
|
7
|
+
|
|
8
|
+
npx @jitera/connect login --install
|
|
9
|
+
|
|
10
|
+
or by configuring the plugin from the /plugin menu, then restarting the
|
|
11
|
+
assistant.
|
package/content/session-start.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
Project context tools are
|
|
2
|
-
source, and a shared project memory.
|
|
1
|
+
Project context tools are configured for this workspace: project documentation,
|
|
2
|
+
source, and a shared project memory over MCP.
|
|
3
3
|
|
|
4
4
|
Before your first substantive answer in this session, and before planning or
|
|
5
|
-
implementing anything, call `recall_jitera_memory`. An empty result is normal
|
|
6
|
-
is not an error.
|
|
5
|
+
implementing anything, call `recall_jitera_memory`. An empty result is normal
|
|
6
|
+
and is not an error. If the tools are missing from your tool list or a call
|
|
7
|
+
fails, say so and continue without stored context instead of guessing.
|
|
7
8
|
|
|
8
9
|
As decisions are made, constraints are discovered, or you are corrected, persist
|
|
9
10
|
them with `remember_jitera_memory`. Recall the entity first and re-send its full
|
package/dist/adapters/cursor.js
CHANGED
|
@@ -27,7 +27,7 @@ export const cursor = {
|
|
|
27
27
|
},
|
|
28
28
|
skillsDirs({ scope, home, cwd }) {
|
|
29
29
|
const root = scope === "user" ? home : cwd;
|
|
30
|
-
return [join(root, ".agents", "skills")
|
|
30
|
+
return [join(root, ".agents", "skills")];
|
|
31
31
|
},
|
|
32
32
|
install(context) {
|
|
33
33
|
const path = this.mcpConfigPath(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,SAAS,WAAW,CAAC,MAAc,EAAE,MAA0B;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,WAAW,GAAG;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,KAAK;IAErB,MAAM,CAAC,EAAE,IAAI,EAAE;QACb,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAChC,OAAO,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,SAAS,WAAW,CAAC,MAAc,EAAE,MAA0B;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,WAAW,GAAG;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,KAAK;IAErB,MAAM,CAAC,EAAE,IAAI,EAAE;QACb,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAChC,OAAO,KAAK,KAAK,MAAM;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,OAAuB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,OAAuB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
|
+
import { createTheme, heading } from "../theme.js";
|
|
3
4
|
import { dirname, join } from "node:path";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { codex } from "../adapters/codex.js";
|
|
6
7
|
import { cursor } from "../adapters/cursor.js";
|
|
7
8
|
import { MalformedConfigError } from "../mcp-config.js";
|
|
8
|
-
import { writeAgentsMd } from "../install/agents-md.js";
|
|
9
9
|
import { DEFAULT_BRAND } from "../install/render.js";
|
|
10
10
|
import { installSkills, uninstallSkills } from "../install/skills.js";
|
|
11
11
|
import { DiscoveryError, discoverDeployment } from "../discovery.js";
|
|
@@ -128,9 +128,11 @@ for (const adapter of detected) {
|
|
|
128
128
|
throw error;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
+
const theme = createTheme({ env: process.env, isTty: Boolean(process.stdout.isTTY) });
|
|
132
|
+
process.stdout.write(heading(theme, brand, args.uninstall ? "disconnect" : "connect"));
|
|
131
133
|
const verb = args.uninstall ? "removed from" : "written to";
|
|
132
134
|
for (const { adapter, result } of results) {
|
|
133
|
-
process.stdout.write(
|
|
135
|
+
process.stdout.write(` ${result.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold(adapter.label)} ${theme.dim(`${result.changed ? verb : "already up to date in"} ${result.path}`)}\n`);
|
|
134
136
|
}
|
|
135
137
|
if (!args.skipSkills) {
|
|
136
138
|
const values = { BRAND: brand };
|
|
@@ -140,25 +142,16 @@ if (!args.skipSkills) {
|
|
|
140
142
|
: installSkills({ packageRoot: PACKAGE_ROOT, targetDirs, values, dryRun: args.dryRun });
|
|
141
143
|
const skillVerb = args.uninstall ? "removed from" : "written to";
|
|
142
144
|
process.stdout.write(skills.changed
|
|
143
|
-
? `Skills
|
|
144
|
-
: `Skills
|
|
145
|
-
if (!args.uninstall) {
|
|
146
|
-
const agents = writeAgentsMd({
|
|
147
|
-
packageRoot: PACKAGE_ROOT,
|
|
148
|
-
projectRoot: context.cwd,
|
|
149
|
-
values,
|
|
150
|
-
dryRun: args.dryRun,
|
|
151
|
-
});
|
|
152
|
-
process.stdout.write(agents.changed
|
|
153
|
-
? `Instructions: ${agents.agents.action} block in ${agents.agentsPath}\n`
|
|
154
|
-
: `Instructions: already up to date in ${agents.agentsPath}\n`);
|
|
155
|
-
}
|
|
145
|
+
? ` ${theme.ok("✓")} ${theme.bold("Skills")} ${theme.dim(`${skills.skills.length} ${skillVerb} ${targetDirs.join(", ")}`)}\n`
|
|
146
|
+
: ` ${theme.dim("–")} ${theme.bold("Skills")} ${theme.dim(`already up to date in ${targetDirs.join(", ")}`)}\n`);
|
|
156
147
|
}
|
|
157
148
|
if (args.dryRun) {
|
|
158
|
-
process.stdout.write("
|
|
149
|
+
process.stdout.write(`\n ${theme.dim("dry run, nothing was written")}\n`);
|
|
159
150
|
}
|
|
160
151
|
else if (!args.uninstall) {
|
|
161
|
-
process.stdout.write(`\
|
|
162
|
-
process.stdout.write("export JITERA_API_KEY=<your api key> before starting your assistant\n
|
|
152
|
+
process.stdout.write(`\n ${theme.dim("endpoint")} ${theme.accent(mcpUrl)}\n`);
|
|
153
|
+
process.stdout.write(` ${theme.dim("export JITERA_API_KEY=<your api key> before starting your assistant")}\n`);
|
|
154
|
+
process.stdout.write(` ${theme.dim("Optional:")} ${theme.accent("npx @jitera/connect init")} ` +
|
|
155
|
+
`${theme.dim("writes committable AGENTS.md instructions at the repo root")}\n`);
|
|
163
156
|
}
|
|
164
157
|
//# sourceMappingURL=cli.js.map
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/connect.js
CHANGED
package/dist/bin/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/bin/connect.ts"],"names":[],"mappings":";AACA,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/bin/connect.ts"],"names":[],"mappings":";AACA,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;KAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;IACjC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":""}
|
package/dist/bin/init.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { DiscoveryError, discoverDeployment } from "../discovery.js";
|
|
5
|
+
import { UnknownEnvironmentError } from "../environments.js";
|
|
6
|
+
import { writeAgentsMd } from "../install/agents-md.js";
|
|
7
|
+
import { DEFAULT_BRAND } from "../install/render.js";
|
|
8
|
+
import { resolveGitRoot } from "../install/project-root.js";
|
|
9
|
+
import { writeProjectMarker } from "../project-marker.js";
|
|
10
|
+
import { createTheme } from "../theme.js";
|
|
11
|
+
const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
12
|
+
const USAGE = [
|
|
13
|
+
"usage: npx @jitera/connect init [--env=<environment>] [--project=<uuid>] [--dry-run]",
|
|
14
|
+
"",
|
|
15
|
+
"Writes the shared, committable connection files at the root of the current",
|
|
16
|
+
"git repository: an AGENTS.md block for assistants that read it natively, a",
|
|
17
|
+
"CLAUDE.md that imports it, and a .jitera.json recording which deployment",
|
|
18
|
+
"(and optionally which project) this repository belongs to. Commit all three",
|
|
19
|
+
"so your team's assistants see them.",
|
|
20
|
+
].join("\n");
|
|
21
|
+
function parseArgs(argv) {
|
|
22
|
+
const args = { dryRun: false, help: false };
|
|
23
|
+
for (const arg of argv) {
|
|
24
|
+
if (arg === "init")
|
|
25
|
+
continue;
|
|
26
|
+
else if (arg.startsWith("--env="))
|
|
27
|
+
args.environment = arg.slice("--env=".length);
|
|
28
|
+
else if (arg.startsWith("--project="))
|
|
29
|
+
args.project = arg.slice("--project=".length);
|
|
30
|
+
else if (arg === "--dry-run")
|
|
31
|
+
args.dryRun = true;
|
|
32
|
+
else if (arg === "--help" || arg === "-h")
|
|
33
|
+
args.help = true;
|
|
34
|
+
else
|
|
35
|
+
args.unknown = arg;
|
|
36
|
+
}
|
|
37
|
+
return args;
|
|
38
|
+
}
|
|
39
|
+
const theme = createTheme({ env: process.env, isTty: Boolean(process.stdout.isTTY) });
|
|
40
|
+
const args = parseArgs(process.argv.slice(2));
|
|
41
|
+
if (args.help) {
|
|
42
|
+
process.stdout.write(`${USAGE}\n`);
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
if (args.unknown) {
|
|
46
|
+
process.stderr.write(`error: unrecognised argument "${args.unknown}"\n${USAGE}\n`);
|
|
47
|
+
process.exit(2);
|
|
48
|
+
}
|
|
49
|
+
const projectRoot = resolveGitRoot(process.cwd());
|
|
50
|
+
if (!projectRoot) {
|
|
51
|
+
process.stderr.write("error: not inside a git repository. Instructions written outside a repository " +
|
|
52
|
+
"are invisible to assistants that read AGENTS.md from the repository root, and " +
|
|
53
|
+
"an out-of-repo CLAUDE.md leaks into every project below it. Run this from " +
|
|
54
|
+
"inside the repository you want to connect.\n");
|
|
55
|
+
process.exit(2);
|
|
56
|
+
}
|
|
57
|
+
let brand = DEFAULT_BRAND;
|
|
58
|
+
try {
|
|
59
|
+
const deployment = await discoverDeployment({
|
|
60
|
+
environment: args.environment,
|
|
61
|
+
studioUrl: process.env["JITERA_STUDIO_URL"],
|
|
62
|
+
});
|
|
63
|
+
brand = deployment.brand;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof UnknownEnvironmentError) {
|
|
67
|
+
process.stderr.write(`error: ${error.message}\n`);
|
|
68
|
+
process.exit(2);
|
|
69
|
+
}
|
|
70
|
+
if (!(error instanceof DiscoveryError))
|
|
71
|
+
throw error;
|
|
72
|
+
process.stdout.write(` ${theme.dim(`offline, using the default brand "${brand}"`)}\n`);
|
|
73
|
+
}
|
|
74
|
+
const result = writeAgentsMd({
|
|
75
|
+
packageRoot: PACKAGE_ROOT,
|
|
76
|
+
projectRoot,
|
|
77
|
+
values: { BRAND: brand },
|
|
78
|
+
dryRun: args.dryRun,
|
|
79
|
+
});
|
|
80
|
+
process.stdout.write(` ${result.agents.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold("AGENTS.md")} ${theme.dim(`${result.agents.action} in ${result.agentsPath}`)}\n`);
|
|
81
|
+
process.stdout.write(` ${result.claude.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold("CLAUDE.md")} ${theme.dim(`${result.claude.action} in ${result.claudePath}`)}\n`);
|
|
82
|
+
const marker = writeProjectMarker(projectRoot, {
|
|
83
|
+
environment: args.environment ?? "studio",
|
|
84
|
+
...(args.project ? { project: args.project } : {}),
|
|
85
|
+
}, args.dryRun);
|
|
86
|
+
process.stdout.write(` ${marker.changed ? theme.ok("✓") : theme.dim("–")} ${theme.bold(".jitera.json")} ${theme.dim(`environment "${args.environment ?? "studio"}"${args.project ? `, project ${args.project}` : ""}`)}\n`);
|
|
87
|
+
if (args.dryRun) {
|
|
88
|
+
process.stdout.write(`\n ${theme.dim("dry run, nothing was written")}\n`);
|
|
89
|
+
}
|
|
90
|
+
else if (result.changed || marker.changed) {
|
|
91
|
+
process.stdout.write(`\n ${theme.dim("Commit these files so the whole team's assistants read them.")}\n`);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/login.js
CHANGED
|
@@ -3,9 +3,10 @@ import { createInterface } from "node:readline/promises";
|
|
|
3
3
|
import { DiscoveryError, discoverDeployment } from "../discovery.js";
|
|
4
4
|
import { UnknownEnvironmentError } from "../environments.js";
|
|
5
5
|
import { DeviceFlowError, pollForAccessToken, requestDeviceAuthorization, } from "../device-flow.js";
|
|
6
|
-
import { GraphqlError, createApiKey, listProjects } from "../graphql.js";
|
|
6
|
+
import { GraphqlError, createApiKey, listOrganisations, listProjects, } from "../graphql.js";
|
|
7
|
+
import { createTheme, heading, startSpinner } from "../theme.js";
|
|
8
|
+
import { SelectCancelledError, interactiveSelect } from "../select.js";
|
|
7
9
|
import { installClaudeCodePlugin } from "../install/claude-code.js";
|
|
8
|
-
import { writeAgentsMd } from "../install/agents-md.js";
|
|
9
10
|
import { installSkills } from "../install/skills.js";
|
|
10
11
|
import { codex } from "../adapters/codex.js";
|
|
11
12
|
import { cursor } from "../adapters/cursor.js";
|
|
@@ -16,7 +17,8 @@ const USAGE = [
|
|
|
16
17
|
"usage: npx @jitera/connect login [--env=<environment>] [options]",
|
|
17
18
|
"",
|
|
18
19
|
" --env=studio-04 target a pilot; omit for production",
|
|
19
|
-
" --
|
|
20
|
+
" --org=<slug> skip the organisation prompt",
|
|
21
|
+
" --project=<uuid> skip the organisation and project prompts",
|
|
20
22
|
" --read-only create a read-only key (default is read + write)",
|
|
21
23
|
" --name=<name> name for the created key",
|
|
22
24
|
" --json print the result as json",
|
|
@@ -29,6 +31,8 @@ function parseArgs(argv) {
|
|
|
29
31
|
continue;
|
|
30
32
|
else if (arg.startsWith("--env="))
|
|
31
33
|
args.environment = arg.slice("--env=".length);
|
|
34
|
+
else if (arg.startsWith("--org="))
|
|
35
|
+
args.organisation = arg.slice("--org=".length);
|
|
32
36
|
else if (arg.startsWith("--project="))
|
|
33
37
|
args.project = arg.slice("--project=".length);
|
|
34
38
|
else if (arg.startsWith("--name="))
|
|
@@ -46,8 +50,9 @@ function parseArgs(argv) {
|
|
|
46
50
|
}
|
|
47
51
|
return args;
|
|
48
52
|
}
|
|
53
|
+
const theme = createTheme({ env: process.env, isTty: Boolean(process.stdout.isTTY) });
|
|
49
54
|
function fail(message, code = 1) {
|
|
50
|
-
process.stderr.write(
|
|
55
|
+
process.stderr.write(`\n ${theme.err("error")} ${message}\n`);
|
|
51
56
|
process.exit(code);
|
|
52
57
|
}
|
|
53
58
|
const args = parseArgs(process.argv.slice(2));
|
|
@@ -93,49 +98,106 @@ catch (error) {
|
|
|
93
98
|
throw error;
|
|
94
99
|
}
|
|
95
100
|
const openUrl = authorization.verificationUriComplete ?? authorization.verificationUri;
|
|
96
|
-
process.stdout.write(
|
|
97
|
-
process.stdout.write(
|
|
98
|
-
process.stdout.write(`
|
|
99
|
-
process.stdout.write("
|
|
101
|
+
process.stdout.write(heading(theme, brand, "connect"));
|
|
102
|
+
process.stdout.write(`\n ${theme.dim("Sign in to authorise this device.")}\n\n`);
|
|
103
|
+
process.stdout.write(` ${theme.dim("Open")} ${theme.accent(openUrl)}\n`);
|
|
104
|
+
process.stdout.write(` ${theme.dim("Code")} ${theme.bold(authorization.userCode)}\n\n`);
|
|
105
|
+
const spinner = startSpinner({
|
|
106
|
+
theme,
|
|
107
|
+
label: "Waiting for approval…",
|
|
108
|
+
write: (chunk) => process.stdout.write(chunk),
|
|
109
|
+
animate: Boolean(process.stdout.isTTY),
|
|
110
|
+
});
|
|
100
111
|
let accessToken;
|
|
101
112
|
try {
|
|
102
113
|
accessToken = await pollForAccessToken({ automationUrl, authorization });
|
|
114
|
+
spinner.stop(theme.ok("Approved."));
|
|
103
115
|
}
|
|
104
116
|
catch (error) {
|
|
117
|
+
spinner.stop();
|
|
105
118
|
if (error instanceof DeviceFlowError)
|
|
106
119
|
fail(error.message);
|
|
107
120
|
throw error;
|
|
108
121
|
}
|
|
109
122
|
const transport = { automationUrl, accessToken };
|
|
123
|
+
async function choose(items, prompt, label) {
|
|
124
|
+
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
125
|
+
try {
|
|
126
|
+
return await interactiveSelect({
|
|
127
|
+
items,
|
|
128
|
+
prompt,
|
|
129
|
+
label,
|
|
130
|
+
theme,
|
|
131
|
+
input: process.stdin,
|
|
132
|
+
output: process.stdout,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (error instanceof SelectCancelledError)
|
|
137
|
+
fail("cancelled.", 130);
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
process.stdout.write(`\n ${theme.bold(prompt)}\n\n`);
|
|
142
|
+
items.forEach((item, index) => {
|
|
143
|
+
process.stdout.write(` ${theme.accent(String(index + 1).padStart(2))} ${label(item)}\n`);
|
|
144
|
+
});
|
|
145
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
146
|
+
const answer = await rl.question(`\n ${theme.dim(`Number [1-${items.length}]`)} `);
|
|
147
|
+
rl.close();
|
|
148
|
+
const picked = items[Number(answer.trim()) - 1];
|
|
149
|
+
if (!picked)
|
|
150
|
+
fail(`"${answer.trim()}" is not one of the listed options.`, 2);
|
|
151
|
+
return picked;
|
|
152
|
+
}
|
|
110
153
|
let projectUuid = args.project;
|
|
111
154
|
if (!projectUuid) {
|
|
155
|
+
const organisations = await listOrganisations(transport);
|
|
156
|
+
const named = args.organisation
|
|
157
|
+
? organisations.find((org) => org.slug === args.organisation)
|
|
158
|
+
: undefined;
|
|
159
|
+
if (args.organisation && !named) {
|
|
160
|
+
fail(organisations.length
|
|
161
|
+
? `no organisation with slug "${args.organisation}". Available: ${organisations
|
|
162
|
+
.map((org) => org.slug)
|
|
163
|
+
.join(", ")}`
|
|
164
|
+
: `no organisation with slug "${args.organisation}".`);
|
|
165
|
+
}
|
|
166
|
+
let organisation = named;
|
|
167
|
+
if (!organisation && organisations.length === 1) {
|
|
168
|
+
organisation = organisations[0];
|
|
169
|
+
process.stdout.write(`\n ${theme.dim("Organisation")} ${organisation?.name ?? organisation?.slug}\n`);
|
|
170
|
+
}
|
|
171
|
+
else if (!organisation && organisations.length > 1) {
|
|
172
|
+
organisation = await choose(organisations, "Which organisation?", (org) => `${org.name ?? org.slug}${org.personal ? " (personal)" : ""}`);
|
|
173
|
+
process.stdout.write(`\n ${theme.dim("Organisation")} ${organisation.name ?? organisation.slug}\n`);
|
|
174
|
+
}
|
|
112
175
|
let projects;
|
|
113
176
|
try {
|
|
114
|
-
projects = await listProjects(transport);
|
|
177
|
+
projects = await listProjects(transport, organisation);
|
|
115
178
|
}
|
|
116
179
|
catch (error) {
|
|
117
180
|
if (error instanceof GraphqlError)
|
|
118
181
|
fail(error.message);
|
|
119
182
|
throw error;
|
|
120
183
|
}
|
|
184
|
+
const where = organisation ? ` in ${organisation.name ?? organisation.slug}` : "";
|
|
121
185
|
if (projects.length === 0)
|
|
122
|
-
fail(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
186
|
+
fail(`this account has no projects to connect to${where}.`);
|
|
187
|
+
const manageable = projects.filter((project) => project.canManageApiKey);
|
|
188
|
+
if (manageable.length === 0) {
|
|
189
|
+
fail(`none of the ${projects.length} project(s)${where} allow you to create an API key. ` +
|
|
190
|
+
"You need project-edit rights on a project whose plan includes API keys — " +
|
|
191
|
+
"ask an owner or admin, or pick a different organisation.");
|
|
192
|
+
}
|
|
193
|
+
if (manageable.length === 1) {
|
|
194
|
+
projectUuid = manageable[0]?.uuid;
|
|
195
|
+
process.stdout.write(` ${theme.dim("Project")} ${manageable[0]?.name}\n`);
|
|
126
196
|
}
|
|
127
197
|
else {
|
|
128
|
-
|
|
129
|
-
projects.forEach((project, index) => {
|
|
130
|
-
process.stdout.write(` ${index + 1}. ${project.name}\n`);
|
|
131
|
-
});
|
|
132
|
-
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
133
|
-
const answer = await rl.question(`\nNumber [1-${projects.length}]: `);
|
|
134
|
-
rl.close();
|
|
135
|
-
const choice = projects[Number(answer.trim()) - 1];
|
|
136
|
-
if (!choice)
|
|
137
|
-
fail(`"${answer.trim()}" is not one of the listed projects.`, 2);
|
|
198
|
+
const choice = await choose(manageable, "Which project?", (project) => project.name);
|
|
138
199
|
projectUuid = choice.uuid;
|
|
200
|
+
process.stdout.write(` ${theme.dim("Project")} ${choice.name}\n`);
|
|
139
201
|
}
|
|
140
202
|
}
|
|
141
203
|
let created;
|
|
@@ -153,8 +215,11 @@ if (args.install) {
|
|
|
153
215
|
const values = { BRAND: brand };
|
|
154
216
|
const claude = installClaudeCodePlugin({ apiKey: created.rawKey, environment });
|
|
155
217
|
process.stdout.write(claude.installed
|
|
156
|
-
? "
|
|
157
|
-
: `\
|
|
218
|
+
? `\n ${theme.ok("✓")} ${theme.bold("Claude Code")} ${theme.dim("configured, key stored in your keychain")}\n`
|
|
219
|
+
: `\n ${theme.dim("–")} ${theme.bold("Claude Code")} ${theme.dim(`skipped (${claude.reason})`)}\n`);
|
|
220
|
+
if (!claude.installed) {
|
|
221
|
+
process.stdout.write(` ${theme.dim("Run /plugin inside Claude Code to install and configure jitera-connect manually.")}\n`);
|
|
222
|
+
}
|
|
158
223
|
const context = {
|
|
159
224
|
scope: "user",
|
|
160
225
|
home: homedir(),
|
|
@@ -166,20 +231,21 @@ if (args.install) {
|
|
|
166
231
|
if (local.length) {
|
|
167
232
|
for (const adapter of local) {
|
|
168
233
|
const result = adapter.install(context);
|
|
169
|
-
process.stdout.write(
|
|
234
|
+
process.stdout.write(` ${theme.ok("✓")} ${theme.bold(adapter.label)} ${theme.dim(result.path)}\n`);
|
|
170
235
|
}
|
|
171
236
|
const targetDirs = [...new Set(local.flatMap((adapter) => adapter.skillsDirs(context)))];
|
|
172
237
|
installSkills({ packageRoot, targetDirs, values });
|
|
173
|
-
|
|
174
|
-
process.stdout.write("Skills and AGENTS.md written.\n");
|
|
238
|
+
process.stdout.write(` ${theme.ok("✓")} ${theme.dim("Skills written")}\n`);
|
|
175
239
|
}
|
|
240
|
+
process.stdout.write(`\n ${theme.dim("Optional:")} ${theme.accent("npx @jitera/connect init")} ` +
|
|
241
|
+
`${theme.dim("writes committable AGENTS.md instructions at a repo root")}\n`);
|
|
176
242
|
}
|
|
177
243
|
if (args.json) {
|
|
178
244
|
process.stdout.write(`${JSON.stringify({ apiKey: created.rawKey, maskedKey: created.maskedKey, projectUuid, mcpAccess: args.access }, undefined, 2)}\n`);
|
|
179
245
|
}
|
|
180
246
|
else if (!args.install) {
|
|
181
|
-
process.stdout.write(`\
|
|
182
|
-
process.stdout.write(` export JITERA_API_KEY=${created.rawKey}\n\n`);
|
|
183
|
-
process.stdout.write("Then run npx @jitera/connect to configure your assistants
|
|
247
|
+
process.stdout.write(`\n ${theme.ok("✓")} ${theme.dim(`Created a ${args.access === "read" ? "read-only" : "read + write"} key.`)}\n\n`);
|
|
248
|
+
process.stdout.write(` export JITERA_API_KEY=${theme.bold(created.rawKey)}\n\n`);
|
|
249
|
+
process.stdout.write(` ${theme.dim("Then run")} ${theme.accent("npx @jitera/connect")} ${theme.dim("to configure your assistants.")}\n`);
|
|
184
250
|
}
|
|
185
251
|
//# sourceMappingURL=login.js.map
|
package/dist/bin/login.js.map
CHANGED
|
@@ -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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"}
|