aidevops 3.1.40 → 3.1.42

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/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.40
1
+ 3.1.42
package/aidevops.sh CHANGED
@@ -3,7 +3,7 @@
3
3
  # AI DevOps Framework CLI
4
4
  # Usage: aidevops <command> [options]
5
5
  #
6
- # Version: 3.1.40
6
+ # Version: 3.1.42
7
7
 
8
8
  set -euo pipefail
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidevops",
3
- "version": "3.1.40",
3
+ "version": "3.1.42",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -479,39 +479,29 @@ setup_opencode_plugins() {
479
479
  fi
480
480
  pool_plugin_registered="true"
481
481
 
482
- # --- Register opencode-cursor-oauth plugin (npm, auto-installed by OpenCode) ---
482
+ # --- opencode-cursor-oauth plugin (DISABLED) ---
483
+ # The opencode-cursor-oauth npm plugin crashes during startup and
484
+ # silently prevents ALL plugins from loading (including ours).
485
+ # Filed: https://github.com/ephraimduncan/opencode-cursor/issues/15
486
+ # Re-enable when the upstream fix is released.
487
+ # For now, Cursor accounts can be added via: oauth-pool-helper.sh add cursor
488
+ #
489
+ # If the plugin was previously registered, remove it to prevent the crash
483
490
  local cursor_plugin="opencode-cursor-oauth"
484
- local cursor_already
485
- cursor_already=$(jq --arg p "$cursor_plugin" \
491
+ local cursor_present
492
+ cursor_present=$(jq --arg p "$cursor_plugin" \
486
493
  '(.plugin // []) | map(select(. == $p)) | length' \
487
494
  "$opencode_config" 2>/dev/null || echo "0")
488
-
489
- if [[ "$cursor_already" -eq 0 ]]; then
495
+ if [[ "$cursor_present" -gt 0 ]]; then
490
496
  local tmp_cursor="${opencode_config}.tmp.$$"
491
497
  if jq --arg p "$cursor_plugin" \
492
- '.plugin = ((.plugin // []) + [$p] | unique)' \
498
+ '.plugin = [.plugin[] | select(. != $p)]' \
493
499
  "$opencode_config" >"$tmp_cursor" 2>/dev/null; then
494
500
  mv "$tmp_cursor" "$opencode_config"
495
- print_success "Cursor OAuth plugin registered in opencode.json"
501
+ print_warning "Removed opencode-cursor-oauth plugin (crashes all plugin loading)"
502
+ print_info " Filed: https://github.com/ephraimduncan/opencode-cursor/issues/15"
496
503
  else
497
504
  rm -f "$tmp_cursor"
498
- print_warning "Failed to register Cursor OAuth plugin"
499
- fi
500
- else
501
- print_success "Cursor OAuth plugin already registered"
502
- fi
503
-
504
- # --- Ensure cursor provider stub exists (required by opencode-cursor-oauth) ---
505
- local has_cursor_provider
506
- has_cursor_provider=$(jq '.provider.cursor // empty' "$opencode_config" 2>/dev/null || true)
507
- if [[ -z "$has_cursor_provider" ]]; then
508
- local tmp_cursor_prov="${opencode_config}.tmp.$$"
509
- if jq '.provider.cursor = {"name": "Cursor"}' \
510
- "$opencode_config" >"$tmp_cursor_prov" 2>/dev/null; then
511
- mv "$tmp_cursor_prov" "$opencode_config"
512
- print_success "Cursor provider stub added to opencode.json"
513
- else
514
- rm -f "$tmp_cursor_prov"
515
505
  fi
516
506
  fi
517
507
  else
@@ -1041,6 +1041,52 @@ setup_minisim() {
1041
1041
  return 0
1042
1042
  }
1043
1043
 
1044
+ setup_claudebar() {
1045
+ # Only available on macOS (native Swift menu bar app)
1046
+ if [[ "$(uname)" != "Darwin" ]]; then
1047
+ return 0
1048
+ fi
1049
+
1050
+ print_info "Setting up ClaudeBar (AI quota monitor)..."
1051
+
1052
+ # Check if ClaudeBar is already installed
1053
+ if [[ -d "/Applications/ClaudeBar.app" ]]; then
1054
+ print_success "ClaudeBar already installed"
1055
+ return 0
1056
+ fi
1057
+
1058
+ # Check if Homebrew is available (required for cask install)
1059
+ if ! command -v brew >/dev/null 2>&1; then
1060
+ print_warning "Homebrew not found - cannot install ClaudeBar automatically"
1061
+ echo " Download manually: https://github.com/tddworks/ClaudeBar/releases/latest"
1062
+ return 0
1063
+ fi
1064
+
1065
+ print_info "ClaudeBar monitors AI coding assistant usage quotas in your menu bar"
1066
+ echo " Supports: Claude, Codex, Gemini, Copilot, Antigravity, Kimi, Kiro, Amp"
1067
+ echo " Features: real-time quota tracking, status notifications, multiple themes"
1068
+ echo " Requires: macOS 15+, CLI tools for providers you want to monitor"
1069
+ echo ""
1070
+
1071
+ local install_claudebar
1072
+ read -r -p "Install ClaudeBar? [Y/n]: " install_claudebar
1073
+
1074
+ if [[ "$install_claudebar" =~ ^[Yy]?$ ]]; then
1075
+ if run_with_spinner "Installing ClaudeBar" brew install --cask claudebar; then
1076
+ print_success "ClaudeBar installed"
1077
+ print_info "Launch from Applications or Spotlight to start monitoring quotas"
1078
+ else
1079
+ print_warning "Failed to install ClaudeBar via Homebrew"
1080
+ echo " Download manually: https://github.com/tddworks/ClaudeBar/releases/latest"
1081
+ fi
1082
+ else
1083
+ print_info "Skipped ClaudeBar installation"
1084
+ print_info "Install later: brew install --cask claudebar"
1085
+ fi
1086
+
1087
+ return 0
1088
+ }
1089
+
1044
1090
  setup_ssh_key() {
1045
1091
  print_info "Checking SSH key setup..."
1046
1092
 
package/setup.sh CHANGED
@@ -10,7 +10,7 @@ shopt -s inherit_errexit 2>/dev/null || true
10
10
  # AI Assistant Server Access Framework Setup Script
11
11
  # Helps developers set up the framework for their infrastructure
12
12
  #
13
- # Version: 3.1.40
13
+ # Version: 3.1.42
14
14
  #
15
15
  # Quick Install:
16
16
  # npm install -g aidevops && aidevops update (recommended)
@@ -765,6 +765,7 @@ main() {
765
765
  confirm_step "Check Python version (recommend upgrade if outdated)" && check_python_upgrade_available
766
766
  confirm_step "Setup recommended tools (Tabby, Zed, etc.)" && setup_recommended_tools
767
767
  confirm_step "Setup MiniSim (iOS/Android emulator launcher)" && setup_minisim
768
+ confirm_step "Setup ClaudeBar (AI quota monitor in menu bar)" && setup_claudebar
768
769
  confirm_step "Setup Git CLIs (gh, glab, tea)" && setup_git_clis
769
770
  confirm_step "Setup file discovery tools (fd, ripgrep, ripgrep-all)" && setup_file_discovery_tools
770
771
  confirm_step "Setup rtk (token-optimized CLI output, 60-90% savings)" && setup_rtk
@@ -1534,9 +1535,10 @@ ST_PLIST
1534
1535
  fi
1535
1536
 
1536
1537
  # Profile README auto-update scheduled job.
1537
- # Only installed if user has a profile repo (priority: "profile") in repos.json.
1538
+ # Installed whenever gh CLI is available the update script self-heals
1539
+ # (discovers/creates the profile repo on first run via _resolve_profile_repo).
1538
1540
  # macOS: launchd plist (hourly) | Linux: cron (hourly)
1539
- if [[ -x "$pr_script" ]] && [[ "$has_profile_repo" == "true" ]]; then
1541
+ if [[ -x "$pr_script" ]] && command -v gh &>/dev/null; then
1540
1542
  mkdir -p "$HOME/.aidevops/.agent-workspace/logs"
1541
1543
 
1542
1544
  if [[ "$(uname -s)" == "Darwin" ]]; then