@contextium/cli 1.0.50 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +420 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0bnC,eAAO,MAAM,YAAY,SAeM,CAAA"}
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
3
|
+
import { loadConfig } from '../lib/config.js';
|
|
4
|
+
import { chalk, ora } from '../lib/output.js';
|
|
5
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
6
|
+
async function resolveWorkspace(client, workspaceOption) {
|
|
7
|
+
const { data: workspacesData } = await client.get('/workspaces');
|
|
8
|
+
const workspaces = workspacesData.data || workspacesData;
|
|
9
|
+
if (workspaceOption) {
|
|
10
|
+
const ws = workspaces.find((w) => w.slug?.toLowerCase() === workspaceOption.toLowerCase() ||
|
|
11
|
+
w.name?.toLowerCase() === workspaceOption.toLowerCase() ||
|
|
12
|
+
w.id === workspaceOption);
|
|
13
|
+
if (!ws)
|
|
14
|
+
throw new Error(`Workspace "${workspaceOption}" not found`);
|
|
15
|
+
return ws;
|
|
16
|
+
}
|
|
17
|
+
if (workspaces.length === 1)
|
|
18
|
+
return workspaces[0];
|
|
19
|
+
throw new Error('Multiple workspaces found. Specify one with -w, --workspace.');
|
|
20
|
+
}
|
|
21
|
+
function toSlug(name) {
|
|
22
|
+
return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
|
|
23
|
+
}
|
|
24
|
+
function inferQualityRole(context) {
|
|
25
|
+
const c = context.toLowerCase();
|
|
26
|
+
if (/\b(code|app|api|software|build|feature|engineer|develop|backend|frontend)\b/.test(c))
|
|
27
|
+
return 'Regression Tester';
|
|
28
|
+
if (/\b(write|paper|document|article|essay|report|draft|blog|whitepaper)\b/.test(c))
|
|
29
|
+
return 'Proofreader';
|
|
30
|
+
if (/\b(pitch|deck|investor|present|slide)\b/.test(c))
|
|
31
|
+
return 'Deck Reviewer';
|
|
32
|
+
if (/\b(market|campaign|copy|brand|content|ad|social)\b/.test(c))
|
|
33
|
+
return 'Copy Reviewer';
|
|
34
|
+
return 'Quality Reviewer';
|
|
35
|
+
}
|
|
36
|
+
function buildProjectState(name, description, today) {
|
|
37
|
+
const about = description || name;
|
|
38
|
+
return `# ${name} — Project State
|
|
39
|
+
|
|
40
|
+
## Current Position
|
|
41
|
+
**Phase:** Phase 1: Foundation
|
|
42
|
+
**Status:** Not Started
|
|
43
|
+
**Last Updated:** ${today}
|
|
44
|
+
**Next Action:** Begin Phase 1
|
|
45
|
+
|
|
46
|
+
## About
|
|
47
|
+
${about}
|
|
48
|
+
|
|
49
|
+
## Phases
|
|
50
|
+
|
|
51
|
+
### Phase 1: Foundation
|
|
52
|
+
**Status:** Not Started
|
|
53
|
+
Initial setup, research, and planning for ${name}.
|
|
54
|
+
|
|
55
|
+
### Phase 2: Core Build
|
|
56
|
+
**Status:** Not Started
|
|
57
|
+
Primary implementation phase.
|
|
58
|
+
|
|
59
|
+
### Phase 3: Polish & Launch
|
|
60
|
+
**Status:** Not Started
|
|
61
|
+
Testing, refinement, and delivery.
|
|
62
|
+
|
|
63
|
+
## Decisions Log
|
|
64
|
+
| Decision | Rationale | Phase |
|
|
65
|
+
|----------|-----------|-------|
|
|
66
|
+
| _(none yet)_ | | |
|
|
67
|
+
|
|
68
|
+
## Seeds
|
|
69
|
+
| Idea | When to revisit | Context |
|
|
70
|
+
|------|-----------------|---------|
|
|
71
|
+
| _(none yet)_ | | |
|
|
72
|
+
|
|
73
|
+
## Notes
|
|
74
|
+
_(ad-hoc notes that don't fit elsewhere)_
|
|
75
|
+
`;
|
|
76
|
+
}
|
|
77
|
+
function buildResearchBrief(name, description, deep, today) {
|
|
78
|
+
const scope = description || (deep ? `A comprehensive investigation into ${name}.` : `An investigation into ${name}.`);
|
|
79
|
+
if (deep) {
|
|
80
|
+
return `# Deep Dive: ${name}
|
|
81
|
+
|
|
82
|
+
**Started:** ${today}
|
|
83
|
+
**Status:** In Progress
|
|
84
|
+
**Depth:** Deep
|
|
85
|
+
|
|
86
|
+
## Scope
|
|
87
|
+
${scope}
|
|
88
|
+
|
|
89
|
+
## Research Questions
|
|
90
|
+
_(to be defined by Research Lead)_
|
|
91
|
+
|
|
92
|
+
## Landscape Overview
|
|
93
|
+
_(to be populated)_
|
|
94
|
+
|
|
95
|
+
## Key Findings
|
|
96
|
+
_(to be populated)_
|
|
97
|
+
|
|
98
|
+
## Competing Approaches
|
|
99
|
+
_(to be populated)_
|
|
100
|
+
|
|
101
|
+
## Risks & Concerns
|
|
102
|
+
_(to be populated)_
|
|
103
|
+
|
|
104
|
+
## Recommendations
|
|
105
|
+
_(to be populated)_
|
|
106
|
+
|
|
107
|
+
## Sources
|
|
108
|
+
_(to be populated)_
|
|
109
|
+
`;
|
|
110
|
+
}
|
|
111
|
+
return `# Research: ${name}
|
|
112
|
+
|
|
113
|
+
**Started:** ${today}
|
|
114
|
+
**Status:** In Progress
|
|
115
|
+
**Depth:** Quick
|
|
116
|
+
|
|
117
|
+
## Scope
|
|
118
|
+
${scope}
|
|
119
|
+
|
|
120
|
+
## Research Questions
|
|
121
|
+
- What is ${name} and how does it work?
|
|
122
|
+
- What are the key considerations?
|
|
123
|
+
- What are the best existing approaches or solutions?
|
|
124
|
+
|
|
125
|
+
## Findings
|
|
126
|
+
_(to be populated by Research Agent)_
|
|
127
|
+
|
|
128
|
+
## Sources
|
|
129
|
+
_(to be populated)_
|
|
130
|
+
|
|
131
|
+
## Summary
|
|
132
|
+
_(to be populated)_
|
|
133
|
+
`;
|
|
134
|
+
}
|
|
135
|
+
function escapeTableCell(text) {
|
|
136
|
+
return text.replace(/\|/g, '\\|').replace(/\n/g, ' ');
|
|
137
|
+
}
|
|
138
|
+
function appendToSeedsSection(content, idea, today) {
|
|
139
|
+
const seedsHeader = '## Seeds';
|
|
140
|
+
const idx = content.indexOf(seedsHeader);
|
|
141
|
+
const newRow = `| ${escapeTableCell(idea)} | When relevant | Captured ${today} |`;
|
|
142
|
+
if (idx === -1) {
|
|
143
|
+
return content.trimEnd() + `\n\n## Seeds\n| Idea | When to revisit | Context |\n|------|-----------------|----------|\n${newRow}\n`;
|
|
144
|
+
}
|
|
145
|
+
const afterSeeds = content.slice(idx);
|
|
146
|
+
const nextSectionMatch = afterSeeds.match(/\n## /);
|
|
147
|
+
const seedsBlock = nextSectionMatch ? afterSeeds.slice(0, nextSectionMatch.index) : afterSeeds;
|
|
148
|
+
if (seedsBlock.includes('_(none yet)_')) {
|
|
149
|
+
const updated = content.replace(/\|\s*_\(none yet\)_\s*\|\s*\|\s*\|/, newRow);
|
|
150
|
+
if (updated !== content)
|
|
151
|
+
return updated;
|
|
152
|
+
}
|
|
153
|
+
const insertAt = nextSectionMatch ? idx + (nextSectionMatch.index ?? seedsBlock.length) : content.length;
|
|
154
|
+
return content.slice(0, insertAt).trimEnd() + '\n' + newRow + '\n' + content.slice(insertAt);
|
|
155
|
+
}
|
|
156
|
+
// ─── start project ────────────────────────────────────────────────────────────
|
|
157
|
+
const startProjectCommand = new Command('project')
|
|
158
|
+
.description('Autonomously create a full project workspace (library, agents, workflow, project-state.md)')
|
|
159
|
+
.argument('<name>', 'Project name')
|
|
160
|
+
.option('-d, --description <text>', 'What the project is about')
|
|
161
|
+
.option('-w, --workspace <slug>', 'Workspace name, slug, or ID')
|
|
162
|
+
.action(async (name, options) => {
|
|
163
|
+
const spinner = ora(`Setting up project "${name}"...`).start();
|
|
164
|
+
try {
|
|
165
|
+
const config = await loadConfig();
|
|
166
|
+
const client = new ApiClient(config.api_key, config.api_url);
|
|
167
|
+
const workspace = await resolveWorkspace(client, options.workspace);
|
|
168
|
+
const wid = workspace.id;
|
|
169
|
+
const desc = options.description || '';
|
|
170
|
+
const today = new Date().toISOString().split('T')[0];
|
|
171
|
+
// Check for duplicate library
|
|
172
|
+
const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`);
|
|
173
|
+
const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []);
|
|
174
|
+
const existing = projectList.find((p) => p.name?.toLowerCase() === name.toLowerCase());
|
|
175
|
+
if (existing) {
|
|
176
|
+
spinner.warn(`Project "${name}" already exists`);
|
|
177
|
+
console.log(` Library: ${chalk.dim(existing.id)}`);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// Create library
|
|
181
|
+
// Creating library
|
|
182
|
+
const { data: library } = await client.post(`/workspaces/${wid}/projects`, { name, slug: toSlug(name), description: desc });
|
|
183
|
+
const libraryId = library.id;
|
|
184
|
+
// Create agents
|
|
185
|
+
const qualityRole = inferQualityRole(name + ' ' + desc);
|
|
186
|
+
const agentDefs = [
|
|
187
|
+
{ name: `${name} — Project Architect`, systemPrompt: `You are the Project Architect for **${name}**. Your role is to define the technical direction, break the project into clear phases, make and lock architectural decisions, and ensure consistency across all work.\n\nProject context: ${desc || name}` },
|
|
188
|
+
{ name: `${name} — Project Planner`, systemPrompt: `You are the Project Planner for **${name}**. Your role is to break the project into well-scoped phases, estimate effort, sequence work correctly, and keep project-state.md up to date as work progresses.\n\nProject context: ${desc || name}` },
|
|
189
|
+
{ name: `${name} — Researcher`, systemPrompt: `You are the Researcher for **${name}**. Your role is to investigate technical unknowns, gather relevant context, compare approaches, and surface findings that inform the project's direction.\n\nProject context: ${desc || name}` },
|
|
190
|
+
{ name: `${name} — ${qualityRole}`, systemPrompt: `You are the ${qualityRole} for **${name}**. Your role is to review deliverables for quality, correctness, and completeness before they are considered done.\n\nProject context: ${desc || name}` },
|
|
191
|
+
];
|
|
192
|
+
const agents = [];
|
|
193
|
+
for (const def of agentDefs) {
|
|
194
|
+
// Creating agent
|
|
195
|
+
const { data: agent } = await client.post(`/workspaces/${wid}/agents`, { name: def.name, systemPrompt: def.systemPrompt });
|
|
196
|
+
agents.push({ name: def.name, id: agent.id });
|
|
197
|
+
}
|
|
198
|
+
// Create workflow
|
|
199
|
+
// Creating workflow
|
|
200
|
+
const { data: workflow } = await client.post(`/workspaces/${wid}/workflows`, {
|
|
201
|
+
name,
|
|
202
|
+
description: `Project workspace for ${name}`,
|
|
203
|
+
agentIds: agents.map(a => a.id),
|
|
204
|
+
projectIds: [libraryId],
|
|
205
|
+
});
|
|
206
|
+
// Create project-state.md
|
|
207
|
+
// Writing project-state.md
|
|
208
|
+
const { data: stateFile } = await client.post(`/projects/${libraryId}/files`, {
|
|
209
|
+
title: `${name} — Project State`,
|
|
210
|
+
path: 'project-state.md',
|
|
211
|
+
content: buildProjectState(name, desc, today),
|
|
212
|
+
});
|
|
213
|
+
spinner.succeed(`Project "${name}" is ready`);
|
|
214
|
+
console.log(` Library: ${chalk.bold(name)} ${chalk.dim('(' + libraryId + ')')}`);
|
|
215
|
+
console.log(` Workflow: ${chalk.bold(name)} ${chalk.dim('(' + workflow.id + ')')}`);
|
|
216
|
+
console.log(` Agents: ${agents.map(a => a.name.split('—')[1]?.trim()).join(', ')}`);
|
|
217
|
+
console.log(` Files: ${chalk.dim(stateFile.path || 'project-state.md')}`);
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
spinner.fail(err.message || 'Failed to set up project');
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
// ─── start research ───────────────────────────────────────────────────────────
|
|
225
|
+
const startResearchCommand = new Command('research')
|
|
226
|
+
.description('Autonomously create a research workspace (library, agents, workflow, research-brief.md)')
|
|
227
|
+
.argument('<name>', 'Research topic name')
|
|
228
|
+
.option('-d, --description <text>', 'What to research')
|
|
229
|
+
.option('--depth <level>', 'quick (default) or deep', 'quick')
|
|
230
|
+
.option('-w, --workspace <slug>', 'Workspace name, slug, or ID')
|
|
231
|
+
.action(async (name, options) => {
|
|
232
|
+
const isDeep = options.depth === 'deep';
|
|
233
|
+
const libraryName = `Research: ${name}`;
|
|
234
|
+
const workflowName = isDeep ? `${name} Deep Dive` : `${name} Research`;
|
|
235
|
+
const spinner = ora(`Setting up research workspace "${workflowName}"...`).start();
|
|
236
|
+
try {
|
|
237
|
+
const config = await loadConfig();
|
|
238
|
+
const client = new ApiClient(config.api_key, config.api_url);
|
|
239
|
+
const workspace = await resolveWorkspace(client, options.workspace);
|
|
240
|
+
const wid = workspace.id;
|
|
241
|
+
const desc = options.description || '';
|
|
242
|
+
const today = new Date().toISOString().split('T')[0];
|
|
243
|
+
// Check for duplicate
|
|
244
|
+
const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`);
|
|
245
|
+
const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []);
|
|
246
|
+
const existing = projectList.find((p) => p.name?.toLowerCase() === libraryName.toLowerCase());
|
|
247
|
+
if (existing) {
|
|
248
|
+
spinner.warn(`Research workspace "${libraryName}" already exists`);
|
|
249
|
+
console.log(` Library: ${chalk.dim(existing.id)}`);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
// Create research library
|
|
253
|
+
// Creating research library
|
|
254
|
+
const { data: library } = await client.post(`/workspaces/${wid}/projects`, { name: libraryName, slug: toSlug(libraryName), description: desc });
|
|
255
|
+
const libraryId = library.id;
|
|
256
|
+
// Create agents
|
|
257
|
+
const agents = [];
|
|
258
|
+
if (isDeep) {
|
|
259
|
+
// Creating Research Lead
|
|
260
|
+
const { data: lead } = await client.post(`/workspaces/${wid}/agents`, {
|
|
261
|
+
name: `${name} — Research Lead`,
|
|
262
|
+
systemPrompt: `You are the Research Lead for **${name}**. Your role is to drive a thorough investigation of this topic, structure findings across multiple angles, compare approaches and solutions, and produce clear, citable research documents.\n\nResearch context: ${desc || name}`,
|
|
263
|
+
});
|
|
264
|
+
agents.push({ name: `${name} — Research Lead`, id: lead.id });
|
|
265
|
+
// Creating Fact Checker
|
|
266
|
+
const { data: checker } = await client.post(`/workspaces/${wid}/agents`, {
|
|
267
|
+
name: `${name} — Fact Checker`,
|
|
268
|
+
systemPrompt: `You are the Fact Checker for the **${name}** research project. Your role is to validate every claim made by the Research Lead — verify against primary sources, flag unsupported assertions, and ensure all citations are accurate and traceable.\n\nResearch context: ${desc || name}`,
|
|
269
|
+
});
|
|
270
|
+
agents.push({ name: `${name} — Fact Checker`, id: checker.id });
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
// Creating Research Agent
|
|
274
|
+
const { data: researcher } = await client.post(`/workspaces/${wid}/agents`, {
|
|
275
|
+
name: `${name} — Research Agent`,
|
|
276
|
+
systemPrompt: `You are the Research Agent for **${name}**. Your role is to investigate this topic, surface key findings, compare existing solutions, and summarise results clearly in the research library.\n\nResearch context: ${desc || name}`,
|
|
277
|
+
});
|
|
278
|
+
agents.push({ name: `${name} — Research Agent`, id: researcher.id });
|
|
279
|
+
}
|
|
280
|
+
// Create workflow
|
|
281
|
+
// Creating workflow
|
|
282
|
+
const { data: workflow } = await client.post(`/workspaces/${wid}/workflows`, {
|
|
283
|
+
name: workflowName,
|
|
284
|
+
description: `Research workspace for ${name}`,
|
|
285
|
+
agentIds: agents.map(a => a.id),
|
|
286
|
+
projectIds: [libraryId],
|
|
287
|
+
});
|
|
288
|
+
// Create research-brief.md
|
|
289
|
+
// Writing research-brief.md
|
|
290
|
+
const { data: briefFile } = await client.post(`/projects/${libraryId}/files`, {
|
|
291
|
+
title: `${name} — Research Brief`,
|
|
292
|
+
path: 'research-brief.md',
|
|
293
|
+
content: buildResearchBrief(name, desc, isDeep, today),
|
|
294
|
+
});
|
|
295
|
+
spinner.succeed(`Research workspace ready`);
|
|
296
|
+
console.log(` Library: ${chalk.bold(libraryName)} ${chalk.dim('(' + libraryId + ')')}`);
|
|
297
|
+
console.log(` Workflow: ${chalk.bold(workflowName)} ${chalk.dim('(' + workflow.id + ')')}`);
|
|
298
|
+
console.log(` Agents: ${agents.map(a => a.name.split('—')[1]?.trim()).join(', ')}`);
|
|
299
|
+
console.log(` Files: ${chalk.dim(briefFile.path || 'research-brief.md')}`);
|
|
300
|
+
}
|
|
301
|
+
catch (err) {
|
|
302
|
+
spinner.fail(err.message || 'Failed to set up research workspace');
|
|
303
|
+
process.exit(1);
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
// ─── start idea ───────────────────────────────────────────────────────────────
|
|
307
|
+
const startIdeaCommand = new Command('idea')
|
|
308
|
+
.description('Capture a quick idea or note into a project\'s seeds or Quick Notes')
|
|
309
|
+
.argument('<text>', 'The idea or note to capture')
|
|
310
|
+
.option('-p, --project <name>', 'Project to attach the idea to')
|
|
311
|
+
.option('-w, --workspace <slug>', 'Workspace name, slug, or ID')
|
|
312
|
+
.action(async (text, options) => {
|
|
313
|
+
const spinner = ora('Saving idea...').start();
|
|
314
|
+
try {
|
|
315
|
+
const config = await loadConfig();
|
|
316
|
+
const client = new ApiClient(config.api_key, config.api_url);
|
|
317
|
+
const workspace = await resolveWorkspace(client, options.workspace);
|
|
318
|
+
const wid = workspace.id;
|
|
319
|
+
const today = new Date().toISOString().split('T')[0];
|
|
320
|
+
const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`);
|
|
321
|
+
const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []);
|
|
322
|
+
// 1. Find target library
|
|
323
|
+
let targetLibrary = null;
|
|
324
|
+
if (options.project) {
|
|
325
|
+
targetLibrary =
|
|
326
|
+
projectList.find((p) => p.name?.toLowerCase() === options.project.toLowerCase()) ??
|
|
327
|
+
projectList.find((p) => p.name?.toLowerCase().includes(options.project.toLowerCase()));
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
// Find libraries with a project-state.md
|
|
331
|
+
const withState = [];
|
|
332
|
+
for (const project of projectList) {
|
|
333
|
+
if (project.isSystem)
|
|
334
|
+
continue;
|
|
335
|
+
try {
|
|
336
|
+
const { data: filesData } = await client.get(`/projects/${project.id}/files`);
|
|
337
|
+
const files = Array.isArray(filesData) ? filesData : (filesData.files || filesData.data || []);
|
|
338
|
+
if (files.some((f) => f.path === 'project-state.md')) {
|
|
339
|
+
withState.push(project);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
// skip
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (withState.length === 1)
|
|
347
|
+
targetLibrary = withState[0];
|
|
348
|
+
}
|
|
349
|
+
// 2. Try to append to project-state.md Seeds section
|
|
350
|
+
if (targetLibrary) {
|
|
351
|
+
try {
|
|
352
|
+
const { data: filesData } = await client.get(`/projects/${targetLibrary.id}/files`);
|
|
353
|
+
const files = Array.isArray(filesData) ? filesData : (filesData.files || filesData.data || []);
|
|
354
|
+
const stateFile = files.find((f) => f.path === 'project-state.md');
|
|
355
|
+
if (stateFile) {
|
|
356
|
+
const { data: fileDetail } = await client.get(`/files/${stateFile.id}`);
|
|
357
|
+
const currentContent = fileDetail.content || '';
|
|
358
|
+
const updatedContent = appendToSeedsSection(currentContent, text, today);
|
|
359
|
+
await client.put(`/files/${stateFile.id}`, { content: updatedContent });
|
|
360
|
+
spinner.succeed(`Idea saved to "${targetLibrary.name}" project seeds`);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
// fall through
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// 3. Find or create Quick Notes library
|
|
369
|
+
let quickNotesLib = projectList.find((p) => p.name?.toLowerCase() === 'quick notes' || p.name?.toLowerCase().includes('quick notes'));
|
|
370
|
+
if (!quickNotesLib) {
|
|
371
|
+
// Creating Quick Notes library
|
|
372
|
+
const { data: newLib } = await client.post(`/workspaces/${wid}/projects`, {
|
|
373
|
+
name: 'Quick Notes',
|
|
374
|
+
slug: 'quick-notes',
|
|
375
|
+
description: 'Captured ideas and quick notes',
|
|
376
|
+
});
|
|
377
|
+
quickNotesLib = newLib;
|
|
378
|
+
}
|
|
379
|
+
// Find or create quick-notes.md
|
|
380
|
+
const { data: qnFilesData } = await client.get(`/projects/${quickNotesLib.id}/files`);
|
|
381
|
+
const qnFiles = Array.isArray(qnFilesData) ? qnFilesData : (qnFilesData.files || qnFilesData.data || []);
|
|
382
|
+
const existingNote = qnFiles.find((f) => f.path === 'quick-notes.md');
|
|
383
|
+
if (existingNote) {
|
|
384
|
+
const { data: fileDetail } = await client.get(`/files/${existingNote.id}`);
|
|
385
|
+
const currentContent = fileDetail.content || '';
|
|
386
|
+
const updatedContent = currentContent.trimEnd() + `\n| ${escapeTableCell(text)} | ${today} |\n`;
|
|
387
|
+
await client.put(`/files/${existingNote.id}`, { content: updatedContent });
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
await client.post(`/projects/${quickNotesLib.id}/files`, {
|
|
391
|
+
title: 'Quick Notes',
|
|
392
|
+
path: 'quick-notes.md',
|
|
393
|
+
content: `# Quick Notes\n\n| Idea | Captured |\n|------|----------|\n| ${escapeTableCell(text)} | ${today} |\n`,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
spinner.succeed('Idea saved to Quick Notes');
|
|
397
|
+
}
|
|
398
|
+
catch (err) {
|
|
399
|
+
spinner.fail(err.message || 'Failed to save idea');
|
|
400
|
+
process.exit(1);
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
// ─── start (parent command) ───────────────────────────────────────────────────
|
|
404
|
+
export const startCommand = new Command('start')
|
|
405
|
+
.description('Create projects, research workspaces, or capture ideas')
|
|
406
|
+
.addHelpText('after', `
|
|
407
|
+
Subcommands:
|
|
408
|
+
project <name> Create a full project (library, agents, workflow, project-state.md)
|
|
409
|
+
research <name> Create a research workspace (library, agents, workflow, research-brief.md)
|
|
410
|
+
idea <text> Capture an idea into a project's seeds or Quick Notes
|
|
411
|
+
|
|
412
|
+
Examples:
|
|
413
|
+
contextium start project "CRM Redesign" --description "Customer tool for SMBs" -w my-ws
|
|
414
|
+
contextium start research "AI Todo Lists" --depth deep -w my-ws
|
|
415
|
+
contextium start idea "Add dark mode support" --project "CRM Redesign" -w my-ws
|
|
416
|
+
`)
|
|
417
|
+
.addCommand(startProjectCommand)
|
|
418
|
+
.addCommand(startResearchCommand)
|
|
419
|
+
.addCommand(startIdeaCommand);
|
|
420
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import { purgeCommand } from './commands/purge.js';
|
|
|
32
32
|
import { versionsCommand } from './commands/versions.js';
|
|
33
33
|
import { structureCommand } from './commands/structure.js';
|
|
34
34
|
import { notifyCommand } from './commands/notify.js';
|
|
35
|
+
import { startCommand } from './commands/start.js';
|
|
35
36
|
import { recordCommand, maybeShowReviewPrompt } from './lib/review-prompt.js';
|
|
36
37
|
import { createRequire } from 'module';
|
|
37
38
|
const require = createRequire(import.meta.url);
|
|
@@ -53,6 +54,7 @@ Command Groups:
|
|
|
53
54
|
Tags: tags list, tags types, tags create, tags create-type, tags search, tags apply, tags remove
|
|
54
55
|
Workflows: workflows list, workflows create, workflow load
|
|
55
56
|
Team: notify
|
|
57
|
+
Start: start project, start research, start idea
|
|
56
58
|
Agents: agents list, agents create, agents add-skill, agents remove-skill
|
|
57
59
|
Skills: skills list, skills create
|
|
58
60
|
Identities: identities list, identities create
|
|
@@ -122,6 +124,7 @@ program.addCommand(purgeCommand);
|
|
|
122
124
|
program.addCommand(versionsCommand);
|
|
123
125
|
program.addCommand(structureCommand);
|
|
124
126
|
program.addCommand(notifyCommand);
|
|
127
|
+
program.addCommand(startCommand);
|
|
125
128
|
// Skip review prompt for auth/meta commands
|
|
126
129
|
const SKIP_REVIEW_COMMANDS = new Set(['login', 'logout', 'whoami', 'setup', 'setup-claude']);
|
|
127
130
|
program.hook('postAction', async (thisCommand) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAEtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,0HAA0H,CAAC;KAEvI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;KACrC,WAAW,CAAC,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED