@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.
Files changed (50) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +50 -0
  4. package/content/session-start-unconfigured.md +11 -0
  5. package/content/session-start.md +5 -4
  6. package/dist/adapters/cursor.js +1 -1
  7. package/dist/adapters/cursor.js.map +1 -1
  8. package/dist/bin/cli.js +11 -18
  9. package/dist/bin/cli.js.map +1 -1
  10. package/dist/bin/connect.js +3 -0
  11. package/dist/bin/connect.js.map +1 -1
  12. package/dist/bin/init.d.ts +3 -0
  13. package/dist/bin/init.d.ts.map +1 -0
  14. package/dist/bin/init.js +93 -0
  15. package/dist/bin/init.js.map +1 -0
  16. package/dist/bin/login.js +97 -31
  17. package/dist/bin/login.js.map +1 -1
  18. package/dist/bin/proxy.js +15 -1
  19. package/dist/bin/proxy.js.map +1 -1
  20. package/dist/graphql.d.ts +8 -2
  21. package/dist/graphql.d.ts.map +1 -1
  22. package/dist/graphql.js +18 -11
  23. package/dist/graphql.js.map +1 -1
  24. package/dist/hooks/session-start.js +27 -2
  25. package/dist/hooks/session-start.js.map +1 -1
  26. package/dist/install/claude-code.d.ts +2 -0
  27. package/dist/install/claude-code.d.ts.map +1 -1
  28. package/dist/install/claude-code.js +28 -3
  29. package/dist/install/claude-code.js.map +1 -1
  30. package/dist/install/project-root.d.ts +2 -0
  31. package/dist/install/project-root.d.ts.map +1 -0
  32. package/dist/install/project-root.js +9 -0
  33. package/dist/install/project-root.js.map +1 -0
  34. package/dist/project-marker.d.ts +15 -0
  35. package/dist/project-marker.d.ts.map +1 -0
  36. package/dist/project-marker.js +59 -0
  37. package/dist/project-marker.js.map +1 -0
  38. package/dist/proxy.d.ts +6 -2
  39. package/dist/proxy.d.ts.map +1 -1
  40. package/dist/proxy.js +13 -3
  41. package/dist/proxy.js.map +1 -1
  42. package/dist/select.d.ts +25 -0
  43. package/dist/select.d.ts.map +1 -0
  44. package/dist/select.js +78 -0
  45. package/dist/select.js.map +1 -0
  46. package/dist/theme.d.ts +29 -0
  47. package/dist/theme.d.ts.map +1 -0
  48. package/dist/theme.js +69 -0
  49. package/dist/theme.js.map +1 -0
  50. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jitera-connect",
3
- "version": "1.2.2",
3
+ "version": "1.4.0",
4
4
  "description": "Connect this workspace to a Jitera project: read documentation and source, and keep project memory up to date.",
5
5
  "author": {
6
6
  "name": "Jitera"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jitera-connect",
3
- "version": "1.2.2",
3
+ "version": "1.4.0",
4
4
  "description": "Connect this workspace to a Jitera project: read documentation and source, and keep project memory up to date.",
5
5
  "skills": "./skills/"
6
6
  }
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.
@@ -1,9 +1,10 @@
1
- Project context tools are connected for this workspace: project documentation,
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 and
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
@@ -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"), join(root, ".claude", "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,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,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"}
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(`${adapter.label}: ${result.changed ? verb : "already up to date in"} ${result.path}\n`);
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: ${skills.skills.length} ${skillVerb} ${targetDirs.join(", ")}\n`
144
- : `Skills: already up to date in ${targetDirs.join(", ")}\n`);
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("\ndry run, nothing was written\n");
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(`\nendpoint ${mcpUrl}\n`);
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
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ const [subcommand] = process.argv.slice(2);
3
3
  if (subcommand === "login") {
4
4
  await import("./login.js");
5
5
  }
6
+ else if (subcommand === "init") {
7
+ await import("./init.js");
8
+ }
6
9
  else {
7
10
  await import("./cli.js");
8
11
  }
@@ -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,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":""}
@@ -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
- " --project=<uuid> skip the project prompt",
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(`error: ${message}\n`);
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(`\nSign in to ${brand} to authorise this device.\n\n`);
97
- process.stdout.write(` Open: ${openUrl}\n`);
98
- process.stdout.write(` Code: ${authorization.userCode}\n\n`);
99
- process.stdout.write("Waiting for approval…\n");
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("this account has no projects to connect to.");
123
- if (projects.length === 1) {
124
- projectUuid = projects[0]?.uuid;
125
- process.stdout.write(`\nProject: ${projects[0]?.name}\n`);
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
- process.stdout.write("\nWhich project?\n\n");
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
- ? "\nClaude Code: installed and configured, key stored in your keychain.\n"
157
- : `\nClaude Code: skipped (${claude.reason}).\n`);
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(`${adapter.label}: ${result.path}\n`);
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
- writeAgentsMd({ packageRoot, projectRoot: context.cwd, values });
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(`\nCreated a ${args.access === "read" ? "read-only" : "read + write"} key.\n\n`);
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.\n");
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
@@ -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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"}