vibora 1.13.3 → 1.13.5
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
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
The Vibe Engineer's Cockpit.
|
|
5
|
+
The Vibe Engineer's Cockpit. A terminal-first tool for orchestrating AI coding agents across isolated git worktrees.
|
|
6
6
|
|
|
7
7
|
## Philosophy
|
|
8
8
|
|
|
9
9
|
- **Claude Code first** — Built for developers who prefer working in the terminal with CLI agents. Vibora is designed with Claude Code in mind, though it works with other CLI agents (Codex, Gemini CLI, etc.). No abstraction layer, no wrapper APIs—agents run in terminals as-is.
|
|
10
10
|
- **Opinionated with few opinions** — Provides structure without dictating workflow.
|
|
11
11
|
- **Git worktree isolation** — Tasks create isolated git worktrees, with architecture supporting evolution toward more general task types.
|
|
12
|
+
- **Persistent terminals** — Named terminals organized in tabs for work that doesn't fit neatly into task worktrees.
|
|
13
|
+
- **Task terminals view** — See all terminal sessions across all tasks and worktrees in a single parallel view.
|
|
12
14
|
|
|
13
15
|
## Quick Start
|
|
14
16
|
|
package/bin/vibora.js
CHANGED
|
@@ -250,6 +250,14 @@ class ViboraClient {
|
|
|
250
250
|
body: JSON.stringify({ title, message })
|
|
251
251
|
});
|
|
252
252
|
}
|
|
253
|
+
async getDeveloperMode() {
|
|
254
|
+
return this.fetch("/api/config/developer-mode");
|
|
255
|
+
}
|
|
256
|
+
async restartVibora() {
|
|
257
|
+
return this.fetch("/api/config/restart", {
|
|
258
|
+
method: "POST"
|
|
259
|
+
});
|
|
260
|
+
}
|
|
253
261
|
}
|
|
254
262
|
|
|
255
263
|
// cli/src/utils/output.ts
|
|
@@ -900,6 +908,36 @@ async function handleNotifyCommand(positional, flags) {
|
|
|
900
908
|
output(result);
|
|
901
909
|
}
|
|
902
910
|
|
|
911
|
+
// cli/src/commands/dev.ts
|
|
912
|
+
async function handleDevCommand(action, flags) {
|
|
913
|
+
const client = new ViboraClient(flags.url, flags.port);
|
|
914
|
+
switch (action) {
|
|
915
|
+
case "restart": {
|
|
916
|
+
const devMode = await client.getDeveloperMode();
|
|
917
|
+
if (!devMode.enabled) {
|
|
918
|
+
throw new CliError("DEVELOPER_MODE_REQUIRED", "Developer mode is not enabled. Set VIBORA_DEVELOPER=1 environment variable.", ExitCodes.INVALID_STATE);
|
|
919
|
+
}
|
|
920
|
+
output({ status: "restarting", message: "Triggering restart (build + restart via systemd)..." });
|
|
921
|
+
const result = await client.restartVibora();
|
|
922
|
+
if (result.error) {
|
|
923
|
+
throw new CliError("RESTART_FAILED", result.error, ExitCodes.OPERATION_FAILED);
|
|
924
|
+
}
|
|
925
|
+
output({ status: "initiated", message: "Restart initiated. If build fails, old instance keeps running." });
|
|
926
|
+
break;
|
|
927
|
+
}
|
|
928
|
+
case "status": {
|
|
929
|
+
const devMode = await client.getDeveloperMode();
|
|
930
|
+
output({
|
|
931
|
+
developerMode: devMode.enabled,
|
|
932
|
+
message: devMode.enabled ? 'Developer mode is enabled. Use "vibora dev restart" to rebuild and restart.' : "Developer mode is disabled. Set VIBORA_DEVELOPER=1 to enable."
|
|
933
|
+
});
|
|
934
|
+
break;
|
|
935
|
+
}
|
|
936
|
+
default:
|
|
937
|
+
throw new CliError("UNKNOWN_ACTION", `Unknown dev action: ${action}. Use 'vibora dev restart' or 'vibora dev status'`, ExitCodes.INVALID_ARGS);
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
|
|
903
941
|
// cli/src/index.ts
|
|
904
942
|
var VERSION = "0.1.0";
|
|
905
943
|
function parseArgs(args) {
|
|
@@ -985,6 +1023,9 @@ Commands:
|
|
|
985
1023
|
|
|
986
1024
|
health Check server health
|
|
987
1025
|
|
|
1026
|
+
dev restart Build and restart Vibora (developer mode)
|
|
1027
|
+
dev status Check if developer mode is enabled
|
|
1028
|
+
|
|
988
1029
|
Global Options:
|
|
989
1030
|
--port=<port> Server port (default: 3333)
|
|
990
1031
|
--url=<url> Override full server URL
|
|
@@ -1052,6 +1093,11 @@ Examples:
|
|
|
1052
1093
|
await handleNotifyCommand(rest, flags);
|
|
1053
1094
|
break;
|
|
1054
1095
|
}
|
|
1096
|
+
case "dev": {
|
|
1097
|
+
const [action] = rest;
|
|
1098
|
+
await handleDevCommand(action, flags);
|
|
1099
|
+
break;
|
|
1100
|
+
}
|
|
1055
1101
|
default:
|
|
1056
1102
|
throw new CliError("UNKNOWN_COMMAND", `Unknown command: ${command}`, ExitCodes.INVALID_ARGS);
|
|
1057
1103
|
}
|