Closes the gap to Claude Code across four upgrade rounds (all verified green: typecheck, 388 tests, build 313 KB). Sub-agent orchestration: - Resumable sub-agents (send_message) + MaxIterations "continue" path - Configurable multi-depth sub-agent nesting - Parallel fan-out for pure agent/agent__* batches, each writable delegation in its own throwaway git worktree (no file collisions) - Named specialist fleet: explore, code-reviewer, planner, debugger, test-writer (read-only types skip worktree isolation) - Named teammates: agent tool `name` arg + list_teammates + send_message by name (synchronous, addressable handle — not true async background) Plan mode: - True in-turn pause/resume on approval (no synthetic proceed turn) - exit_plan_mode tool + side-by-side diff rendering (/diff) Persistent memory: - Typed file-per-fact memory under config dir, index folded into the system prompt (bounded), memory + memory_write tools, /memory command Toolset + UI: - multi_edit, notebook_edit, web_search/web_fetch, workflow orchestration primitive (agent/parallel/pipeline/phase/log + worktree isolation + best-effort structured output with recursive schema validation) - Structured task system (task_create/list/get/update with dependency graph + ownership) replacing flat todo_write - Cron/scheduled tasks (cron_create/list/delete, schedule_wakeup) with durable persistence and idle-gated ticking - Interactive worktree session (enter_worktree/exit_worktree) with a live-cwd UI switch that survives /model changes - AskUserQuestion tool + QuestionPrompt UI - Permission rule granularity + user/project settings merge - Color diffs, sub-agent activity panel, /undo, dashboard refinements Co-Authored-By: Claude <noreply@anthropic.com>
58 lines
1.3 KiB
JSON
58 lines
1.3 KiB
JSON
{
|
|
"name": "locode",
|
|
"version": "0.6.0",
|
|
"description": "Agentic coding CLI for local models served via Ollama and LM Studio",
|
|
"type": "module",
|
|
"bin": {
|
|
"locode": "dist/cli.js"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"scripts": {
|
|
"build": "tsup",
|
|
"dev": "tsx src/cli.ts",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"prepublishOnly": "npm run build"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-code": "^2.1.233",
|
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
"@vscode/ripgrep": "^1.18.0",
|
|
"commander": "^13.0.0",
|
|
"diff": "^9.0.0",
|
|
"env-paths": "^4.0.0",
|
|
"execa": "^9.6.1",
|
|
"fast-glob": "^3.3.3",
|
|
"ink": "^7.1.0",
|
|
"ink-select-input": "^6.2.0",
|
|
"ink-spinner": "^5.0.0",
|
|
"ink-text-input": "^6.0.0",
|
|
"marked": "^15.0.12",
|
|
"marked-terminal": "^7.3.0",
|
|
"openai": "^6.45.0",
|
|
"react": "^19.2.7",
|
|
"string-width": "^8.2.1",
|
|
"tree-kill": "^1.2.2",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@types/marked-terminal": "^6.1.1",
|
|
"@types/node": "^22.10.0",
|
|
"@types/react": "^19.2.17",
|
|
"tsup": "^8.3.0",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.7.0",
|
|
"vitest": "^3.0.0"
|
|
},
|
|
"allowScripts": {
|
|
"@anthropic-ai/claude-code@2.1.233": true,
|
|
"esbuild@0.27.7": true,
|
|
"esbuild@0.28.1": true
|
|
}
|
|
}
|