vibora 8.0.0 → 8.1.0

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.
Files changed (2) hide show
  1. package/bin/vibora.js +26 -28
  2. package/package.json +1 -1
package/bin/vibora.js CHANGED
@@ -32457,9 +32457,18 @@ var DEPENDENCIES = [
32457
32457
  name: "claude",
32458
32458
  command: "claude",
32459
32459
  description: "Claude Code CLI for AI agents",
32460
- required: true,
32460
+ required: false,
32461
32461
  install: {
32462
- npm: "npm install -g @anthropic-ai/claude-code"
32462
+ curl: "curl -fsSL https://claude.ai/install.sh | bash"
32463
+ }
32464
+ },
32465
+ {
32466
+ name: "opencode",
32467
+ command: "opencode",
32468
+ description: "OpenCode CLI for AI agents",
32469
+ required: false,
32470
+ install: {
32471
+ curl: "curl -fsSL https://opencode.ai/install | bash"
32463
32472
  }
32464
32473
  },
32465
32474
  {
@@ -32613,11 +32622,8 @@ function installBun() {
32613
32622
  return false;
32614
32623
  return installDependency(dep);
32615
32624
  }
32616
- function installClaude() {
32617
- const dep = getDependency("claude");
32618
- if (!dep)
32619
- return false;
32620
- return installDependency(dep);
32625
+ function isOpencodeInstalled() {
32626
+ return isCommandInstalled("opencode");
32621
32627
  }
32622
32628
  function installUv() {
32623
32629
  const dep = getDependency("uv");
@@ -32629,7 +32635,7 @@ function installUv() {
32629
32635
  var package_default = {
32630
32636
  name: "vibora",
32631
32637
  private: true,
32632
- version: "8.0.0",
32638
+ version: "8.1.0",
32633
32639
  description: "Harness Attention. Orchestrate Agents. Ship.",
32634
32640
  license: "PolyForm-Shield-1.0.0",
32635
32641
  type: "module",
@@ -32760,22 +32766,6 @@ async function handleUpCommand(flags) {
32760
32766
  throw new CliError("MISSING_DEPENDENCY", `dtach is required. Install manually: ${getInstallCommand(dtachDep)}`, ExitCodes.ERROR);
32761
32767
  }
32762
32768
  }
32763
- if (!isClaudeInstalled()) {
32764
- const claudeDep = getDependency("claude");
32765
- const method = getInstallMethod(claudeDep);
32766
- console.error("Claude Code CLI is required but is not installed.");
32767
- console.error(" Claude Code is the AI coding agent that Vibora orchestrates.");
32768
- const shouldInstall = autoYes || await confirm(`Would you like to install Claude Code via ${method}?`);
32769
- if (shouldInstall) {
32770
- const success = installClaude();
32771
- if (!success) {
32772
- throw new CliError("INSTALL_FAILED", "Failed to install Claude Code", ExitCodes.ERROR);
32773
- }
32774
- console.error("Claude Code installed successfully!");
32775
- } else {
32776
- throw new CliError("MISSING_DEPENDENCY", `Claude Code is required. Install manually: ${getInstallCommand(claudeDep)}`, ExitCodes.ERROR);
32777
- }
32778
- }
32779
32769
  if (!isUvInstalled()) {
32780
32770
  const uvDep = getDependency("uv");
32781
32771
  const method = getInstallMethod(uvDep);
@@ -32846,7 +32836,8 @@ async function handleUpCommand(flags) {
32846
32836
  VIBORA_PACKAGE_ROOT: packageRoot,
32847
32837
  VIBORA_VERSION: package_default.version,
32848
32838
  BUN_PTY_LIB: ptyLibPath,
32849
- VIBORA_CLAUDE_INSTALLED: "1",
32839
+ ...isClaudeInstalled() && { VIBORA_CLAUDE_INSTALLED: "1" },
32840
+ ...isOpencodeInstalled() && { VIBORA_OPENCODE_INSTALLED: "1" },
32850
32841
  ...debug && { LOG_LEVEL: "debug", DEBUG: "1" }
32851
32842
  }
32852
32843
  });
@@ -32867,10 +32858,11 @@ async function handleUpCommand(flags) {
32867
32858
  url: `http://localhost:${port}`
32868
32859
  });
32869
32860
  } else {
32870
- showGettingStartedTips(port);
32861
+ const hasAgent = isClaudeInstalled() || isOpencodeInstalled();
32862
+ showGettingStartedTips(port, hasAgent);
32871
32863
  }
32872
32864
  }
32873
- function showGettingStartedTips(port) {
32865
+ function showGettingStartedTips(port, hasAgent) {
32874
32866
  console.error(`
32875
32867
  Vibora is running at http://localhost:${port}
32876
32868
 
@@ -32878,13 +32870,19 @@ Getting Started:
32878
32870
  1. Open http://localhost:${port} in your browser
32879
32871
  2. Add a repository to get started
32880
32872
  3. Create a task to spin up an isolated worktree
32881
- 4. Run Claude Code in the task terminal
32873
+ 4. Run your AI agent in the task terminal
32882
32874
 
32883
32875
  Commands:
32884
32876
  vibora status Check server status
32885
32877
  vibora doctor Check all dependencies
32886
32878
  vibora down Stop the server
32887
32879
  `);
32880
+ if (!hasAgent) {
32881
+ console.error(`Note: No AI agents detected. Install one to get started:
32882
+ Claude Code: curl -fsSL https://claude.ai/install.sh | bash
32883
+ OpenCode: curl -fsSL https://opencode.ai/install | bash
32884
+ `);
32885
+ }
32888
32886
  }
32889
32887
 
32890
32888
  // cli/src/commands/down.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "Harness Attention. Orchestrate Agents. Ship.",
5
5
  "license": "PolyForm-Shield-1.0.0",
6
6
  "repository": {