orbitmap 0.4.2 → 0.4.3

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 (156) hide show
  1. package/README.md +60 -13
  2. package/dist/adapters/cloud.d.ts +53 -21
  3. package/dist/adapters/cloud.js +95 -29
  4. package/dist/adapters/cloud.js.map +1 -1
  5. package/dist/adapters/factory.d.ts +3 -0
  6. package/dist/adapters/factory.js +8 -1
  7. package/dist/adapters/factory.js.map +1 -1
  8. package/dist/adapters/local/adapter.d.ts +0 -20
  9. package/dist/adapters/local/adapter.js +0 -18
  10. package/dist/adapters/local/adapter.js.map +1 -1
  11. package/dist/adapters/local/context.d.ts +1 -1
  12. package/dist/adapters/local/context.js +10 -2
  13. package/dist/adapters/local/context.js.map +1 -1
  14. package/dist/adapters/local/entities/tasks.d.ts +9 -1
  15. package/dist/adapters/local/entities/tasks.js +47 -5
  16. package/dist/adapters/local/entities/tasks.js.map +1 -1
  17. package/dist/adapters/local/entities/work-items.d.ts +14 -30
  18. package/dist/adapters/local/entities/work-items.js +63 -47
  19. package/dist/adapters/local/entities/work-items.js.map +1 -1
  20. package/dist/adapters/local/rules.d.ts +4 -4
  21. package/dist/adapters/local/rules.js +4 -19
  22. package/dist/adapters/local/rules.js.map +1 -1
  23. package/dist/adapters/local/shapes.d.ts +27 -7
  24. package/dist/adapters/local/shapes.js +41 -5
  25. package/dist/adapters/local/shapes.js.map +1 -1
  26. package/dist/adapters/local/store.d.ts +55 -6
  27. package/dist/adapters/local/store.js +122 -8
  28. package/dist/adapters/local/store.js.map +1 -1
  29. package/dist/adapters/local/types.d.ts +9 -2
  30. package/dist/adapters/local/types.js +9 -2
  31. package/dist/adapters/local/types.js.map +1 -1
  32. package/dist/adapters/types.d.ts +7 -20
  33. package/dist/agent-instructions.d.ts +21 -8
  34. package/dist/agent-instructions.js +91 -35
  35. package/dist/agent-instructions.js.map +1 -1
  36. package/dist/area-directories.d.ts +75 -0
  37. package/dist/area-directories.js +162 -0
  38. package/dist/area-directories.js.map +1 -0
  39. package/dist/area-grouping.d.ts +55 -0
  40. package/dist/area-grouping.js +72 -0
  41. package/dist/area-grouping.js.map +1 -0
  42. package/dist/commands/areas.js +30 -2
  43. package/dist/commands/areas.js.map +1 -1
  44. package/dist/commands/assign.d.ts +1 -0
  45. package/dist/commands/assign.js +2 -0
  46. package/dist/commands/assign.js.map +1 -1
  47. package/dist/commands/context.d.ts +95 -0
  48. package/dist/commands/context.js +104 -2
  49. package/dist/commands/context.js.map +1 -1
  50. package/dist/commands/create.d.ts +1 -0
  51. package/dist/commands/create.js +19 -14
  52. package/dist/commands/create.js.map +1 -1
  53. package/dist/commands/dep.js +5 -8
  54. package/dist/commands/dep.js.map +1 -1
  55. package/dist/commands/doc-import.d.ts +1 -0
  56. package/dist/commands/doc-import.js +8 -26
  57. package/dist/commands/doc-import.js.map +1 -1
  58. package/dist/commands/doc-patch.js +16 -52
  59. package/dist/commands/doc-patch.js.map +1 -1
  60. package/dist/commands/doc-share.js +4 -0
  61. package/dist/commands/doc-share.js.map +1 -1
  62. package/dist/commands/doc-update.js +4 -8
  63. package/dist/commands/doc-update.js.map +1 -1
  64. package/dist/commands/doc.js +7 -12
  65. package/dist/commands/doc.js.map +1 -1
  66. package/dist/commands/docs-cache.js +23 -10
  67. package/dist/commands/docs-cache.js.map +1 -1
  68. package/dist/commands/docs.js +29 -10
  69. package/dist/commands/docs.js.map +1 -1
  70. package/dist/commands/get.js +4 -10
  71. package/dist/commands/get.js.map +1 -1
  72. package/dist/commands/ideas.d.ts +3 -1
  73. package/dist/commands/ideas.js +26 -49
  74. package/dist/commands/ideas.js.map +1 -1
  75. package/dist/commands/init.d.ts +24 -1
  76. package/dist/commands/init.js +0 -0
  77. package/dist/commands/init.js.map +1 -1
  78. package/dist/commands/intent.js +10 -14
  79. package/dist/commands/intent.js.map +1 -1
  80. package/dist/commands/issues.d.ts +3 -1
  81. package/dist/commands/issues.js +47 -72
  82. package/dist/commands/issues.js.map +1 -1
  83. package/dist/commands/log.d.ts +1 -0
  84. package/dist/commands/log.js +18 -17
  85. package/dist/commands/log.js.map +1 -1
  86. package/dist/commands/mission.js +3 -12
  87. package/dist/commands/mission.js.map +1 -1
  88. package/dist/commands/orbit.d.ts +7 -1
  89. package/dist/commands/orbit.js +13 -24
  90. package/dist/commands/orbit.js.map +1 -1
  91. package/dist/commands/setup-agent.d.ts +97 -4
  92. package/dist/commands/setup-agent.js +265 -38
  93. package/dist/commands/setup-agent.js.map +1 -1
  94. package/dist/commands/setup-mcp.d.ts +2 -0
  95. package/dist/commands/setup-mcp.js +17 -40
  96. package/dist/commands/setup-mcp.js.map +1 -1
  97. package/dist/commands/start.d.ts +43 -0
  98. package/dist/commands/start.js +158 -3
  99. package/dist/commands/start.js.map +1 -1
  100. package/dist/commands/status.d.ts +1 -0
  101. package/dist/commands/status.js +5 -15
  102. package/dist/commands/status.js.map +1 -1
  103. package/dist/commands/subtask.d.ts +1 -0
  104. package/dist/commands/subtask.js +9 -2
  105. package/dist/commands/subtask.js.map +1 -1
  106. package/dist/commands/task-edit-content.js +4 -8
  107. package/dist/commands/task-edit-content.js.map +1 -1
  108. package/dist/commands/task.d.ts +7 -0
  109. package/dist/commands/task.js +5 -2
  110. package/dist/commands/task.js.map +1 -1
  111. package/dist/commands/tasks.d.ts +35 -0
  112. package/dist/commands/tasks.js +45 -9
  113. package/dist/commands/tasks.js.map +1 -1
  114. package/dist/commands/vibes.d.ts +3 -1
  115. package/dist/commands/vibes.js +41 -31
  116. package/dist/commands/vibes.js.map +1 -1
  117. package/dist/config.d.ts +11 -0
  118. package/dist/config.js +14 -1
  119. package/dist/config.js.map +1 -1
  120. package/dist/doc-cache.d.ts +74 -5
  121. package/dist/doc-cache.js +106 -22
  122. package/dist/doc-cache.js.map +1 -1
  123. package/dist/enums.d.ts +26 -0
  124. package/dist/enums.js +53 -0
  125. package/dist/enums.js.map +1 -0
  126. package/dist/errors.d.ts +67 -0
  127. package/dist/errors.js +82 -0
  128. package/dist/errors.js.map +1 -1
  129. package/dist/index.js +134 -56
  130. package/dist/index.js.map +1 -1
  131. package/dist/mcp-config.d.ts +42 -1
  132. package/dist/mcp-config.js +82 -2
  133. package/dist/mcp-config.js.map +1 -1
  134. package/dist/oauth.js +10 -10
  135. package/dist/output.d.ts +12 -0
  136. package/dist/output.js +39 -1
  137. package/dist/output.js.map +1 -1
  138. package/dist/paths.d.ts +40 -0
  139. package/dist/paths.js +174 -9
  140. package/dist/paths.js.map +1 -1
  141. package/dist/project-config.d.ts +42 -1
  142. package/dist/project-config.js +51 -0
  143. package/dist/project-config.js.map +1 -1
  144. package/dist/workspace-resolve.d.ts +179 -9
  145. package/dist/workspace-resolve.js +288 -20
  146. package/dist/workspace-resolve.js.map +1 -1
  147. package/dist/write-target.d.ts +56 -0
  148. package/dist/write-target.js +170 -0
  149. package/dist/write-target.js.map +1 -0
  150. package/package.json +1 -1
  151. package/dist/commands/create-project.d.ts +0 -6
  152. package/dist/commands/create-project.js +0 -28
  153. package/dist/commands/create-project.js.map +0 -1
  154. package/dist/commands/projects.d.ts +0 -3
  155. package/dist/commands/projects.js +0 -28
  156. package/dist/commands/projects.js.map +0 -1
@@ -1,11 +1,91 @@
1
1
  export type AgentType = 'claude' | 'gemini' | 'codex' | 'cursor' | 'windsurf' | 'generic';
2
+ /**
3
+ * Where the OrbitMap agent instructions are installed.
4
+ *
5
+ * - `user` — the agent's personal configuration directory (`~/.claude`, `~/.gemini`,
6
+ * `~/.codex`). This is the DEFAULT, because agent skills do **not** traverse
7
+ * directories: a project-level `.claude/skills/` is invisible to a session
8
+ * started in a sibling or child repository, while `CLAUDE.md` *is* inherited
9
+ * downwards — so a project-scope install hands sub-directories a hook that
10
+ * tells them to load skills they cannot see. A workspace now legitimately
11
+ * spans several area directories (IN-rwb5qu), so one project-scope install
12
+ * would only ever cover one of them.
13
+ * - `project` — the current directory, as before. Still fully supported, but explicit.
14
+ */
15
+ export type SkillScope = 'project' | 'user';
16
+ /** The documented default. Exported so `init` and the tests agree on one value. */
17
+ export declare const DEFAULT_SKILL_SCOPE: SkillScope;
18
+ export declare const SKILL_SCOPES: readonly SkillScope[];
2
19
  /**
3
20
  * Menu order for "which agent are you using?" — shared with `init`, which asks the same
4
21
  * question through its own readline interface (see the note on {@link pickAgent}).
5
22
  * The first entry is also the documented default when a caller needs one.
6
23
  */
7
24
  export declare const AGENT_MENU_ORDER: readonly AgentType[];
25
+ /** Parse a user-supplied `--scope` value; `null` for anything unknown. */
26
+ export declare function parseSkillScope(value: string): SkillScope | null;
27
+ /** Every accepted `--scope` value, for help text and error messages. */
28
+ export declare function skillScopeNames(): string;
29
+ /**
30
+ * The resolved answer to "which files does this install touch?".
31
+ *
32
+ * `skillsDir` is `null` for agents with no skill ecosystem (everything is inlined into
33
+ * `configPath` instead). `scope` is the scope that was actually used, which may differ
34
+ * from the requested one — see {@link AgentDef.userDir}.
35
+ */
36
+ export interface InstallTarget {
37
+ scope: SkillScope;
38
+ requestedScope: SkillScope;
39
+ /** Absolute directory that holds `<name>/SKILL.md`, or `null` for non-Claude agents. */
40
+ skillsDir: string | null;
41
+ /** Absolute path of the instruction file the marker block is written to. */
42
+ configPath: string;
43
+ }
44
+ /**
45
+ * Resolve where an install lands.
46
+ *
47
+ * User scope writes **only** under the agent's personal config directory — nothing is
48
+ * written into the project. That is the point: at user scope the skills and the hook
49
+ * that references them are both visible from every directory, so there is no reason to
50
+ * leave a second, narrower copy behind in one repository.
51
+ */
52
+ export declare function resolveInstallTarget(agentType: AgentType, scope: SkillScope, cwd: string, homeDir?: string): InstallTarget;
8
53
  export declare function detectAgent(cwdOverride?: string): AgentType | null;
54
+ /**
55
+ * What a previous project-scope install left behind in `cwd`.
56
+ *
57
+ * This is the upgrade hazard of moving the default to user scope: someone who ran the
58
+ * old `init` has skills in BOTH `./.claude/skills/` and `~/.claude/skills/`, and the
59
+ * project copy silently WINS in that directory. Without a signal they would keep running
60
+ * stale skill text forever, and every future `orbitmap` upgrade would refresh only the
61
+ * copy that is not being read.
62
+ */
63
+ export interface StaleProjectInstall {
64
+ /** Absolute paths of the four skill directories this CLI wrote, that still exist. */
65
+ skillDirs: string[];
66
+ /** Absolute path of the agent config file that still carries our marker block, if any. */
67
+ configPath: string | null;
68
+ }
69
+ /**
70
+ * Find a previous project-scope install in `cwd`.
71
+ *
72
+ * Deliberately narrow: only the four skill directories this CLI creates by name, and only
73
+ * a config file that actually contains OUR marker block. A user's own skill in
74
+ * `.claude/skills/`, an unrelated `CLAUDE.md`, or a `.claude/` holding only settings are
75
+ * invisible here — which is what makes the cleanup below safe.
76
+ */
77
+ export declare function detectProjectInstall(cwd: string, agentType: AgentType): StaleProjectInstall | null;
78
+ /**
79
+ * Remove a stale project-scope install — and nothing else.
80
+ *
81
+ * Only ever touches: the four skill directories named in {@link StaleProjectInstall}, and
82
+ * the marker-delimited block inside the config file. Text outside the markers is kept
83
+ * verbatim; the config file itself is deleted only when the block was its entire content
84
+ * (i.e. this CLI created it). Parent directories are removed only when they are already
85
+ * empty — a `.claude/` holding a user's own skills or `settings.json` survives intact.
86
+ * There is no recursive delete of `.claude` anywhere in this function.
87
+ */
88
+ export declare function removeProjectInstall(stale: StaleProjectInstall): string[];
9
89
  /** Human label for an agent type (for prompts in other commands, e.g. `init`). */
10
90
  export declare function agentLabel(agentType: AgentType): string;
11
91
  /** The config file an agent type's instruction block is written to (e.g. `CLAUDE.md`). */
@@ -20,11 +100,24 @@ export declare function agentTypeNames(): string;
20
100
  export declare function parseAgentType(value: string): AgentType | null;
21
101
  /**
22
102
  * Install the OrbitMap skills for one agent, non-interactively and idempotently.
23
- * Claude Code → `.claude/skills/<name>/SKILL.md` × 4 + the CLAUDE.md hook block;
24
- * every other agent the concatenated fallback block in its config file.
25
- * Safe to call repeatedly: identical input leaves the tree byte-identical.
103
+ *
104
+ * At the default `user` scope: Claude Code `~/.claude/skills/<name>/SKILL.md` × 4 +
105
+ * the hook block in `~/.claude/CLAUDE.md`; Gemini/Codex the inlined block in
106
+ * `~/.gemini/GEMINI.md` / `~/.codex/AGENTS.md`. **Nothing is written into `cwd`.**
107
+ * At `project` scope everything lands in `cwd`, exactly as it used to.
108
+ *
109
+ * Safe to call repeatedly: identical input leaves the tree byte-identical, and the
110
+ * marker block is replaced in place rather than appended again.
111
+ *
112
+ * A user-scope install additionally reports (and can clean up) a leftover project-scope
113
+ * install in `cwd`, which would otherwise silently shadow it — see
114
+ * {@link handleStaleProjectInstall}.
26
115
  */
27
- export declare function installAgentSkills(cwd: string, agentType: AgentType): void;
116
+ export declare function installAgentSkills(cwd: string, agentType: AgentType, scope?: SkillScope, options?: {
117
+ cleanProject?: boolean;
118
+ }): Promise<InstallTarget>;
28
119
  export declare function setupAgentCommand(options: {
29
120
  agent?: string;
121
+ scope?: string;
122
+ cleanProject?: boolean;
30
123
  }): Promise<void>;
@@ -1,14 +1,18 @@
1
1
  import fs from 'node:fs';
2
+ import os from 'node:os';
2
3
  import path from 'node:path';
3
4
  import readline from 'node:readline';
4
5
  import { SKILLS, MARKER_START, MARKER_END, buildSkillFile, buildClaudeHook, buildGenericBlock, } from '../agent-instructions.js';
6
+ /** The documented default. Exported so `init` and the tests agree on one value. */
7
+ export const DEFAULT_SKILL_SCOPE = 'user';
8
+ export const SKILL_SCOPES = ['user', 'project'];
5
9
  const AGENTS = {
6
- claude: { label: 'Claude Code', file: 'CLAUDE.md' },
7
- gemini: { label: 'Gemini CLI', file: 'GEMINI.md' },
8
- codex: { label: 'GPT Codex CLI', file: 'AGENTS.md' },
9
- cursor: { label: 'Cursor', file: '.cursorrules' },
10
- windsurf: { label: 'Windsurf', file: '.windsurfrules' },
11
- generic: { label: 'Other / Generic', file: 'AGENTS.md' },
10
+ claude: { label: 'Claude Code', file: 'CLAUDE.md', userDir: '.claude' },
11
+ gemini: { label: 'Gemini CLI', file: 'GEMINI.md', userDir: '.gemini' },
12
+ codex: { label: 'GPT Codex CLI', file: 'AGENTS.md', userDir: '.codex' },
13
+ cursor: { label: 'Cursor', file: '.cursorrules', userDir: null },
14
+ windsurf: { label: 'Windsurf', file: '.windsurfrules', userDir: null },
15
+ generic: { label: 'Other / Generic', file: 'AGENTS.md', userDir: null },
12
16
  };
13
17
  /**
14
18
  * Menu order for "which agent are you using?" — shared with `init`, which asks the same
@@ -24,11 +28,49 @@ export const AGENT_MENU_ORDER = [
24
28
  'generic',
25
29
  ];
26
30
  const MENU_ORDER = [...AGENT_MENU_ORDER];
27
- // Where the Claude skills are installed (project-level skill directory).
28
- const SKILLS_ROOT = path.join('.claude', 'skills');
29
- /** Relative path of a skill's SKILL.md, e.g. `.claude/skills/orbitmap/SKILL.md`. */
30
- function skillFilePath(name) {
31
- return path.join(SKILLS_ROOT, name, 'SKILL.md');
31
+ /** Parse a user-supplied `--scope` value; `null` for anything unknown. */
32
+ export function parseSkillScope(value) {
33
+ const key = value.trim().toLowerCase();
34
+ return SKILL_SCOPES.includes(key) ? key : null;
35
+ }
36
+ /** Every accepted `--scope` value, for help text and error messages. */
37
+ export function skillScopeNames() {
38
+ return SKILL_SCOPES.join(', ');
39
+ }
40
+ /**
41
+ * Resolve where an install lands.
42
+ *
43
+ * User scope writes **only** under the agent's personal config directory — nothing is
44
+ * written into the project. That is the point: at user scope the skills and the hook
45
+ * that references them are both visible from every directory, so there is no reason to
46
+ * leave a second, narrower copy behind in one repository.
47
+ */
48
+ export function resolveInstallTarget(agentType, scope, cwd, homeDir = os.homedir()) {
49
+ const def = AGENTS[agentType];
50
+ const useUser = scope === 'user' && def.userDir !== null;
51
+ const actual = useUser ? 'user' : 'project';
52
+ if (useUser) {
53
+ const root = path.join(homeDir, def.userDir);
54
+ return {
55
+ scope: actual,
56
+ requestedScope: scope,
57
+ skillsDir: agentType === 'claude' ? path.join(root, 'skills') : null,
58
+ configPath: path.join(root, def.file),
59
+ };
60
+ }
61
+ return {
62
+ scope: actual,
63
+ requestedScope: scope,
64
+ skillsDir: agentType === 'claude' ? path.join(cwd, '.claude', 'skills') : null,
65
+ configPath: path.join(cwd, def.file),
66
+ };
67
+ }
68
+ /** Render a path for the console: relative to `cwd` at project scope, absolute at user scope. */
69
+ function displayPath(target, cwd, file) {
70
+ if (target.scope === 'user')
71
+ return file;
72
+ const rel = path.relative(cwd, file);
73
+ return rel.startsWith('..') ? file : rel;
32
74
  }
33
75
  // --- Helpers ---
34
76
  function prompt(question) {
@@ -77,11 +119,42 @@ async function pickAgent() {
77
119
  console.log(`Please enter a number between 1 and ${MENU_ORDER.length}.`);
78
120
  }
79
121
  }
122
+ /**
123
+ * Ask where the skills go — the same question `init` asks, for the same reason: a
124
+ * user-scope install writes into the user's HOME directory, which is a real side effect
125
+ * outside the project and not a choice to make silently on their behalf.
126
+ *
127
+ * `setup-agent` already prompts for the agent type when `--agent` is absent, so this fits
128
+ * the command's existing shape. It is only ever reached interactively and only when
129
+ * `--scope` was not given.
130
+ */
131
+ async function askSkillScope() {
132
+ console.log('\nWhere should the OrbitMap skills be installed?');
133
+ console.log(' 1) Global (~/.claude) — every session and subagent sees them, in any directory;');
134
+ console.log(' writes into your home directory (recommended)');
135
+ console.log(' 2) Project (this dir) — only sessions started in this directory can load them');
136
+ for (let attempt = 0; attempt < 3; attempt += 1) {
137
+ const answer = (await prompt('Select (1-2, Enter = 1): ')).trim().toLowerCase();
138
+ if (answer === '')
139
+ return 'user';
140
+ if (answer === '1' || answer === 'g' || answer === 'global' || answer === 'u' || answer === 'user') {
141
+ return 'user';
142
+ }
143
+ if (answer === '2' || answer === 'p' || answer === 'project' || answer === 'l' || answer === 'local') {
144
+ return 'project';
145
+ }
146
+ console.log('Please enter 1 or 2.');
147
+ }
148
+ console.log('No usable answer — using the recommended global install.');
149
+ return 'user';
150
+ }
80
151
  /**
81
152
  * Write a marker-delimited block into a config file, replacing any existing block
82
153
  * between the markers. Returns what happened so the caller can report it.
83
154
  */
84
155
  function writeBlock(filePath, block) {
156
+ // At user scope the directory (`~/.claude`, `~/.gemini`, …) may not exist yet.
157
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
85
158
  if (fs.existsSync(filePath)) {
86
159
  const content = fs.readFileSync(filePath, 'utf-8');
87
160
  const startIdx = content.indexOf(MARKER_START);
@@ -103,61 +176,173 @@ function writeBlock(filePath, block) {
103
176
  return 'created';
104
177
  }
105
178
  /**
106
- * Install every Claude skill file (`.claude/skills/<name>/SKILL.md`).
179
+ * Install every Claude skill file (`<skillsDir>/<name>/SKILL.md`).
107
180
  * Writing is unconditional, so re-running is idempotent.
108
181
  */
109
- function writeSkills(cwd) {
182
+ function writeSkills(skillsDir) {
110
183
  return SKILLS.map((skill) => {
111
- const relFile = skillFilePath(skill.name);
112
- const file = path.join(cwd, relFile);
184
+ const file = path.join(skillsDir, skill.name, 'SKILL.md');
113
185
  const existed = fs.existsSync(file);
114
186
  fs.mkdirSync(path.dirname(file), { recursive: true });
115
187
  fs.writeFileSync(file, buildSkillFile(skill), 'utf-8');
116
- return { name: skill.name, file: relFile, action: existed ? 'updated' : 'created' };
188
+ return { name: skill.name, file, action: existed ? 'updated' : 'created' };
117
189
  });
118
190
  }
119
191
  // --- Per-agent installers ---
120
192
  /**
121
193
  * Claude: install the four on-demand skills + a thin always-on hook in CLAUDE.md.
122
194
  * This mirrors the MCP split of system-instructions (always on) + tool catalogue (on demand).
195
+ *
196
+ * The hook and the skills always land in the *same* scope, so the hook can never promise
197
+ * skills that the reading session cannot load: at user scope both live under `~/.claude`
198
+ * (visible everywhere); at project scope both live in this directory, and the hook says so.
123
199
  */
124
- function setupClaude(cwd) {
125
- const skills = writeSkills(cwd);
126
- const hookPath = path.join(cwd, AGENTS.claude.file);
127
- const hookAction = writeBlock(hookPath, buildClaudeHook());
200
+ function setupClaude(cwd, target) {
201
+ const skills = writeSkills(target.skillsDir);
202
+ const hookAction = writeBlock(target.configPath, buildClaudeHook(target.scope));
128
203
  for (const skill of skills) {
129
- console.log(`${skill.action === 'created' ? 'Installed' : 'Updated'} the \`${skill.name}\` skill at ${skill.file}.`);
204
+ console.log(`${skill.action === 'created' ? 'Installed' : 'Updated'} the \`${skill.name}\` skill at ` +
205
+ `${displayPath(target, cwd, skill.file)}.`);
130
206
  }
207
+ const hookFile = displayPath(target, cwd, target.configPath);
131
208
  switch (hookAction) {
132
209
  case 'created':
133
- console.log(`Created ${AGENTS.claude.file} with the OrbitMap hook.`);
210
+ console.log(`Created ${hookFile} with the OrbitMap hook.`);
134
211
  break;
135
212
  case 'updated':
136
- console.log(`Updated the OrbitMap hook in ${AGENTS.claude.file}.`);
213
+ console.log(`Updated the OrbitMap hook in ${hookFile}.`);
137
214
  break;
138
215
  case 'appended':
139
- console.log(`Appended the OrbitMap hook to ${AGENTS.claude.file}.`);
216
+ console.log(`Appended the OrbitMap hook to ${hookFile}.`);
140
217
  break;
141
218
  }
142
219
  console.log('The skills load on demand — your config stays lean.');
143
220
  }
144
221
  /** Non-Claude agents: inline the full markdown fallback (no skill ecosystem). */
145
- function setupGeneric(cwd, agentType) {
146
- const def = AGENTS[agentType];
147
- const filePath = path.join(cwd, def.file);
148
- const action = writeBlock(filePath, buildGenericBlock());
222
+ function setupGeneric(cwd, target) {
223
+ const action = writeBlock(target.configPath, buildGenericBlock());
224
+ const file = displayPath(target, cwd, target.configPath);
149
225
  switch (action) {
150
226
  case 'created':
151
- console.log(`Created ${def.file} with OrbitMap instructions.`);
227
+ console.log(`Created ${file} with OrbitMap instructions.`);
152
228
  break;
153
229
  case 'updated':
154
- console.log(`Updated OrbitMap instructions in ${def.file}.`);
230
+ console.log(`Updated OrbitMap instructions in ${file}.`);
155
231
  break;
156
232
  case 'appended':
157
- console.log(`Appended OrbitMap instructions to ${def.file}.`);
233
+ console.log(`Appended OrbitMap instructions to ${file}.`);
158
234
  break;
159
235
  }
160
236
  }
237
+ /**
238
+ * Find a previous project-scope install in `cwd`.
239
+ *
240
+ * Deliberately narrow: only the four skill directories this CLI creates by name, and only
241
+ * a config file that actually contains OUR marker block. A user's own skill in
242
+ * `.claude/skills/`, an unrelated `CLAUDE.md`, or a `.claude/` holding only settings are
243
+ * invisible here — which is what makes the cleanup below safe.
244
+ */
245
+ export function detectProjectInstall(cwd, agentType) {
246
+ const skillDirs = agentType === 'claude'
247
+ ? SKILLS.map((s) => path.join(cwd, '.claude', 'skills', s.name)).filter((dir) => fs.existsSync(path.join(dir, 'SKILL.md')))
248
+ : [];
249
+ const configFile = path.join(cwd, AGENTS[agentType].file);
250
+ let configPath = null;
251
+ if (fs.existsSync(configFile)) {
252
+ const content = fs.readFileSync(configFile, 'utf-8');
253
+ if (content.includes(MARKER_START) && content.includes(MARKER_END))
254
+ configPath = configFile;
255
+ }
256
+ if (skillDirs.length === 0 && configPath === null)
257
+ return null;
258
+ return { skillDirs, configPath };
259
+ }
260
+ /**
261
+ * Remove a stale project-scope install — and nothing else.
262
+ *
263
+ * Only ever touches: the four skill directories named in {@link StaleProjectInstall}, and
264
+ * the marker-delimited block inside the config file. Text outside the markers is kept
265
+ * verbatim; the config file itself is deleted only when the block was its entire content
266
+ * (i.e. this CLI created it). Parent directories are removed only when they are already
267
+ * empty — a `.claude/` holding a user's own skills or `settings.json` survives intact.
268
+ * There is no recursive delete of `.claude` anywhere in this function.
269
+ */
270
+ export function removeProjectInstall(stale) {
271
+ const removed = [];
272
+ for (const dir of stale.skillDirs) {
273
+ fs.rmSync(dir, { recursive: true, force: true });
274
+ removed.push(dir);
275
+ }
276
+ if (stale.configPath) {
277
+ const content = fs.readFileSync(stale.configPath, 'utf-8');
278
+ const startIdx = content.indexOf(MARKER_START);
279
+ const endIdx = content.indexOf(MARKER_END);
280
+ if (startIdx !== -1 && endIdx !== -1) {
281
+ const rest = content.slice(0, startIdx) + content.slice(endIdx + MARKER_END.length);
282
+ if (rest.trim() === '') {
283
+ // The block was the whole file — this CLI created it, so it goes too.
284
+ fs.rmSync(stale.configPath, { force: true });
285
+ }
286
+ else {
287
+ fs.writeFileSync(stale.configPath, `${rest.trim()}\n`, 'utf-8');
288
+ }
289
+ removed.push(stale.configPath);
290
+ }
291
+ }
292
+ // Prune the containers we created, but ONLY while they are empty.
293
+ for (const dir of stale.skillDirs.map((d) => path.dirname(d))) {
294
+ pruneIfEmpty(dir);
295
+ pruneIfEmpty(path.dirname(dir));
296
+ }
297
+ return removed;
298
+ }
299
+ /** `rmdir` a directory only if it exists and holds nothing. Never recursive. */
300
+ function pruneIfEmpty(dir) {
301
+ try {
302
+ if (fs.existsSync(dir) && fs.readdirSync(dir).length === 0)
303
+ fs.rmdirSync(dir);
304
+ }
305
+ catch {
306
+ // A racing writer or a permission problem here is not worth failing the install over.
307
+ }
308
+ }
309
+ /**
310
+ * Report — and, when a human is watching, offer to clean up — a project-scope install
311
+ * that the just-completed user-scope install has now shadowed.
312
+ *
313
+ * Non-interactive runs never delete anything: a scripted `init` in CI must not remove
314
+ * files the repository may well have committed. It prints the exact paths and the exact
315
+ * command instead, so the signal is never silent.
316
+ */
317
+ async function handleStaleProjectInstall(cwd, agentType, cleanProject) {
318
+ const stale = detectProjectInstall(cwd, agentType);
319
+ if (!stale)
320
+ return;
321
+ const paths = [...stale.skillDirs, ...(stale.configPath ? [stale.configPath] : [])];
322
+ console.log('');
323
+ console.log('Heads up: this directory also has an older PROJECT-scope install:');
324
+ for (const p of paths)
325
+ console.log(` ${path.relative(cwd, p) || p}`);
326
+ console.log('Project-level skills take precedence here, so that older copy is what');
327
+ console.log('this directory would actually load — not the freshly installed one.');
328
+ const interactive = !!process.stdin.isTTY;
329
+ if (!cleanProject && !interactive) {
330
+ console.log('Nothing was removed (not an interactive session).');
331
+ console.log(`Clean it up with: orbitmap setup-agent --agent ${agentType} --scope user --clean-project`);
332
+ return;
333
+ }
334
+ if (!cleanProject) {
335
+ const answer = (await prompt('Remove the project-level copy? [Y/n] ')).trim().toLowerCase();
336
+ if (answer === 'n' || answer === 'no') {
337
+ console.log('Kept. Note that this directory will keep loading the project-level copy.');
338
+ return;
339
+ }
340
+ }
341
+ const removed = removeProjectInstall(stale);
342
+ for (const p of removed)
343
+ console.log(`Removed ${path.relative(cwd, p) || p}.`);
344
+ console.log('This directory now uses the user-scope install.');
345
+ }
161
346
  /** Human label for an agent type (for prompts in other commands, e.g. `init`). */
162
347
  export function agentLabel(agentType) {
163
348
  return AGENTS[agentType].label;
@@ -184,21 +369,56 @@ export function parseAgentType(value) {
184
369
  }
185
370
  /**
186
371
  * Install the OrbitMap skills for one agent, non-interactively and idempotently.
187
- * Claude Code → `.claude/skills/<name>/SKILL.md` × 4 + the CLAUDE.md hook block;
188
- * every other agent the concatenated fallback block in its config file.
189
- * Safe to call repeatedly: identical input leaves the tree byte-identical.
372
+ *
373
+ * At the default `user` scope: Claude Code `~/.claude/skills/<name>/SKILL.md` × 4 +
374
+ * the hook block in `~/.claude/CLAUDE.md`; Gemini/Codex the inlined block in
375
+ * `~/.gemini/GEMINI.md` / `~/.codex/AGENTS.md`. **Nothing is written into `cwd`.**
376
+ * At `project` scope everything lands in `cwd`, exactly as it used to.
377
+ *
378
+ * Safe to call repeatedly: identical input leaves the tree byte-identical, and the
379
+ * marker block is replaced in place rather than appended again.
380
+ *
381
+ * A user-scope install additionally reports (and can clean up) a leftover project-scope
382
+ * install in `cwd`, which would otherwise silently shadow it — see
383
+ * {@link handleStaleProjectInstall}.
190
384
  */
191
- export function installAgentSkills(cwd, agentType) {
385
+ export async function installAgentSkills(cwd, agentType, scope = DEFAULT_SKILL_SCOPE, options = {}) {
386
+ const target = resolveInstallTarget(agentType, scope, cwd);
387
+ if (target.requestedScope === 'user' && target.scope === 'project') {
388
+ console.log(`${AGENTS[agentType].label} has no personal (user-level) instructions file — ` +
389
+ `installing into this directory instead.`);
390
+ }
192
391
  if (agentType === 'claude') {
193
- setupClaude(cwd);
392
+ setupClaude(cwd, target);
393
+ }
394
+ else {
395
+ setupGeneric(cwd, target);
396
+ }
397
+ if (target.scope === 'user') {
398
+ console.log('Installed at user scope — every session and subagent sees them, in any directory.');
399
+ console.log('Use `--scope project` to install into this directory only.');
400
+ await handleStaleProjectInstall(cwd, agentType, options.cleanProject === true);
194
401
  }
195
402
  else {
196
- setupGeneric(cwd, agentType);
403
+ console.log('Installed at project scope — only sessions started in this directory (or below) ' +
404
+ 'can load the skills.');
197
405
  }
406
+ return target;
198
407
  }
199
408
  // --- Main command ---
200
409
  export async function setupAgentCommand(options) {
201
410
  let agentType;
411
+ // An explicit `--scope` wins outright and is validated before anything is asked.
412
+ let scope = null;
413
+ if (options.scope) {
414
+ const parsedScope = parseSkillScope(options.scope);
415
+ if (!parsedScope) {
416
+ console.error(`Error: Unknown scope "${options.scope}". Valid scopes: ${skillScopeNames()}`);
417
+ process.exitCode = 1;
418
+ return;
419
+ }
420
+ scope = parsedScope;
421
+ }
202
422
  if (options.agent) {
203
423
  const parsed = parseAgentType(options.agent);
204
424
  if (!parsed) {
@@ -223,6 +443,13 @@ export async function setupAgentCommand(options) {
223
443
  agentType = await pickAgent();
224
444
  }
225
445
  }
226
- installAgentSkills(process.cwd(), agentType);
446
+ // Asked only after the agent type is settled, and only when a human is watching;
447
+ // a scripted run takes the documented default and never blocks.
448
+ if (scope === null) {
449
+ scope = process.stdin.isTTY ? await askSkillScope() : DEFAULT_SKILL_SCOPE;
450
+ }
451
+ await installAgentSkills(process.cwd(), agentType, scope, {
452
+ cleanProject: options.cleanProject === true,
453
+ });
227
454
  }
228
455
  //# sourceMappingURL=setup-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../src/commands/setup-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../src/commands/setup-agent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export declare function setupMcpCommand(options?: {
2
2
  token?: string;
3
3
  oauth?: boolean;
4
+ /** Workspace slug or UUID — the context the generated block pins by default. */
5
+ workspaceId?: string;
4
6
  area?: string;
5
7
  profile?: string;
6
8
  }): Promise<void>;