@locusai/cli 0.4.1 → 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.
- package/bin/locus.js +36 -10
- package/package.json +2 -2
package/bin/locus.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
2
|
-
// @bun
|
|
1
|
+
#!/usr/bin/env node
|
|
3
2
|
import { createRequire } from "node:module";
|
|
4
3
|
var __create = Object.create;
|
|
5
4
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -17646,13 +17645,21 @@ class CodebaseIndexer {
|
|
|
17646
17645
|
onProgress("Generating file tree...");
|
|
17647
17646
|
const files = await globby(["**/*"], {
|
|
17648
17647
|
cwd: this.projectPath,
|
|
17648
|
+
gitignore: true,
|
|
17649
17649
|
ignore: [
|
|
17650
17650
|
"**/node_modules/**",
|
|
17651
17651
|
"**/dist/**",
|
|
17652
17652
|
"**/build/**",
|
|
17653
|
+
"**/target/**",
|
|
17654
|
+
"**/bin/**",
|
|
17655
|
+
"**/obj/**",
|
|
17653
17656
|
"**/.next/**",
|
|
17657
|
+
"**/.svelte-kit/**",
|
|
17658
|
+
"**/.nuxt/**",
|
|
17659
|
+
"**/.cache/**",
|
|
17654
17660
|
"**/out/**",
|
|
17655
17661
|
"**/__tests__/**",
|
|
17662
|
+
"**/coverage/**",
|
|
17656
17663
|
"**/*.test.*",
|
|
17657
17664
|
"**/*.spec.*",
|
|
17658
17665
|
"**/*.d.ts",
|
|
@@ -17660,9 +17667,20 @@ class CodebaseIndexer {
|
|
|
17660
17667
|
"**/.locus/*.json",
|
|
17661
17668
|
"**/.locus/*.md",
|
|
17662
17669
|
"**/.locus/!(artifacts)/**",
|
|
17663
|
-
"
|
|
17664
|
-
"
|
|
17665
|
-
"
|
|
17670
|
+
"**/.git/**",
|
|
17671
|
+
"**/.svn/**",
|
|
17672
|
+
"**/.hg/**",
|
|
17673
|
+
"**/.vscode/**",
|
|
17674
|
+
"**/.idea/**",
|
|
17675
|
+
"**/.DS_Store",
|
|
17676
|
+
"**/bun.lock",
|
|
17677
|
+
"**/package-lock.json",
|
|
17678
|
+
"**/yarn.lock",
|
|
17679
|
+
"**/pnpm-lock.yaml",
|
|
17680
|
+
"**/Cargo.lock",
|
|
17681
|
+
"**/go.sum",
|
|
17682
|
+
"**/poetry.lock",
|
|
17683
|
+
"**/*.{png,jpg,jpeg,gif,svg,ico,mp4,webm,wav,mp3,woff,woff2,eot,ttf,otf,pdf,zip,tar.gz,rar}"
|
|
17666
17684
|
]
|
|
17667
17685
|
});
|
|
17668
17686
|
const treeString = files.join(`
|
|
@@ -21913,7 +21931,9 @@ class ClaudeRunner {
|
|
|
21913
21931
|
];
|
|
21914
21932
|
const claude = spawn("claude", args, {
|
|
21915
21933
|
cwd: this.projectPath,
|
|
21916
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
21934
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
21935
|
+
env: process.env,
|
|
21936
|
+
shell: true
|
|
21917
21937
|
});
|
|
21918
21938
|
let output = "";
|
|
21919
21939
|
let errorOutput = "";
|
|
@@ -21925,13 +21945,13 @@ class ClaudeRunner {
|
|
|
21925
21945
|
errorOutput += data.toString();
|
|
21926
21946
|
process.stderr.write(data.toString());
|
|
21927
21947
|
});
|
|
21928
|
-
claude.on("error", (err) => reject(new Error(`Failed to start Claude CLI: ${err.message}
|
|
21948
|
+
claude.on("error", (err) => reject(new Error(`Failed to start Claude CLI (shell: true): ${err.message}. Please ensure the 'claude' command is available in your PATH.`)));
|
|
21929
21949
|
claude.on("close", (code) => {
|
|
21930
21950
|
if (code === 0)
|
|
21931
21951
|
resolve(output);
|
|
21932
21952
|
else {
|
|
21933
21953
|
const detail = errorOutput.trim();
|
|
21934
|
-
const message = detail ? `Claude CLI error: ${detail}` : `Claude CLI exited with code ${code}. Please ensure the Claude CLI is installed and you are logged in (run 'claude' manually to check).`;
|
|
21954
|
+
const message = detail ? `Claude CLI error (exit code ${code}): ${detail}` : `Claude CLI exited with code ${code}. Please ensure the Claude CLI is installed and you are logged in (run 'claude' manually to check).`;
|
|
21935
21955
|
reject(new Error(message));
|
|
21936
21956
|
}
|
|
21937
21957
|
});
|
|
@@ -30152,10 +30172,16 @@ var TasksResponseSchema = exports_external.object({
|
|
|
30152
30172
|
tasks: exports_external.array(TaskSchema)
|
|
30153
30173
|
});
|
|
30154
30174
|
// ../shared/src/models/workspace.ts
|
|
30175
|
+
var ChecklistItemSchema = exports_external.object({
|
|
30176
|
+
id: exports_external.string(),
|
|
30177
|
+
text: exports_external.string(),
|
|
30178
|
+
done: exports_external.boolean()
|
|
30179
|
+
});
|
|
30155
30180
|
var WorkspaceSchema = BaseEntitySchema.extend({
|
|
30156
30181
|
orgId: exports_external.string().uuid(),
|
|
30157
30182
|
name: exports_external.string().min(1, "Name is required").max(100),
|
|
30158
|
-
slug: exports_external.string().min(1, "Slug is required").regex(/^[a-z0-9-]+$/, "Slug must be lowercase alphanumeric with hyphens")
|
|
30183
|
+
slug: exports_external.string().min(1, "Slug is required").regex(/^[a-z0-9-]+$/, "Slug must be lowercase alphanumeric with hyphens"),
|
|
30184
|
+
defaultChecklist: exports_external.array(ChecklistItemSchema).nullable().optional()
|
|
30159
30185
|
});
|
|
30160
30186
|
var CreateWorkspaceSchema = exports_external.object({
|
|
30161
30187
|
name: exports_external.string().min(1, "Name is required").max(100),
|
|
@@ -30765,7 +30791,7 @@ ${c.success("✅ Orchestrator finished")}`);
|
|
|
30765
30791
|
if (this.resolvedSprintId) {
|
|
30766
30792
|
workerArgs.push("--sprint-id", this.resolvedSprintId);
|
|
30767
30793
|
}
|
|
30768
|
-
const agentProcess = spawn2(
|
|
30794
|
+
const agentProcess = spawn2(process.execPath, [workerPath, ...workerArgs]);
|
|
30769
30795
|
agentState.process = agentProcess;
|
|
30770
30796
|
agentProcess.on("message", (msg) => {
|
|
30771
30797
|
if (msg.type === "stats") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@locusai/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Local-first AI development platform & engineering workspace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"author": "",
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@locusai/sdk": "^0.4.
|
|
34
|
+
"@locusai/sdk": "^0.4.3"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {}
|
|
37
37
|
}
|