aidevops 3.5.457 → 3.5.459

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.5.457
1
+ 3.5.459
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.5.457
6
+ # Version: 3.5.459
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.5.457",
3
+ "version": "3.5.459",
4
4
  "description": "AI DevOps Framework - AI-assisted development workflows, code quality, and deployment automation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -316,6 +316,7 @@ ensure_homebrew() {
316
316
  print_info "Homebrew (Linuxbrew) is not installed."
317
317
  print_info "Several optional tools (Beads CLI, Worktrunk, bv) install via Homebrew taps."
318
318
  echo ""
319
+ local install_brew="Y"
319
320
  setup_prompt install_brew "Install Homebrew for Linux? [Y/n]: " "Y"
320
321
 
321
322
  if [[ ! "$install_brew" =~ ^[Yy]?$ ]]; then
@@ -512,6 +513,7 @@ check_requirements() {
512
513
  fi
513
514
 
514
515
  echo ""
516
+ local install_deps="Y"
515
517
  setup_prompt install_deps "Install missing dependencies using $pkg_manager? [Y/n]: " "Y"
516
518
 
517
519
  if [[ "$install_deps" =~ ^[Yy]?$ ]]; then
@@ -532,12 +534,13 @@ check_requirements() {
532
534
  return 0
533
535
  }
534
536
 
535
- # Check for quality/linting tools (shellcheck, shfmt)
537
+ # Check for quality/linting tools (shellcheck, shfmt, markdownlint)
536
538
  # These are optional but recommended for development
537
539
  check_quality_tools() {
538
540
  print_info "Checking quality tools..."
539
541
 
540
542
  local missing_tools=()
543
+ local missing_npm_tools=()
541
544
 
542
545
  # Check for shellcheck
543
546
  if command -v shellcheck >/dev/null 2>&1; then
@@ -553,19 +556,42 @@ check_quality_tools() {
553
556
  missing_tools+=("shfmt")
554
557
  fi
555
558
 
559
+ # Check for markdownlint (accept either CLI variant)
560
+ if command -v markdownlint >/dev/null 2>&1; then
561
+ print_success "markdownlint: $(markdownlint --version 2>/dev/null | head -1)"
562
+ elif command -v markdownlint-cli2 >/dev/null 2>&1; then
563
+ print_success "markdownlint-cli2: $(markdownlint-cli2 --version 2>/dev/null | head -1)"
564
+ else
565
+ missing_npm_tools+=("markdownlint-cli2")
566
+ fi
567
+
556
568
  # If all tools present, return early
557
- if [[ ${#missing_tools[@]} -eq 0 ]]; then
569
+ if [[ ${#missing_tools[@]} -eq 0 && ${#missing_npm_tools[@]} -eq 0 ]]; then
558
570
  print_success "All quality tools installed"
559
571
  return 0
560
572
  fi
561
573
 
562
574
  # Show missing tools
563
- print_warning "Missing quality tools: ${missing_tools[*]}"
575
+ if [[ ${#missing_tools[@]} -gt 0 ]]; then
576
+ print_warning "Missing quality tools: ${missing_tools[*]}"
577
+ fi
578
+ if [[ ${#missing_npm_tools[@]} -gt 0 ]]; then
579
+ print_warning "Missing npm quality tools: ${missing_npm_tools[*]}"
580
+ fi
564
581
  print_info "These tools are used by linters-local.sh for code quality checks"
565
582
 
566
583
  # In non-interactive mode, just warn and continue
567
584
  if [[ "$NON_INTERACTIVE" == "true" ]]; then
568
- print_info "Install later: brew install ${missing_tools[*]}"
585
+ if [[ ${#missing_tools[@]} -gt 0 ]]; then
586
+ print_info "Install later: brew install ${missing_tools[*]}"
587
+ fi
588
+ if [[ ${#missing_npm_tools[@]} -gt 0 ]]; then
589
+ if command -v npm >/dev/null 2>&1; then
590
+ print_info "Install later: npm install -g ${missing_npm_tools[*]}"
591
+ else
592
+ print_info "Install later: install npm, then run npm install -g ${missing_npm_tools[*]}"
593
+ fi
594
+ fi
569
595
  return 0
570
596
  fi
571
597
 
@@ -573,27 +599,49 @@ check_quality_tools() {
573
599
  local pkg_manager
574
600
  pkg_manager=$(detect_package_manager)
575
601
 
576
- if [[ "$pkg_manager" == "unknown" ]]; then
602
+ if [[ "$pkg_manager" == "unknown" && ${#missing_tools[@]} -gt 0 ]]; then
577
603
  print_info "Install manually:"
578
604
  echo " macOS: brew install ${missing_tools[*]}"
579
605
  echo " Ubuntu/Debian: sudo apt-get install ${missing_tools[*]}"
580
606
  echo " Fedora: sudo dnf install ${missing_tools[*]}"
581
- return 0
582
- fi
607
+ elif [[ ${#missing_tools[@]} -gt 0 ]]; then
608
+ local install_quality="Y"
609
+ echo ""
610
+ setup_prompt install_quality "Install quality tools using $pkg_manager? [Y/n]: " "Y"
583
611
 
584
- echo ""
585
- setup_prompt install_quality "Install quality tools using $pkg_manager? [Y/n]: " "Y"
612
+ if [[ "$install_quality" =~ ^[Yy]?$ ]]; then
613
+ print_info "Installing ${missing_tools[*]}..."
614
+ if install_packages "$pkg_manager" "${missing_tools[@]}"; then
615
+ print_success "Quality tools installed successfully"
616
+ else
617
+ print_warning "Failed to install some quality tools - continuing anyway"
618
+ fi
619
+ else
620
+ print_info "Skipped quality tools installation"
621
+ print_info "Install later: $pkg_manager install ${missing_tools[*]}"
622
+ fi
623
+ fi
586
624
 
587
- if [[ "$install_quality" =~ ^[Yy]?$ ]]; then
588
- print_info "Installing ${missing_tools[*]}..."
589
- if install_packages "$pkg_manager" "${missing_tools[@]}"; then
590
- print_success "Quality tools installed successfully"
625
+ if [[ ${#missing_npm_tools[@]} -gt 0 ]]; then
626
+ if ! command -v npm >/dev/null 2>&1; then
627
+ print_warning "npm not found; cannot auto-install ${missing_npm_tools[*]}"
628
+ print_info "Install Node.js/npm, then run: npm install -g ${missing_npm_tools[*]}"
591
629
  else
592
- print_warning "Failed to install some quality tools - continuing anyway"
630
+ local install_npm_quality="Y"
631
+ echo ""
632
+ setup_prompt install_npm_quality "Install npm quality tools (npm install -g ${missing_npm_tools[*]})? [Y/n]: " "Y"
633
+ if [[ "$install_npm_quality" =~ ^[Yy]?$ ]]; then
634
+ print_info "Installing npm quality tools: ${missing_npm_tools[*]}..."
635
+ if npm install -g "${missing_npm_tools[@]}" >/dev/null 2>&1; then
636
+ print_success "npm quality tools installed successfully"
637
+ else
638
+ print_warning "Failed to install npm quality tools - continuing anyway"
639
+ fi
640
+ else
641
+ print_info "Skipped npm quality tools installation"
642
+ print_info "Install later: npm install -g ${missing_npm_tools[*]}"
643
+ fi
593
644
  fi
594
- else
595
- print_info "Skipped quality tools installation"
596
- print_info "Install later: $pkg_manager install ${missing_tools[*]}"
597
645
  fi
598
646
 
599
647
  return 0
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.5.457
13
+ # Version: 3.5.459
14
14
  #
15
15
  # Quick Install:
16
16
  # npm install -g aidevops && aidevops update (recommended)
@@ -740,6 +740,8 @@ _setup_run_non_interactive() {
740
740
  print_info "Non-interactive mode: deploying agents and running safe migrations only"
741
741
  verify_location
742
742
  check_requirements
743
+ # Run quality tool detection in non-interactive mode too (warn-only path).
744
+ check_quality_tools
743
745
  check_python_upgrade_available
744
746
  set_permissions
745
747
  migrate_old_backups