orbitmap 0.3.0 → 0.4.0-next.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/README.md +443 -212
- package/dist/adapters/cloud.d.ts +334 -0
- package/dist/adapters/cloud.js +520 -0
- package/dist/adapters/cloud.js.map +1 -0
- package/dist/adapters/factory.d.ts +11 -0
- package/dist/adapters/factory.js +27 -0
- package/dist/adapters/factory.js.map +1 -0
- package/dist/adapters/local/adapter.d.ts +351 -0
- package/dist/adapters/local/adapter.js +346 -0
- package/dist/adapters/local/adapter.js.map +1 -0
- package/dist/adapters/local/context.d.ts +111 -0
- package/dist/adapters/local/context.js +136 -0
- package/dist/adapters/local/context.js.map +1 -0
- package/dist/adapters/local/entities/documents.d.ts +85 -0
- package/dist/adapters/local/entities/documents.js +251 -0
- package/dist/adapters/local/entities/documents.js.map +1 -0
- package/dist/adapters/local/entities/planning.d.ts +108 -0
- package/dist/adapters/local/entities/planning.js +540 -0
- package/dist/adapters/local/entities/planning.js.map +1 -0
- package/dist/adapters/local/entities/tasks.d.ts +95 -0
- package/dist/adapters/local/entities/tasks.js +442 -0
- package/dist/adapters/local/entities/tasks.js.map +1 -0
- package/dist/adapters/local/entities/work-items.d.ts +110 -0
- package/dist/adapters/local/entities/work-items.js +623 -0
- package/dist/adapters/local/entities/work-items.js.map +1 -0
- package/dist/adapters/local/rules.d.ts +172 -0
- package/dist/adapters/local/rules.js +319 -0
- package/dist/adapters/local/rules.js.map +1 -0
- package/dist/adapters/local/shapes.d.ts +209 -0
- package/dist/adapters/local/shapes.js +558 -0
- package/dist/adapters/local/shapes.js.map +1 -0
- package/dist/adapters/local/store.d.ts +200 -0
- package/dist/adapters/local/store.js +665 -0
- package/dist/adapters/local/store.js.map +1 -0
- package/dist/adapters/local/types.d.ts +226 -0
- package/dist/adapters/local/types.js +41 -0
- package/dist/adapters/local/types.js.map +1 -0
- package/dist/adapters/types.d.ts +332 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/agent-instructions.d.ts +25 -9
- package/dist/agent-instructions.js +285 -237
- package/dist/agent-instructions.js.map +1 -1
- package/dist/api-client.d.ts +8 -239
- package/dist/api-client.js +8 -403
- package/dist/api-client.js.map +1 -1
- package/dist/commands/agents.d.ts +1 -1
- package/dist/commands/agents.js +10 -10
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/areas.d.ts +3 -0
- package/dist/commands/areas.js +29 -0
- package/dist/commands/areas.js.map +1 -0
- package/dist/commands/assign.d.ts +3 -2
- package/dist/commands/assign.js +47 -15
- package/dist/commands/assign.js.map +1 -1
- package/dist/commands/context.d.ts +1 -1
- package/dist/commands/context.js +18 -12
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/create-area.d.ts +7 -0
- package/dist/commands/create-area.js +29 -0
- package/dist/commands/create-area.js.map +1 -0
- package/dist/commands/create.d.ts +3 -1
- package/dist/commands/create.js +4 -2
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/dep.d.ts +2 -2
- package/dist/commands/dep.js +3 -3
- package/dist/commands/dep.js.map +1 -1
- package/dist/commands/doc-import.d.ts +1 -1
- package/dist/commands/doc-import.js +2 -2
- package/dist/commands/doc-import.js.map +1 -1
- package/dist/commands/doc-patch.d.ts +1 -1
- package/dist/commands/doc-patch.js +2 -2
- package/dist/commands/doc-patch.js.map +1 -1
- package/dist/commands/doc-share.d.ts +6 -6
- package/dist/commands/doc-share.js +13 -13
- package/dist/commands/doc-share.js.map +1 -1
- package/dist/commands/doc-update.d.ts +1 -1
- package/dist/commands/doc-update.js +2 -2
- package/dist/commands/doc-update.js.map +1 -1
- package/dist/commands/doc.d.ts +1 -1
- package/dist/commands/doc.js +5 -4
- package/dist/commands/doc.js.map +1 -1
- package/dist/commands/docs-cache.d.ts +2 -2
- package/dist/commands/docs-cache.js +3 -3
- package/dist/commands/docs-cache.js.map +1 -1
- package/dist/commands/docs.d.ts +1 -1
- package/dist/commands/docs.js +2 -2
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/get.d.ts +1 -1
- package/dist/commands/get.js +43 -3
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/ideas.d.ts +4 -4
- package/dist/commands/ideas.js +5 -5
- package/dist/commands/ideas.js.map +1 -1
- package/dist/commands/init.d.ts +17 -3
- package/dist/commands/init.js +262 -30
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/intent.d.ts +41 -0
- package/dist/commands/intent.js +237 -0
- package/dist/commands/intent.js.map +1 -0
- package/dist/commands/issues.d.ts +6 -5
- package/dist/commands/issues.js +7 -6
- package/dist/commands/issues.js.map +1 -1
- package/dist/commands/log.d.ts +1 -1
- package/dist/commands/log.js +2 -2
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mission.d.ts +42 -0
- package/dist/commands/mission.js +219 -0
- package/dist/commands/mission.js.map +1 -0
- package/dist/commands/orbit.d.ts +40 -3
- package/dist/commands/orbit.js +231 -58
- package/dist/commands/orbit.js.map +1 -1
- package/dist/commands/overview.d.ts +2 -2
- package/dist/commands/overview.js +25 -28
- package/dist/commands/overview.js.map +1 -1
- package/dist/commands/setup-agent.d.ts +11 -0
- package/dist/commands/setup-agent.js +47 -25
- package/dist/commands/setup-agent.js.map +1 -1
- package/dist/commands/setup-mcp.d.ts +1 -1
- package/dist/commands/setup-mcp.js +9 -9
- package/dist/commands/setup-mcp.js.map +1 -1
- package/dist/commands/start.d.ts +1 -1
- package/dist/commands/start.js +2 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +2 -1
- package/dist/commands/status.js +3 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/subtask.d.ts +1 -1
- package/dist/commands/subtask.js +2 -2
- package/dist/commands/subtask.js.map +1 -1
- package/dist/commands/task-edit-content.d.ts +1 -1
- package/dist/commands/task-edit-content.js +2 -2
- package/dist/commands/task-edit-content.js.map +1 -1
- package/dist/commands/task.d.ts +10 -3
- package/dist/commands/task.js +16 -8
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/tasks.d.ts +1 -1
- package/dist/commands/tasks.js +2 -2
- package/dist/commands/tasks.js.map +1 -1
- package/dist/commands/vibes.d.ts +4 -4
- package/dist/commands/vibes.js +5 -5
- package/dist/commands/vibes.js.map +1 -1
- package/dist/config.d.ts +10 -2
- package/dist/config.js +13 -4
- package/dist/config.js.map +1 -1
- package/dist/doc-cache.d.ts +2 -2
- package/dist/doc-cache.js.map +1 -1
- package/dist/errors.d.ts +19 -2
- package/dist/errors.js +35 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.js +452 -93
- package/dist/index.js.map +1 -1
- package/dist/output.js +7 -2
- package/dist/output.js.map +1 -1
- package/dist/workspace-resolve.d.ts +126 -0
- package/dist/workspace-resolve.js +203 -0
- package/dist/workspace-resolve.js.map +1 -0
- package/package.json +53 -50
package/dist/commands/init.js
CHANGED
|
@@ -1,18 +1,85 @@
|
|
|
1
1
|
import readline from 'node:readline';
|
|
2
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, join, relative, resolve } from 'node:path';
|
|
2
4
|
import { OrbitMapClient } from '../api-client.js';
|
|
3
|
-
import { saveConfig } from '../config.js';
|
|
5
|
+
import { loadConfig, saveConfig } from '../config.js';
|
|
6
|
+
import { ensureGitignore } from '../doc-cache.js';
|
|
4
7
|
import { loadCredentials, validateProfile, profileToPath } from '../oauth.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
import { LocalStore, slugify } from '../adapters/local/store.js';
|
|
9
|
+
import { LINK_FILE, ORBITMAP_DIR } from '../workspace-resolve.js';
|
|
10
|
+
import { agentLabel, detectAgent, installAgentSkills } from './setup-agent.js';
|
|
11
|
+
/**
|
|
12
|
+
* One readline interface for the whole `init` run.
|
|
13
|
+
*
|
|
14
|
+
* A fresh interface per question would swallow buffered input when stdin is piped
|
|
15
|
+
* (scripted answers), so the interface is created lazily and reused until
|
|
16
|
+
* {@link closePrompts} tears it down.
|
|
17
|
+
*/
|
|
18
|
+
let sharedRl;
|
|
19
|
+
/** Lines already delivered by the input stream but not consumed by a question yet. */
|
|
20
|
+
let bufferedLines = [];
|
|
21
|
+
/** Questions waiting for a line. */
|
|
22
|
+
let lineWaiters = [];
|
|
23
|
+
/** True once the input stream ended — every further question takes its default. */
|
|
24
|
+
let inputEnded = false;
|
|
25
|
+
function promptInterface() {
|
|
26
|
+
if (!sharedRl) {
|
|
27
|
+
inputEnded = false;
|
|
28
|
+
bufferedLines = [];
|
|
29
|
+
lineWaiters = [];
|
|
30
|
+
sharedRl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
31
|
+
sharedRl.on('line', (line) => {
|
|
32
|
+
const waiter = lineWaiters.shift();
|
|
33
|
+
if (waiter)
|
|
34
|
+
waiter(line);
|
|
35
|
+
else
|
|
36
|
+
bufferedLines.push(line);
|
|
12
37
|
});
|
|
38
|
+
sharedRl.once('close', () => {
|
|
39
|
+
inputEnded = true;
|
|
40
|
+
sharedRl = undefined;
|
|
41
|
+
while (lineWaiters.length > 0)
|
|
42
|
+
lineWaiters.shift()?.(undefined);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return sharedRl;
|
|
46
|
+
}
|
|
47
|
+
function closePrompts() {
|
|
48
|
+
const rl = sharedRl;
|
|
49
|
+
sharedRl = undefined;
|
|
50
|
+
rl?.close();
|
|
51
|
+
inputEnded = false;
|
|
52
|
+
bufferedLines = [];
|
|
53
|
+
lineWaiters = [];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Ask one question and read one line.
|
|
57
|
+
*
|
|
58
|
+
* Piped stdin delivers every line in a single burst and then ends, so lines are buffered
|
|
59
|
+
* and handed out one question at a time; once the stream is exhausted the caller gets the
|
|
60
|
+
* default instead of hanging forever.
|
|
61
|
+
*/
|
|
62
|
+
async function prompt(question, defaultValue) {
|
|
63
|
+
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
64
|
+
const text = `${question}${suffix}: `;
|
|
65
|
+
const answer = await new Promise((resolve) => {
|
|
66
|
+
if (bufferedLines.length > 0) {
|
|
67
|
+
process.stdout.write(text);
|
|
68
|
+
resolve(bufferedLines.shift());
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (inputEnded) {
|
|
72
|
+
resolve(undefined);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
promptInterface();
|
|
76
|
+
process.stdout.write(text);
|
|
77
|
+
lineWaiters.push(resolve);
|
|
13
78
|
});
|
|
79
|
+
return (answer ?? '').trim() || defaultValue || '';
|
|
14
80
|
}
|
|
15
81
|
async function promptSecret(question) {
|
|
82
|
+
closePrompts();
|
|
16
83
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
17
84
|
return new Promise((resolve) => {
|
|
18
85
|
rl.question(`${question}: `, (answer) => {
|
|
@@ -40,7 +107,65 @@ async function promptSecret(question) {
|
|
|
40
107
|
});
|
|
41
108
|
}
|
|
42
109
|
export async function initCommand(options = {}) {
|
|
110
|
+
try {
|
|
111
|
+
await runInit(options);
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
closePrompts();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function runInit(options) {
|
|
43
118
|
const apiKeyInput = options.key || options.token;
|
|
119
|
+
// Scripted cloud setup — unchanged behaviour.
|
|
120
|
+
if (apiKeyInput) {
|
|
121
|
+
await cloudInit(options, apiKeyInput);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Scripted local setup.
|
|
125
|
+
if (options.local) {
|
|
126
|
+
await localInit(options, { interactive: false });
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const choice = await askMode();
|
|
130
|
+
if (choice === undefined) {
|
|
131
|
+
console.error('Error: please answer 1 (cloud) or 2 (local files).');
|
|
132
|
+
process.exitCode = 1;
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (choice === 'local') {
|
|
136
|
+
await localInit(options, { interactive: true });
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
await cloudInit(options);
|
|
140
|
+
}
|
|
141
|
+
// ── Mode question (spec §5) ──────────────────────────────────────────────────
|
|
142
|
+
async function askMode() {
|
|
143
|
+
console.log('');
|
|
144
|
+
console.log(' OrbitMap — agentic project management.');
|
|
145
|
+
console.log('');
|
|
146
|
+
console.log(' How do you want to store your OrbitMap data?');
|
|
147
|
+
console.log('');
|
|
148
|
+
console.log(' [1] Orbitmap.ai account (cloud)');
|
|
149
|
+
console.log(' Data lives in your Orbitmap workspace: web UI, team collaboration,');
|
|
150
|
+
console.log(' multiple agents and people working together. Requires an account');
|
|
151
|
+
console.log(' (https://orbitmap.ai).');
|
|
152
|
+
console.log(' [2] Local files (open source, no account)');
|
|
153
|
+
console.log(' Data lives in a directory you choose, as plain Markdown files —');
|
|
154
|
+
console.log(' commit them to git if you want. Solo developer mode. You can move');
|
|
155
|
+
console.log(' to a cloud workspace later.');
|
|
156
|
+
console.log('');
|
|
157
|
+
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
158
|
+
const answer = (await prompt(' Choice [1/2]')).trim();
|
|
159
|
+
if (answer === '1')
|
|
160
|
+
return 'cloud';
|
|
161
|
+
if (answer === '2')
|
|
162
|
+
return 'local';
|
|
163
|
+
console.log(' Please enter 1 or 2.');
|
|
164
|
+
}
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
// ── Path 1: cloud (behaviour unchanged) ──────────────────────────────────────
|
|
168
|
+
async function cloudInit(options, apiKeyInput) {
|
|
44
169
|
const nonInteractive = !!apiKeyInput;
|
|
45
170
|
let profile = 'full';
|
|
46
171
|
if (options.profile) {
|
|
@@ -57,26 +182,31 @@ export async function initCommand(options = {}) {
|
|
|
57
182
|
if (nonInteractive) {
|
|
58
183
|
// Non-interactive mode: --key or --token provided
|
|
59
184
|
const apiKey = apiKeyInput;
|
|
60
|
-
const
|
|
185
|
+
const area = options.area || '';
|
|
61
186
|
console.log('Validating credentials...');
|
|
62
|
-
const client = new OrbitMapClient(apiKey,
|
|
187
|
+
const client = new OrbitMapClient(apiKey, area || undefined, fullApiUrl);
|
|
63
188
|
try {
|
|
64
|
-
const response = (await client.getContext(
|
|
65
|
-
|
|
189
|
+
const response = (await client.getContext(area || undefined));
|
|
190
|
+
// Extend, do not replace: unrelated keys (`mode`, `workspace_path`, the legacy
|
|
191
|
+
// `project_id`) belong to other projects and must survive a cloud `init`.
|
|
192
|
+
const existing = await loadConfig();
|
|
193
|
+
const config = {
|
|
194
|
+
...existing,
|
|
66
195
|
api_url: fullApiUrl,
|
|
67
196
|
api_key: apiKey,
|
|
68
|
-
...(
|
|
69
|
-
}
|
|
197
|
+
...(area ? { area } : {}),
|
|
198
|
+
};
|
|
199
|
+
await saveConfig(config);
|
|
70
200
|
const agentName = response.data.agent.name;
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
73
|
-
console.log(`✓ Connected as ${agentName} on
|
|
201
|
+
const areaName = response.data.area?.name;
|
|
202
|
+
if (areaName) {
|
|
203
|
+
console.log(`✓ Connected as ${agentName} on area ${areaName}`);
|
|
74
204
|
}
|
|
75
205
|
else {
|
|
76
206
|
console.log(`✓ Connected as ${agentName}`);
|
|
77
207
|
}
|
|
78
208
|
console.log('Configuration saved to ~/.orbitmap/config.json');
|
|
79
|
-
printMcpConfig(profile, apiKey, response.data.
|
|
209
|
+
printMcpConfig(profile, apiKey, response.data.area?.id || area);
|
|
80
210
|
}
|
|
81
211
|
catch (error) {
|
|
82
212
|
if (error instanceof Error) {
|
|
@@ -86,7 +216,9 @@ export async function initCommand(options = {}) {
|
|
|
86
216
|
console.error('Validation failed: could not connect to API.');
|
|
87
217
|
}
|
|
88
218
|
process.exitCode = 1;
|
|
219
|
+
return;
|
|
89
220
|
}
|
|
221
|
+
await installSkillsStep(options);
|
|
90
222
|
return;
|
|
91
223
|
}
|
|
92
224
|
// Interactive mode
|
|
@@ -101,26 +233,31 @@ export async function initCommand(options = {}) {
|
|
|
101
233
|
process.exitCode = 1;
|
|
102
234
|
return;
|
|
103
235
|
}
|
|
104
|
-
const
|
|
236
|
+
const area = options.area || await prompt('Default Area ID (optional, press Enter to skip)');
|
|
105
237
|
console.log('\nValidating credentials...');
|
|
106
|
-
const client = new OrbitMapClient(apiKey,
|
|
238
|
+
const client = new OrbitMapClient(apiKey, area || undefined, fullApiUrl);
|
|
107
239
|
try {
|
|
108
|
-
const response = (await client.getContext(
|
|
109
|
-
|
|
240
|
+
const response = (await client.getContext(area || undefined));
|
|
241
|
+
// Extend, do not replace: unrelated keys (`mode`, `workspace_path`, the legacy
|
|
242
|
+
// `project_id`) belong to other projects and must survive a cloud `init`.
|
|
243
|
+
const existing = await loadConfig();
|
|
244
|
+
const config = {
|
|
245
|
+
...existing,
|
|
110
246
|
api_url: fullApiUrl,
|
|
111
247
|
api_key: apiKey,
|
|
112
|
-
...(
|
|
113
|
-
}
|
|
248
|
+
...(area ? { area } : {}),
|
|
249
|
+
};
|
|
250
|
+
await saveConfig(config);
|
|
114
251
|
const agentName = response.data.agent.name;
|
|
115
|
-
const
|
|
116
|
-
if (
|
|
117
|
-
console.log(`\n✓ Connected as ${agentName} on
|
|
252
|
+
const areaName = response.data.area?.name;
|
|
253
|
+
if (areaName) {
|
|
254
|
+
console.log(`\n✓ Connected as ${agentName} on area ${areaName}`);
|
|
118
255
|
}
|
|
119
256
|
else {
|
|
120
257
|
console.log(`\n✓ Connected as ${agentName}`);
|
|
121
258
|
}
|
|
122
259
|
console.log('Configuration saved to ~/.orbitmap/config.json');
|
|
123
|
-
printMcpConfig(profile, apiKey, response.data.
|
|
260
|
+
printMcpConfig(profile, apiKey, response.data.area?.id || area);
|
|
124
261
|
}
|
|
125
262
|
catch (error) {
|
|
126
263
|
if (error instanceof Error) {
|
|
@@ -130,11 +267,106 @@ export async function initCommand(options = {}) {
|
|
|
130
267
|
console.error('\nValidation failed: could not connect to API.');
|
|
131
268
|
}
|
|
132
269
|
process.exitCode = 1;
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
await installSkillsStep(options);
|
|
273
|
+
}
|
|
274
|
+
// ── Path 2: local files (spec §5) ────────────────────────────────────────────
|
|
275
|
+
const DEFAULT_WORKSPACE_DIR = `./${ORBITMAP_DIR}`;
|
|
276
|
+
async function localInit(options, { interactive }) {
|
|
277
|
+
const cwd = process.cwd();
|
|
278
|
+
const cwdName = basename(cwd) || 'orbitmap';
|
|
279
|
+
let workspaceInput = options.workspace ?? '';
|
|
280
|
+
let workspaceName = options.workspaceName ?? '';
|
|
281
|
+
let areaName = options.area ?? '';
|
|
282
|
+
if (interactive) {
|
|
283
|
+
if (!workspaceInput) {
|
|
284
|
+
workspaceInput = await prompt(' Where should the workspace live?', `./${ORBITMAP_DIR}`);
|
|
285
|
+
}
|
|
286
|
+
if (!workspaceName) {
|
|
287
|
+
workspaceName = await prompt(' Workspace name', cwdName);
|
|
288
|
+
}
|
|
289
|
+
if (!areaName) {
|
|
290
|
+
areaName = await prompt(' First area (usually = this repository)', cwdName);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
const workspaceDir = resolve(cwd, workspaceInput || DEFAULT_WORKSPACE_DIR);
|
|
294
|
+
const name = workspaceName || cwdName;
|
|
295
|
+
const area = areaName || cwdName;
|
|
296
|
+
const areaSlug = slugify(area);
|
|
297
|
+
// The in-project workspace is exactly `<cwd>/.orbitmap` — the marker the mode
|
|
298
|
+
// auto-detect and the path ladder find on their own (§3.3). Anything else counts as
|
|
299
|
+
// "outside the project" and gets a `link.json` pointer, which is the marker in that case.
|
|
300
|
+
const inProject = workspaceDir === join(cwd, ORBITMAP_DIR);
|
|
301
|
+
// 1. Scaffold (§4.1) — idempotent.
|
|
302
|
+
const store = new LocalStore(workspaceDir);
|
|
303
|
+
const workspace = await store.scaffold({ name, area: { name: area, slug: areaSlug } });
|
|
304
|
+
console.log('');
|
|
305
|
+
console.log(`Workspace "${workspace.name}" ready at ${workspaceDir}`);
|
|
306
|
+
console.log(`First area: ${area} (${areaSlug})`);
|
|
307
|
+
// 2. Global config (§5 step 2): nothing that could change another project's mode.
|
|
308
|
+
// No `mode`, no `workspace_path` — this project is local because of its own
|
|
309
|
+
// `.orbitmap/` marker (step 1 or the `link.json` of step 3), and a global field
|
|
310
|
+
// would silently flip every project on the machine that never ran `init` itself.
|
|
311
|
+
// The only global write is a first-run convenience: fill `area` when it is empty.
|
|
312
|
+
const existing = await loadConfig();
|
|
313
|
+
if (!existing.area) {
|
|
314
|
+
const config = { ...existing, area: areaSlug };
|
|
315
|
+
await saveConfig(config);
|
|
316
|
+
console.log(`Set the default area to "${areaSlug}" in ~/.orbitmap/config.json`);
|
|
317
|
+
}
|
|
318
|
+
// 3. Project pointer / gitignore.
|
|
319
|
+
if (inProject) {
|
|
320
|
+
console.log('');
|
|
321
|
+
console.log(`Note: ${join('.', ORBITMAP_DIR)} was NOT added to .gitignore — the workspace lives`);
|
|
322
|
+
console.log('inside this project and its Markdown files are meant to be committed,');
|
|
323
|
+
console.log('so your task history travels with the repository.');
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
const linkDir = join(cwd, ORBITMAP_DIR);
|
|
327
|
+
const linkFile = join(linkDir, LINK_FILE);
|
|
328
|
+
await mkdir(linkDir, { recursive: true });
|
|
329
|
+
await writeFile(linkFile, JSON.stringify({ workspace: workspaceDir, area: areaSlug }, null, 2) + '\n', 'utf-8');
|
|
330
|
+
ensureGitignore();
|
|
331
|
+
console.log(`Wrote ${relative(cwd, linkFile) || linkFile} pointing at the workspace.`);
|
|
332
|
+
console.log(`Added ${ORBITMAP_DIR}/ to .gitignore (it only holds the pointer and the doc cache).`);
|
|
333
|
+
}
|
|
334
|
+
// 4. Skills, then the summary.
|
|
335
|
+
await installSkillsStep(options);
|
|
336
|
+
console.log('');
|
|
337
|
+
console.log('Done. OrbitMap is running in local mode.');
|
|
338
|
+
console.log(` Data lives in ${workspaceDir} (plain Markdown files)`);
|
|
339
|
+
console.log(` Active area ${areaSlug}`);
|
|
340
|
+
console.log(' Switch areas orbitmap areas → orbitmap <cmd> --area <slug>');
|
|
341
|
+
console.log(' (or set ORBITMAP_AREA / the `area` key in ~/.orbitmap/config.json)');
|
|
342
|
+
console.log(' See your tasks orbitmap tasks');
|
|
343
|
+
console.log(' Start working orbitmap start');
|
|
344
|
+
console.log('');
|
|
345
|
+
console.log('This choice applies to THIS project directory only — it is detected from');
|
|
346
|
+
console.log(`${join('.', ORBITMAP_DIR)} here. Other projects keep working in whatever mode they`);
|
|
347
|
+
console.log('already use (cloud projects stay on their cloud configuration).');
|
|
348
|
+
}
|
|
349
|
+
// ── Step 3 (both modes): install the agent skills ────────────────────────────
|
|
350
|
+
async function installSkillsStep(options) {
|
|
351
|
+
if (options.skills === false)
|
|
352
|
+
return;
|
|
353
|
+
const detected = detectAgent();
|
|
354
|
+
if (!detected) {
|
|
355
|
+
console.log('');
|
|
356
|
+
console.log('No coding agent detected here — run `orbitmap setup-agent` to install the skills.');
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
console.log('');
|
|
360
|
+
if (process.stdin.isTTY) {
|
|
361
|
+
const answer = (await prompt(`Install OrbitMap skills for ${agentLabel(detected)}? [Y/n]`)).toLowerCase();
|
|
362
|
+
if (answer === 'n' || answer === 'no')
|
|
363
|
+
return;
|
|
133
364
|
}
|
|
365
|
+
installAgentSkills(process.cwd(), detected);
|
|
134
366
|
}
|
|
135
367
|
// ── MCP config generation ──
|
|
136
368
|
const MCP_BASE_URL = 'https://mcp.orbitmap.ai';
|
|
137
|
-
async function printMcpConfig(profile, apiKey,
|
|
369
|
+
async function printMcpConfig(profile, apiKey, area) {
|
|
138
370
|
const profilePath = profileToPath(profile);
|
|
139
371
|
const mcpUrl = profilePath === '/' ? MCP_BASE_URL + '/' : MCP_BASE_URL + profilePath;
|
|
140
372
|
const oauthCreds = await loadCredentials();
|
|
@@ -153,7 +385,7 @@ async function printMcpConfig(profile, apiKey, projectId) {
|
|
|
153
385
|
url: mcpUrl,
|
|
154
386
|
headers: {
|
|
155
387
|
Authorization: `Bearer ${apiKey}`,
|
|
156
|
-
...(
|
|
388
|
+
...(area ? { 'X-Orbitmap-Area': area } : {}),
|
|
157
389
|
},
|
|
158
390
|
};
|
|
159
391
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare function intentListCommand(options: {
|
|
2
|
+
json: boolean;
|
|
3
|
+
area?: string;
|
|
4
|
+
status?: string;
|
|
5
|
+
limit?: string;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
export declare function intentShowCommand(idOrNumber: string, options: {
|
|
8
|
+
json: boolean;
|
|
9
|
+
area?: string;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
export declare function intentCreateCommand(title: string, options: {
|
|
12
|
+
json: boolean;
|
|
13
|
+
area?: string;
|
|
14
|
+
outcome?: string;
|
|
15
|
+
status?: string;
|
|
16
|
+
orbit?: string;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
export declare function intentUpdateCommand(idOrNumber: string, options: {
|
|
19
|
+
json: boolean;
|
|
20
|
+
area?: string;
|
|
21
|
+
title?: string;
|
|
22
|
+
outcome?: string;
|
|
23
|
+
status?: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
export declare function intentLinkCommand(idOrNumber: string, options: {
|
|
26
|
+
json: boolean;
|
|
27
|
+
area?: string;
|
|
28
|
+
type: string;
|
|
29
|
+
id: string;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
export declare function intentUnlinkCommand(idOrNumber: string, options: {
|
|
32
|
+
json: boolean;
|
|
33
|
+
area?: string;
|
|
34
|
+
type: string;
|
|
35
|
+
id: string;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
export declare function intentOrbitCommand(idOrNumber: string, orbitId: string | undefined, options: {
|
|
38
|
+
json: boolean;
|
|
39
|
+
area?: string;
|
|
40
|
+
clear?: boolean;
|
|
41
|
+
}): Promise<void>;
|