@contextium/cli
Advanced tools
| import { Command } from 'commander'; | ||
| export declare const startCommand: Command; | ||
| //# sourceMappingURL=start.d.ts.map |
| {"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"} |
| import { Command } from 'commander'; | ||
| import { ApiClient } from '../lib/api-client.js'; | ||
| import { loadConfig } from '../lib/config.js'; | ||
| import { chalk, ora } from '../lib/output.js'; | ||
| // ─── Helpers ────────────────────────────────────────────────────────────────── | ||
| async function resolveWorkspace(client, workspaceOption) { | ||
| const { data: workspacesData } = await client.get('/workspaces'); | ||
| const workspaces = workspacesData.data || workspacesData; | ||
| if (workspaceOption) { | ||
| const ws = workspaces.find((w) => w.slug?.toLowerCase() === workspaceOption.toLowerCase() || | ||
| w.name?.toLowerCase() === workspaceOption.toLowerCase() || | ||
| w.id === workspaceOption); | ||
| if (!ws) | ||
| throw new Error(`Workspace "${workspaceOption}" not found`); | ||
| return ws; | ||
| } | ||
| if (workspaces.length === 1) | ||
| return workspaces[0]; | ||
| throw new Error('Multiple workspaces found. Specify one with -w, --workspace.'); | ||
| } | ||
| function toSlug(name) { | ||
| return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, ''); | ||
| } | ||
| function inferQualityRole(context) { | ||
| const c = context.toLowerCase(); | ||
| if (/\b(code|app|api|software|build|feature|engineer|develop|backend|frontend)\b/.test(c)) | ||
| return 'Regression Tester'; | ||
| if (/\b(write|paper|document|article|essay|report|draft|blog|whitepaper)\b/.test(c)) | ||
| return 'Proofreader'; | ||
| if (/\b(pitch|deck|investor|present|slide)\b/.test(c)) | ||
| return 'Deck Reviewer'; | ||
| if (/\b(market|campaign|copy|brand|content|ad|social)\b/.test(c)) | ||
| return 'Copy Reviewer'; | ||
| return 'Quality Reviewer'; | ||
| } | ||
| function buildProjectState(name, description, today) { | ||
| const about = description || name; | ||
| return `# ${name} — Project State | ||
| ## Current Position | ||
| **Phase:** Phase 1: Foundation | ||
| **Status:** Not Started | ||
| **Last Updated:** ${today} | ||
| **Next Action:** Begin Phase 1 | ||
| ## About | ||
| ${about} | ||
| ## Phases | ||
| ### Phase 1: Foundation | ||
| **Status:** Not Started | ||
| Initial setup, research, and planning for ${name}. | ||
| ### Phase 2: Core Build | ||
| **Status:** Not Started | ||
| Primary implementation phase. | ||
| ### Phase 3: Polish & Launch | ||
| **Status:** Not Started | ||
| Testing, refinement, and delivery. | ||
| ## Decisions Log | ||
| | Decision | Rationale | Phase | | ||
| |----------|-----------|-------| | ||
| | _(none yet)_ | | | | ||
| ## Seeds | ||
| | Idea | When to revisit | Context | | ||
| |------|-----------------|---------| | ||
| | _(none yet)_ | | | | ||
| ## Notes | ||
| _(ad-hoc notes that don't fit elsewhere)_ | ||
| `; | ||
| } | ||
| function buildResearchBrief(name, description, deep, today) { | ||
| const scope = description || (deep ? `A comprehensive investigation into ${name}.` : `An investigation into ${name}.`); | ||
| if (deep) { | ||
| return `# Deep Dive: ${name} | ||
| **Started:** ${today} | ||
| **Status:** In Progress | ||
| **Depth:** Deep | ||
| ## Scope | ||
| ${scope} | ||
| ## Research Questions | ||
| _(to be defined by Research Lead)_ | ||
| ## Landscape Overview | ||
| _(to be populated)_ | ||
| ## Key Findings | ||
| _(to be populated)_ | ||
| ## Competing Approaches | ||
| _(to be populated)_ | ||
| ## Risks & Concerns | ||
| _(to be populated)_ | ||
| ## Recommendations | ||
| _(to be populated)_ | ||
| ## Sources | ||
| _(to be populated)_ | ||
| `; | ||
| } | ||
| return `# Research: ${name} | ||
| **Started:** ${today} | ||
| **Status:** In Progress | ||
| **Depth:** Quick | ||
| ## Scope | ||
| ${scope} | ||
| ## Research Questions | ||
| - What is ${name} and how does it work? | ||
| - What are the key considerations? | ||
| - What are the best existing approaches or solutions? | ||
| ## Findings | ||
| _(to be populated by Research Agent)_ | ||
| ## Sources | ||
| _(to be populated)_ | ||
| ## Summary | ||
| _(to be populated)_ | ||
| `; | ||
| } | ||
| function escapeTableCell(text) { | ||
| return text.replace(/\|/g, '\\|').replace(/\n/g, ' '); | ||
| } | ||
| function appendToSeedsSection(content, idea, today) { | ||
| const seedsHeader = '## Seeds'; | ||
| const idx = content.indexOf(seedsHeader); | ||
| const newRow = `| ${escapeTableCell(idea)} | When relevant | Captured ${today} |`; | ||
| if (idx === -1) { | ||
| return content.trimEnd() + `\n\n## Seeds\n| Idea | When to revisit | Context |\n|------|-----------------|----------|\n${newRow}\n`; | ||
| } | ||
| const afterSeeds = content.slice(idx); | ||
| const nextSectionMatch = afterSeeds.match(/\n## /); | ||
| const seedsBlock = nextSectionMatch ? afterSeeds.slice(0, nextSectionMatch.index) : afterSeeds; | ||
| if (seedsBlock.includes('_(none yet)_')) { | ||
| const updated = content.replace(/\|\s*_\(none yet\)_\s*\|\s*\|\s*\|/, newRow); | ||
| if (updated !== content) | ||
| return updated; | ||
| } | ||
| const insertAt = nextSectionMatch ? idx + (nextSectionMatch.index ?? seedsBlock.length) : content.length; | ||
| return content.slice(0, insertAt).trimEnd() + '\n' + newRow + '\n' + content.slice(insertAt); | ||
| } | ||
| // ─── start project ──────────────────────────────────────────────────────────── | ||
| const startProjectCommand = new Command('project') | ||
| .description('Autonomously create a full project workspace (library, agents, workflow, project-state.md)') | ||
| .argument('<name>', 'Project name') | ||
| .option('-d, --description <text>', 'What the project is about') | ||
| .option('-w, --workspace <slug>', 'Workspace name, slug, or ID') | ||
| .action(async (name, options) => { | ||
| const spinner = ora(`Setting up project "${name}"...`).start(); | ||
| try { | ||
| const config = await loadConfig(); | ||
| const client = new ApiClient(config.api_key, config.api_url); | ||
| const workspace = await resolveWorkspace(client, options.workspace); | ||
| const wid = workspace.id; | ||
| const desc = options.description || ''; | ||
| const today = new Date().toISOString().split('T')[0]; | ||
| // Check for duplicate library | ||
| const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`); | ||
| const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []); | ||
| const existing = projectList.find((p) => p.name?.toLowerCase() === name.toLowerCase()); | ||
| if (existing) { | ||
| spinner.warn(`Project "${name}" already exists`); | ||
| console.log(` Library: ${chalk.dim(existing.id)}`); | ||
| return; | ||
| } | ||
| // Create library | ||
| // Creating library | ||
| const { data: library } = await client.post(`/workspaces/${wid}/projects`, { name, slug: toSlug(name), description: desc }); | ||
| const libraryId = library.id; | ||
| // Create agents | ||
| const qualityRole = inferQualityRole(name + ' ' + desc); | ||
| const agentDefs = [ | ||
| { 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}` }, | ||
| { 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}` }, | ||
| { 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}` }, | ||
| { 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}` }, | ||
| ]; | ||
| const agents = []; | ||
| for (const def of agentDefs) { | ||
| // Creating agent | ||
| const { data: agent } = await client.post(`/workspaces/${wid}/agents`, { name: def.name, systemPrompt: def.systemPrompt }); | ||
| agents.push({ name: def.name, id: agent.id }); | ||
| } | ||
| // Create workflow | ||
| // Creating workflow | ||
| const { data: workflow } = await client.post(`/workspaces/${wid}/workflows`, { | ||
| name, | ||
| description: `Project workspace for ${name}`, | ||
| agentIds: agents.map(a => a.id), | ||
| projectIds: [libraryId], | ||
| }); | ||
| // Create project-state.md | ||
| // Writing project-state.md | ||
| const { data: stateFile } = await client.post(`/projects/${libraryId}/files`, { | ||
| title: `${name} — Project State`, | ||
| path: 'project-state.md', | ||
| content: buildProjectState(name, desc, today), | ||
| }); | ||
| spinner.succeed(`Project "${name}" is ready`); | ||
| console.log(` Library: ${chalk.bold(name)} ${chalk.dim('(' + libraryId + ')')}`); | ||
| console.log(` Workflow: ${chalk.bold(name)} ${chalk.dim('(' + workflow.id + ')')}`); | ||
| console.log(` Agents: ${agents.map(a => a.name.split('—')[1]?.trim()).join(', ')}`); | ||
| console.log(` Files: ${chalk.dim(stateFile.path || 'project-state.md')}`); | ||
| } | ||
| catch (err) { | ||
| spinner.fail(err.message || 'Failed to set up project'); | ||
| process.exit(1); | ||
| } | ||
| }); | ||
| // ─── start research ─────────────────────────────────────────────────────────── | ||
| const startResearchCommand = new Command('research') | ||
| .description('Autonomously create a research workspace (library, agents, workflow, research-brief.md)') | ||
| .argument('<name>', 'Research topic name') | ||
| .option('-d, --description <text>', 'What to research') | ||
| .option('--depth <level>', 'quick (default) or deep', 'quick') | ||
| .option('-w, --workspace <slug>', 'Workspace name, slug, or ID') | ||
| .action(async (name, options) => { | ||
| const isDeep = options.depth === 'deep'; | ||
| const libraryName = `Research: ${name}`; | ||
| const workflowName = isDeep ? `${name} Deep Dive` : `${name} Research`; | ||
| const spinner = ora(`Setting up research workspace "${workflowName}"...`).start(); | ||
| try { | ||
| const config = await loadConfig(); | ||
| const client = new ApiClient(config.api_key, config.api_url); | ||
| const workspace = await resolveWorkspace(client, options.workspace); | ||
| const wid = workspace.id; | ||
| const desc = options.description || ''; | ||
| const today = new Date().toISOString().split('T')[0]; | ||
| // Check for duplicate | ||
| const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`); | ||
| const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []); | ||
| const existing = projectList.find((p) => p.name?.toLowerCase() === libraryName.toLowerCase()); | ||
| if (existing) { | ||
| spinner.warn(`Research workspace "${libraryName}" already exists`); | ||
| console.log(` Library: ${chalk.dim(existing.id)}`); | ||
| return; | ||
| } | ||
| // Create research library | ||
| // Creating research library | ||
| const { data: library } = await client.post(`/workspaces/${wid}/projects`, { name: libraryName, slug: toSlug(libraryName), description: desc }); | ||
| const libraryId = library.id; | ||
| // Create agents | ||
| const agents = []; | ||
| if (isDeep) { | ||
| // Creating Research Lead | ||
| const { data: lead } = await client.post(`/workspaces/${wid}/agents`, { | ||
| name: `${name} — Research Lead`, | ||
| 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}`, | ||
| }); | ||
| agents.push({ name: `${name} — Research Lead`, id: lead.id }); | ||
| // Creating Fact Checker | ||
| const { data: checker } = await client.post(`/workspaces/${wid}/agents`, { | ||
| name: `${name} — Fact Checker`, | ||
| 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}`, | ||
| }); | ||
| agents.push({ name: `${name} — Fact Checker`, id: checker.id }); | ||
| } | ||
| else { | ||
| // Creating Research Agent | ||
| const { data: researcher } = await client.post(`/workspaces/${wid}/agents`, { | ||
| name: `${name} — Research Agent`, | ||
| 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}`, | ||
| }); | ||
| agents.push({ name: `${name} — Research Agent`, id: researcher.id }); | ||
| } | ||
| // Create workflow | ||
| // Creating workflow | ||
| const { data: workflow } = await client.post(`/workspaces/${wid}/workflows`, { | ||
| name: workflowName, | ||
| description: `Research workspace for ${name}`, | ||
| agentIds: agents.map(a => a.id), | ||
| projectIds: [libraryId], | ||
| }); | ||
| // Create research-brief.md | ||
| // Writing research-brief.md | ||
| const { data: briefFile } = await client.post(`/projects/${libraryId}/files`, { | ||
| title: `${name} — Research Brief`, | ||
| path: 'research-brief.md', | ||
| content: buildResearchBrief(name, desc, isDeep, today), | ||
| }); | ||
| spinner.succeed(`Research workspace ready`); | ||
| console.log(` Library: ${chalk.bold(libraryName)} ${chalk.dim('(' + libraryId + ')')}`); | ||
| console.log(` Workflow: ${chalk.bold(workflowName)} ${chalk.dim('(' + workflow.id + ')')}`); | ||
| console.log(` Agents: ${agents.map(a => a.name.split('—')[1]?.trim()).join(', ')}`); | ||
| console.log(` Files: ${chalk.dim(briefFile.path || 'research-brief.md')}`); | ||
| } | ||
| catch (err) { | ||
| spinner.fail(err.message || 'Failed to set up research workspace'); | ||
| process.exit(1); | ||
| } | ||
| }); | ||
| // ─── start idea ─────────────────────────────────────────────────────────────── | ||
| const startIdeaCommand = new Command('idea') | ||
| .description('Capture a quick idea or note into a project\'s seeds or Quick Notes') | ||
| .argument('<text>', 'The idea or note to capture') | ||
| .option('-p, --project <name>', 'Project to attach the idea to') | ||
| .option('-w, --workspace <slug>', 'Workspace name, slug, or ID') | ||
| .action(async (text, options) => { | ||
| const spinner = ora('Saving idea...').start(); | ||
| try { | ||
| const config = await loadConfig(); | ||
| const client = new ApiClient(config.api_key, config.api_url); | ||
| const workspace = await resolveWorkspace(client, options.workspace); | ||
| const wid = workspace.id; | ||
| const today = new Date().toISOString().split('T')[0]; | ||
| const { data: projectsData } = await client.get(`/workspaces/${wid}/projects`); | ||
| const projectList = Array.isArray(projectsData) ? projectsData : (projectsData.projects || projectsData.data || []); | ||
| // 1. Find target library | ||
| let targetLibrary = null; | ||
| if (options.project) { | ||
| targetLibrary = | ||
| projectList.find((p) => p.name?.toLowerCase() === options.project.toLowerCase()) ?? | ||
| projectList.find((p) => p.name?.toLowerCase().includes(options.project.toLowerCase())); | ||
| } | ||
| else { | ||
| // Find libraries with a project-state.md | ||
| const withState = []; | ||
| for (const project of projectList) { | ||
| if (project.isSystem) | ||
| continue; | ||
| try { | ||
| const { data: filesData } = await client.get(`/projects/${project.id}/files`); | ||
| const files = Array.isArray(filesData) ? filesData : (filesData.files || filesData.data || []); | ||
| if (files.some((f) => f.path === 'project-state.md')) { | ||
| withState.push(project); | ||
| } | ||
| } | ||
| catch { | ||
| // skip | ||
| } | ||
| } | ||
| if (withState.length === 1) | ||
| targetLibrary = withState[0]; | ||
| } | ||
| // 2. Try to append to project-state.md Seeds section | ||
| if (targetLibrary) { | ||
| try { | ||
| const { data: filesData } = await client.get(`/projects/${targetLibrary.id}/files`); | ||
| const files = Array.isArray(filesData) ? filesData : (filesData.files || filesData.data || []); | ||
| const stateFile = files.find((f) => f.path === 'project-state.md'); | ||
| if (stateFile) { | ||
| const { data: fileDetail } = await client.get(`/files/${stateFile.id}`); | ||
| const currentContent = fileDetail.content || ''; | ||
| const updatedContent = appendToSeedsSection(currentContent, text, today); | ||
| await client.put(`/files/${stateFile.id}`, { content: updatedContent }); | ||
| spinner.succeed(`Idea saved to "${targetLibrary.name}" project seeds`); | ||
| return; | ||
| } | ||
| } | ||
| catch { | ||
| // fall through | ||
| } | ||
| } | ||
| // 3. Find or create Quick Notes library | ||
| let quickNotesLib = projectList.find((p) => p.name?.toLowerCase() === 'quick notes' || p.name?.toLowerCase().includes('quick notes')); | ||
| if (!quickNotesLib) { | ||
| // Creating Quick Notes library | ||
| const { data: newLib } = await client.post(`/workspaces/${wid}/projects`, { | ||
| name: 'Quick Notes', | ||
| slug: 'quick-notes', | ||
| description: 'Captured ideas and quick notes', | ||
| }); | ||
| quickNotesLib = newLib; | ||
| } | ||
| // Find or create quick-notes.md | ||
| const { data: qnFilesData } = await client.get(`/projects/${quickNotesLib.id}/files`); | ||
| const qnFiles = Array.isArray(qnFilesData) ? qnFilesData : (qnFilesData.files || qnFilesData.data || []); | ||
| const existingNote = qnFiles.find((f) => f.path === 'quick-notes.md'); | ||
| if (existingNote) { | ||
| const { data: fileDetail } = await client.get(`/files/${existingNote.id}`); | ||
| const currentContent = fileDetail.content || ''; | ||
| const updatedContent = currentContent.trimEnd() + `\n| ${escapeTableCell(text)} | ${today} |\n`; | ||
| await client.put(`/files/${existingNote.id}`, { content: updatedContent }); | ||
| } | ||
| else { | ||
| await client.post(`/projects/${quickNotesLib.id}/files`, { | ||
| title: 'Quick Notes', | ||
| path: 'quick-notes.md', | ||
| content: `# Quick Notes\n\n| Idea | Captured |\n|------|----------|\n| ${escapeTableCell(text)} | ${today} |\n`, | ||
| }); | ||
| } | ||
| spinner.succeed('Idea saved to Quick Notes'); | ||
| } | ||
| catch (err) { | ||
| spinner.fail(err.message || 'Failed to save idea'); | ||
| process.exit(1); | ||
| } | ||
| }); | ||
| // ─── start (parent command) ─────────────────────────────────────────────────── | ||
| export const startCommand = new Command('start') | ||
| .description('Create projects, research workspaces, or capture ideas') | ||
| .addHelpText('after', ` | ||
| Subcommands: | ||
| project <name> Create a full project (library, agents, workflow, project-state.md) | ||
| research <name> Create a research workspace (library, agents, workflow, research-brief.md) | ||
| idea <text> Capture an idea into a project's seeds or Quick Notes | ||
| Examples: | ||
| contextium start project "CRM Redesign" --description "Customer tool for SMBs" -w my-ws | ||
| contextium start research "AI Todo Lists" --depth deep -w my-ws | ||
| contextium start idea "Add dark mode support" --project "CRM Redesign" -w my-ws | ||
| `) | ||
| .addCommand(startProjectCommand) | ||
| .addCommand(startResearchCommand) | ||
| .addCommand(startIdeaCommand); | ||
| //# sourceMappingURL=start.js.map |
| {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"} |
+3
-0
@@ -35,2 +35,3 @@ #!/usr/bin/env node | ||
| import { notifyCommand } from './commands/notify.js'; | ||
| import { startCommand } from './commands/start.js'; | ||
| import { recordCommand, maybeShowReviewPrompt } from './lib/review-prompt.js'; | ||
@@ -57,2 +58,3 @@ import { createRequire } from 'module'; | ||
| Team: notify | ||
| Start: start project, start research, start idea | ||
| Agents: agents list, agents create, agents add-skill, agents remove-skill | ||
@@ -127,2 +129,3 @@ Skills: skills list, skills create | ||
| program.addCommand(notifyCommand); | ||
| program.addCommand(startCommand); | ||
| // Skip review prompt for auth/meta commands | ||
@@ -129,0 +132,0 @@ const SKIP_REVIEW_COMMANDS = new Set(['login', 'logout', 'whoami', 'setup', 'setup-claude']); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@contextium/cli", | ||
| "version": "1.0.51", | ||
| "version": "1.0.52", | ||
| "description": "Command-line tool for managing Contextium documentation, agents, skills, and workflows — pipe context to AI coding assistants", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
771044
4.98%197
2.07%7126
5.95%