aidevops 2.52.1 → 2.53.2
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 +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +15 -9
- package/package.json +4 -4
- package/scripts/npm-postinstall.js +6 -7
- package/setup.sh +1 -1
- package/templates/deploy-templates.sh +144 -0
- package/templates/home/.agent/README.md +33 -0
- package/templates/home/AGENTS.md +96 -0
- package/templates/home/git/.agent/README.md +48 -0
- package/templates/home/git/AGENTS.md +97 -0
- package/templates/standard-functions.sh +179 -0
- package/templates/wordpress-performance-workflow.md +217 -0
- package/.agent/AGENTS.md +0 -614
- package/.agent/accounts.md +0 -65
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +0 -456
- package/.agent/aidevops/api-integrations.md +0 -335
- package/.agent/aidevops/architecture.md +0 -510
- package/.agent/aidevops/configs.md +0 -274
- package/.agent/aidevops/docs.md +0 -244
- package/.agent/aidevops/extension.md +0 -311
- package/.agent/aidevops/mcp-integrations.md +0 -340
- package/.agent/aidevops/mcp-troubleshooting.md +0 -162
- package/.agent/aidevops/memory-patterns.md +0 -172
- package/.agent/aidevops/providers.md +0 -217
- package/.agent/aidevops/recommendations.md +0 -321
- package/.agent/aidevops/requirements.md +0 -301
- package/.agent/aidevops/resources.md +0 -214
- package/.agent/aidevops/security-requirements.md +0 -174
- package/.agent/aidevops/security.md +0 -350
- package/.agent/aidevops/service-links.md +0 -400
- package/.agent/aidevops/services.md +0 -357
- package/.agent/aidevops/setup.md +0 -153
- package/.agent/aidevops/troubleshooting.md +0 -389
- package/.agent/aidevops.md +0 -124
- package/.agent/build-plus.md +0 -244
- package/.agent/content/guidelines.md +0 -109
- package/.agent/content.md +0 -87
- package/.agent/health.md +0 -59
- package/.agent/legal.md +0 -59
- package/.agent/loop-state/full-loop.local.md +0 -16
- package/.agent/loop-state/ralph-loop.local.md +0 -10
- package/.agent/marketing.md +0 -440
- package/.agent/memory/README.md +0 -260
- package/.agent/onboarding.md +0 -796
- package/.agent/plan-plus.md +0 -245
- package/.agent/research.md +0 -100
- package/.agent/sales.md +0 -333
- package/.agent/scripts/101domains-helper.sh +0 -701
- package/.agent/scripts/add-missing-returns.sh +0 -140
- package/.agent/scripts/agent-browser-helper.sh +0 -311
- package/.agent/scripts/agno-setup.sh +0 -712
- package/.agent/scripts/ahrefs-mcp-wrapper.js +0 -168
- package/.agent/scripts/aidevops-update-check.sh +0 -71
- package/.agent/scripts/ampcode-cli.sh +0 -522
- package/.agent/scripts/auto-version-bump.sh +0 -156
- package/.agent/scripts/autogen-helper.sh +0 -512
- package/.agent/scripts/beads-sync-helper.sh +0 -596
- package/.agent/scripts/closte-helper.sh +0 -5
- package/.agent/scripts/cloudron-helper.sh +0 -321
- package/.agent/scripts/codacy-cli-chunked.sh +0 -581
- package/.agent/scripts/codacy-cli.sh +0 -442
- package/.agent/scripts/code-audit-helper.sh +0 -5
- package/.agent/scripts/coderabbit-cli.sh +0 -417
- package/.agent/scripts/coderabbit-pro-analysis.sh +0 -238
- package/.agent/scripts/commands/code-simplifier.md +0 -86
- package/.agent/scripts/commands/full-loop.md +0 -246
- package/.agent/scripts/commands/postflight-loop.md +0 -103
- package/.agent/scripts/commands/recall.md +0 -182
- package/.agent/scripts/commands/remember.md +0 -132
- package/.agent/scripts/commands/save-todo.md +0 -175
- package/.agent/scripts/commands/session-review.md +0 -154
- package/.agent/scripts/comprehensive-quality-fix.sh +0 -106
- package/.agent/scripts/context-builder-helper.sh +0 -522
- package/.agent/scripts/coolify-cli-helper.sh +0 -674
- package/.agent/scripts/coolify-helper.sh +0 -380
- package/.agent/scripts/crawl4ai-examples.sh +0 -401
- package/.agent/scripts/crawl4ai-helper.sh +0 -1078
- package/.agent/scripts/crewai-helper.sh +0 -681
- package/.agent/scripts/dev-browser-helper.sh +0 -513
- package/.agent/scripts/dns-helper.sh +0 -396
- package/.agent/scripts/domain-research-helper.sh +0 -917
- package/.agent/scripts/dspy-helper.sh +0 -285
- package/.agent/scripts/dspyground-helper.sh +0 -291
- package/.agent/scripts/eeat-score-helper.sh +0 -1242
- package/.agent/scripts/efficient-return-fix.sh +0 -92
- package/.agent/scripts/extract-opencode-prompts.sh +0 -128
- package/.agent/scripts/find-missing-returns.sh +0 -113
- package/.agent/scripts/fix-auth-headers.sh +0 -104
- package/.agent/scripts/fix-common-strings.sh +0 -254
- package/.agent/scripts/fix-content-type.sh +0 -100
- package/.agent/scripts/fix-error-messages.sh +0 -130
- package/.agent/scripts/fix-misplaced-returns.sh +0 -74
- package/.agent/scripts/fix-remaining-literals.sh +0 -152
- package/.agent/scripts/fix-return-statements.sh +0 -41
- package/.agent/scripts/fix-s131-default-cases.sh +0 -249
- package/.agent/scripts/fix-sc2155-simple.sh +0 -102
- package/.agent/scripts/fix-shellcheck-critical.sh +0 -187
- package/.agent/scripts/fix-string-literals.sh +0 -273
- package/.agent/scripts/full-loop-helper.sh +0 -773
- package/.agent/scripts/generate-opencode-agents.sh +0 -497
- package/.agent/scripts/generate-opencode-commands.sh +0 -1629
- package/.agent/scripts/generate-skills.sh +0 -366
- package/.agent/scripts/git-platforms-helper.sh +0 -640
- package/.agent/scripts/gitea-cli-helper.sh +0 -743
- package/.agent/scripts/github-cli-helper.sh +0 -702
- package/.agent/scripts/gitlab-cli-helper.sh +0 -682
- package/.agent/scripts/gsc-add-user-helper.sh +0 -325
- package/.agent/scripts/gsc-sitemap-helper.sh +0 -678
- package/.agent/scripts/hetzner-helper.sh +0 -485
- package/.agent/scripts/hostinger-helper.sh +0 -229
- package/.agent/scripts/keyword-research-helper.sh +0 -1815
- package/.agent/scripts/langflow-helper.sh +0 -544
- package/.agent/scripts/linkedin-automation.py +0 -241
- package/.agent/scripts/linter-manager.sh +0 -599
- package/.agent/scripts/linters-local.sh +0 -434
- package/.agent/scripts/list-keys-helper.sh +0 -488
- package/.agent/scripts/local-browser-automation.py +0 -339
- package/.agent/scripts/localhost-helper.sh +0 -744
- package/.agent/scripts/loop-common.sh +0 -806
- package/.agent/scripts/mainwp-helper.sh +0 -728
- package/.agent/scripts/markdown-formatter.sh +0 -338
- package/.agent/scripts/markdown-lint-fix.sh +0 -311
- package/.agent/scripts/mass-fix-returns.sh +0 -58
- package/.agent/scripts/mcp-diagnose.sh +0 -167
- package/.agent/scripts/mcp-inspector-helper.sh +0 -449
- package/.agent/scripts/memory-helper.sh +0 -650
- package/.agent/scripts/monitor-code-review.sh +0 -255
- package/.agent/scripts/onboarding-helper.sh +0 -706
- package/.agent/scripts/opencode-github-setup-helper.sh +0 -797
- package/.agent/scripts/opencode-test-helper.sh +0 -213
- package/.agent/scripts/pagespeed-helper.sh +0 -464
- package/.agent/scripts/pandoc-helper.sh +0 -362
- package/.agent/scripts/postflight-check.sh +0 -555
- package/.agent/scripts/pre-commit-hook.sh +0 -259
- package/.agent/scripts/pre-edit-check.sh +0 -169
- package/.agent/scripts/qlty-cli.sh +0 -356
- package/.agent/scripts/quality-cli-manager.sh +0 -525
- package/.agent/scripts/quality-feedback-helper.sh +0 -462
- package/.agent/scripts/quality-fix.sh +0 -263
- package/.agent/scripts/quality-loop-helper.sh +0 -1108
- package/.agent/scripts/ralph-loop-helper.sh +0 -836
- package/.agent/scripts/ralph-upstream-check.sh +0 -341
- package/.agent/scripts/secretlint-helper.sh +0 -847
- package/.agent/scripts/servers-helper.sh +0 -241
- package/.agent/scripts/ses-helper.sh +0 -619
- package/.agent/scripts/session-review-helper.sh +0 -404
- package/.agent/scripts/setup-linters-wizard.sh +0 -379
- package/.agent/scripts/setup-local-api-keys.sh +0 -330
- package/.agent/scripts/setup-mcp-integrations.sh +0 -472
- package/.agent/scripts/shared-constants.sh +0 -246
- package/.agent/scripts/site-crawler-helper.sh +0 -1487
- package/.agent/scripts/snyk-helper.sh +0 -940
- package/.agent/scripts/sonarcloud-autofix.sh +0 -193
- package/.agent/scripts/sonarcloud-cli.sh +0 -191
- package/.agent/scripts/sonarscanner-cli.sh +0 -455
- package/.agent/scripts/spaceship-helper.sh +0 -747
- package/.agent/scripts/stagehand-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-setup.sh +0 -441
- package/.agent/scripts/stagehand-setup.sh +0 -439
- package/.agent/scripts/system-cleanup.sh +0 -340
- package/.agent/scripts/terminal-title-helper.sh +0 -388
- package/.agent/scripts/terminal-title-setup.sh +0 -549
- package/.agent/scripts/test-stagehand-both-integration.sh +0 -317
- package/.agent/scripts/test-stagehand-integration.sh +0 -309
- package/.agent/scripts/test-stagehand-python-integration.sh +0 -341
- package/.agent/scripts/todo-ready.sh +0 -263
- package/.agent/scripts/tool-version-check.sh +0 -362
- package/.agent/scripts/toon-helper.sh +0 -469
- package/.agent/scripts/twilio-helper.sh +0 -917
- package/.agent/scripts/updown-helper.sh +0 -279
- package/.agent/scripts/validate-mcp-integrations.sh +0 -250
- package/.agent/scripts/validate-version-consistency.sh +0 -131
- package/.agent/scripts/vaultwarden-helper.sh +0 -597
- package/.agent/scripts/vercel-cli-helper.sh +0 -816
- package/.agent/scripts/verify-mirrors.sh +0 -169
- package/.agent/scripts/version-manager.sh +0 -831
- package/.agent/scripts/webhosting-helper.sh +0 -471
- package/.agent/scripts/webhosting-verify.sh +0 -238
- package/.agent/scripts/wordpress-mcp-helper.sh +0 -508
- package/.agent/scripts/worktree-helper.sh +0 -595
- package/.agent/scripts/worktree-sessions.sh +0 -577
- package/.agent/seo/dataforseo.md +0 -215
- package/.agent/seo/domain-research.md +0 -532
- package/.agent/seo/eeat-score.md +0 -659
- package/.agent/seo/google-search-console.md +0 -366
- package/.agent/seo/gsc-sitemaps.md +0 -282
- package/.agent/seo/keyword-research.md +0 -521
- package/.agent/seo/serper.md +0 -278
- package/.agent/seo/site-crawler.md +0 -387
- package/.agent/seo.md +0 -236
- package/.agent/services/accounting/quickfile.md +0 -159
- package/.agent/services/communications/telfon.md +0 -470
- package/.agent/services/communications/twilio.md +0 -569
- package/.agent/services/crm/fluentcrm.md +0 -449
- package/.agent/services/email/ses.md +0 -399
- package/.agent/services/hosting/101domains.md +0 -378
- package/.agent/services/hosting/closte.md +0 -177
- package/.agent/services/hosting/cloudflare.md +0 -251
- package/.agent/services/hosting/cloudron.md +0 -478
- package/.agent/services/hosting/dns-providers.md +0 -335
- package/.agent/services/hosting/domain-purchasing.md +0 -344
- package/.agent/services/hosting/hetzner.md +0 -327
- package/.agent/services/hosting/hostinger.md +0 -287
- package/.agent/services/hosting/localhost.md +0 -419
- package/.agent/services/hosting/spaceship.md +0 -353
- package/.agent/services/hosting/webhosting.md +0 -330
- package/.agent/social-media.md +0 -69
- package/.agent/templates/plans-template.md +0 -114
- package/.agent/templates/prd-template.md +0 -129
- package/.agent/templates/tasks-template.md +0 -108
- package/.agent/templates/todo-template.md +0 -89
- package/.agent/tools/ai-assistants/agno.md +0 -471
- package/.agent/tools/ai-assistants/capsolver.md +0 -326
- package/.agent/tools/ai-assistants/configuration.md +0 -221
- package/.agent/tools/ai-assistants/overview.md +0 -209
- package/.agent/tools/ai-assistants/status.md +0 -171
- package/.agent/tools/ai-assistants/windsurf.md +0 -193
- package/.agent/tools/ai-orchestration/autogen.md +0 -406
- package/.agent/tools/ai-orchestration/crewai.md +0 -445
- package/.agent/tools/ai-orchestration/langflow.md +0 -405
- package/.agent/tools/ai-orchestration/openprose.md +0 -487
- package/.agent/tools/ai-orchestration/overview.md +0 -362
- package/.agent/tools/ai-orchestration/packaging.md +0 -647
- package/.agent/tools/browser/agent-browser.md +0 -464
- package/.agent/tools/browser/browser-automation.md +0 -400
- package/.agent/tools/browser/chrome-devtools.md +0 -282
- package/.agent/tools/browser/crawl4ai-integration.md +0 -422
- package/.agent/tools/browser/crawl4ai-resources.md +0 -277
- package/.agent/tools/browser/crawl4ai-usage.md +0 -416
- package/.agent/tools/browser/crawl4ai.md +0 -585
- package/.agent/tools/browser/dev-browser.md +0 -341
- package/.agent/tools/browser/pagespeed.md +0 -260
- package/.agent/tools/browser/playwright.md +0 -266
- package/.agent/tools/browser/playwriter.md +0 -310
- package/.agent/tools/browser/stagehand-examples.md +0 -456
- package/.agent/tools/browser/stagehand-python.md +0 -483
- package/.agent/tools/browser/stagehand.md +0 -421
- package/.agent/tools/build-agent/agent-review.md +0 -224
- package/.agent/tools/build-agent/build-agent.md +0 -784
- package/.agent/tools/build-mcp/aidevops-plugin.md +0 -476
- package/.agent/tools/build-mcp/api-wrapper.md +0 -445
- package/.agent/tools/build-mcp/build-mcp.md +0 -240
- package/.agent/tools/build-mcp/deployment.md +0 -401
- package/.agent/tools/build-mcp/server-patterns.md +0 -632
- package/.agent/tools/build-mcp/transports.md +0 -366
- package/.agent/tools/code-review/auditing.md +0 -383
- package/.agent/tools/code-review/automation.md +0 -219
- package/.agent/tools/code-review/best-practices.md +0 -203
- package/.agent/tools/code-review/codacy.md +0 -151
- package/.agent/tools/code-review/code-simplifier.md +0 -174
- package/.agent/tools/code-review/code-standards.md +0 -309
- package/.agent/tools/code-review/coderabbit.md +0 -101
- package/.agent/tools/code-review/management.md +0 -155
- package/.agent/tools/code-review/qlty.md +0 -248
- package/.agent/tools/code-review/secretlint.md +0 -565
- package/.agent/tools/code-review/setup.md +0 -250
- package/.agent/tools/code-review/snyk.md +0 -563
- package/.agent/tools/code-review/tools.md +0 -230
- package/.agent/tools/content/summarize.md +0 -353
- package/.agent/tools/context/augment-context-engine.md +0 -468
- package/.agent/tools/context/context-builder-agent.md +0 -76
- package/.agent/tools/context/context-builder.md +0 -375
- package/.agent/tools/context/context7.md +0 -371
- package/.agent/tools/context/dspy.md +0 -302
- package/.agent/tools/context/dspyground.md +0 -374
- package/.agent/tools/context/llm-tldr.md +0 -219
- package/.agent/tools/context/osgrep.md +0 -488
- package/.agent/tools/context/prompt-optimization.md +0 -338
- package/.agent/tools/context/toon.md +0 -292
- package/.agent/tools/conversion/pandoc.md +0 -304
- package/.agent/tools/credentials/api-key-management.md +0 -154
- package/.agent/tools/credentials/api-key-setup.md +0 -224
- package/.agent/tools/credentials/environment-variables.md +0 -180
- package/.agent/tools/credentials/vaultwarden.md +0 -382
- package/.agent/tools/data-extraction/outscraper.md +0 -974
- package/.agent/tools/deployment/coolify-cli.md +0 -388
- package/.agent/tools/deployment/coolify-setup.md +0 -353
- package/.agent/tools/deployment/coolify.md +0 -345
- package/.agent/tools/deployment/vercel.md +0 -390
- package/.agent/tools/git/authentication.md +0 -132
- package/.agent/tools/git/gitea-cli.md +0 -193
- package/.agent/tools/git/github-actions.md +0 -207
- package/.agent/tools/git/github-cli.md +0 -223
- package/.agent/tools/git/gitlab-cli.md +0 -190
- package/.agent/tools/git/opencode-github-security.md +0 -350
- package/.agent/tools/git/opencode-github.md +0 -328
- package/.agent/tools/git/opencode-gitlab.md +0 -252
- package/.agent/tools/git/security.md +0 -196
- package/.agent/tools/git.md +0 -207
- package/.agent/tools/opencode/oh-my-opencode.md +0 -375
- package/.agent/tools/opencode/opencode-anthropic-auth.md +0 -446
- package/.agent/tools/opencode/opencode.md +0 -651
- package/.agent/tools/social-media/bird.md +0 -437
- package/.agent/tools/task-management/beads.md +0 -336
- package/.agent/tools/terminal/terminal-title.md +0 -251
- package/.agent/tools/ui/shadcn.md +0 -196
- package/.agent/tools/ui/ui-skills.md +0 -115
- package/.agent/tools/wordpress/localwp.md +0 -311
- package/.agent/tools/wordpress/mainwp.md +0 -391
- package/.agent/tools/wordpress/scf.md +0 -527
- package/.agent/tools/wordpress/wp-admin.md +0 -729
- package/.agent/tools/wordpress/wp-dev.md +0 -940
- package/.agent/tools/wordpress/wp-preferred.md +0 -398
- package/.agent/tools/wordpress.md +0 -95
- package/.agent/workflows/branch/bugfix.md +0 -63
- package/.agent/workflows/branch/chore.md +0 -95
- package/.agent/workflows/branch/experiment.md +0 -115
- package/.agent/workflows/branch/feature.md +0 -59
- package/.agent/workflows/branch/hotfix.md +0 -98
- package/.agent/workflows/branch/refactor.md +0 -92
- package/.agent/workflows/branch/release.md +0 -96
- package/.agent/workflows/branch.md +0 -347
- package/.agent/workflows/bug-fixing.md +0 -267
- package/.agent/workflows/changelog.md +0 -129
- package/.agent/workflows/code-audit-remote.md +0 -279
- package/.agent/workflows/conversation-starter.md +0 -69
- package/.agent/workflows/error-feedback.md +0 -578
- package/.agent/workflows/feature-development.md +0 -355
- package/.agent/workflows/git-workflow.md +0 -702
- package/.agent/workflows/multi-repo-workspace.md +0 -268
- package/.agent/workflows/plans.md +0 -709
- package/.agent/workflows/postflight.md +0 -604
- package/.agent/workflows/pr.md +0 -571
- package/.agent/workflows/preflight.md +0 -278
- package/.agent/workflows/ralph-loop.md +0 -773
- package/.agent/workflows/release.md +0 -498
- package/.agent/workflows/session-manager.md +0 -254
- package/.agent/workflows/session-review.md +0 -311
- package/.agent/workflows/sql-migrations.md +0 -631
- package/.agent/workflows/version-bump.md +0 -283
- package/.agent/workflows/wiki-update.md +0 -333
- package/.agent/workflows/worktree.md +0 -477
|
@@ -1,455 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
|
|
3
|
-
|
|
4
|
-
# SonarScanner CLI Integration Script
|
|
5
|
-
# Comprehensive SonarQube Cloud analysis with SonarScanner CLI
|
|
6
|
-
#
|
|
7
|
-
# Usage: ./sonarscanner-cli.sh [command] [options]
|
|
8
|
-
# Commands:
|
|
9
|
-
# install - Install SonarScanner CLI
|
|
10
|
-
# init - Initialize project configuration
|
|
11
|
-
# analyze - Run SonarQube analysis
|
|
12
|
-
# status - Check CLI status and configuration
|
|
13
|
-
# help - Show this help message
|
|
14
|
-
#
|
|
15
|
-
# Author: AI DevOps Framework
|
|
16
|
-
# Version: 1.1.1
|
|
17
|
-
# License: MIT
|
|
18
|
-
|
|
19
|
-
# Colors for output
|
|
20
|
-
readonly GREEN='\033[0;32m'
|
|
21
|
-
readonly BLUE='\033[0;34m'
|
|
22
|
-
readonly YELLOW='\033[1;33m'
|
|
23
|
-
readonly RED='\033[0;31m'
|
|
24
|
-
readonly PURPLE='\033[0;35m'
|
|
25
|
-
readonly NC='\033[0m' # No Color
|
|
26
|
-
|
|
27
|
-
# Common constants
|
|
28
|
-
readonly ERROR_UNKNOWN_COMMAND="Unknown command:"
|
|
29
|
-
# Configuration
|
|
30
|
-
readonly SONAR_SCANNER_VERSION="7.3"
|
|
31
|
-
readonly SONAR_CONFIG_FILE="sonar-project.properties"
|
|
32
|
-
readonly SONAR_HOST_URL="https://sonarcloud.io"
|
|
33
|
-
|
|
34
|
-
# Print functions
|
|
35
|
-
print_success() {
|
|
36
|
-
local message="$1"
|
|
37
|
-
echo -e "${GREEN}✅ $message${NC}"
|
|
38
|
-
return 0
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
print_info() {
|
|
42
|
-
local message="$1"
|
|
43
|
-
echo -e "${BLUE}ℹ️ $message${NC}"
|
|
44
|
-
return 0
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
print_warning() {
|
|
48
|
-
local message="$1"
|
|
49
|
-
echo -e "${YELLOW}⚠️ $message${NC}"
|
|
50
|
-
return 0
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
print_error() {
|
|
54
|
-
local message="$1"
|
|
55
|
-
echo -e "${RED}❌ $message${NC}" >&2
|
|
56
|
-
return 0
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
print_header() {
|
|
60
|
-
local message="$1"
|
|
61
|
-
echo -e "${PURPLE}🔍 $message${NC}"
|
|
62
|
-
return 0
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
# Check if SonarScanner CLI is installed
|
|
66
|
-
check_sonar_scanner() {
|
|
67
|
-
if command -v sonar-scanner &> /dev/null; then
|
|
68
|
-
local version
|
|
69
|
-
version=$(sonar-scanner -v 2>/dev/null | grep "SonarScanner" | head -1 || echo "unknown")
|
|
70
|
-
print_success "SonarScanner CLI installed: $version"
|
|
71
|
-
return 0
|
|
72
|
-
else
|
|
73
|
-
print_warning "SonarScanner CLI not found"
|
|
74
|
-
return 1
|
|
75
|
-
fi
|
|
76
|
-
return 0
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# Install SonarScanner CLI
|
|
80
|
-
install_sonar_scanner() {
|
|
81
|
-
print_header "Installing SonarScanner CLI"
|
|
82
|
-
|
|
83
|
-
# Detect platform and architecture
|
|
84
|
-
local platform
|
|
85
|
-
local arch
|
|
86
|
-
local download_url
|
|
87
|
-
|
|
88
|
-
case "$(uname -s)" in
|
|
89
|
-
Darwin*)
|
|
90
|
-
platform="macosx"
|
|
91
|
-
case "$(uname -m)" in
|
|
92
|
-
arm64|aarch64)
|
|
93
|
-
arch="aarch64"
|
|
94
|
-
;;
|
|
95
|
-
*)
|
|
96
|
-
arch="x64"
|
|
97
|
-
;;
|
|
98
|
-
esac
|
|
99
|
-
;;
|
|
100
|
-
Linux*)
|
|
101
|
-
platform="linux"
|
|
102
|
-
case "$(uname -m)" in
|
|
103
|
-
aarch64|arm64)
|
|
104
|
-
arch="aarch64"
|
|
105
|
-
;;
|
|
106
|
-
*)
|
|
107
|
-
arch="x64"
|
|
108
|
-
;;
|
|
109
|
-
esac
|
|
110
|
-
;;
|
|
111
|
-
*)
|
|
112
|
-
print_error "Unsupported platform: $(uname -s)"
|
|
113
|
-
print_info "For Windows, use WSL and follow Linux instructions"
|
|
114
|
-
return 1
|
|
115
|
-
;;
|
|
116
|
-
esac
|
|
117
|
-
|
|
118
|
-
# Construct download URL
|
|
119
|
-
download_url="https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}-${platform}-${arch}.zip"
|
|
120
|
-
|
|
121
|
-
print_info "Platform: $platform-$arch"
|
|
122
|
-
print_info "Downloading from: $download_url"
|
|
123
|
-
|
|
124
|
-
# Create temporary directory
|
|
125
|
-
local temp_dir
|
|
126
|
-
temp_dir=$(mktemp -d)
|
|
127
|
-
local zip_file="$temp_dir/sonar-scanner.zip"
|
|
128
|
-
|
|
129
|
-
# Download
|
|
130
|
-
if command -v curl &> /dev/null; then
|
|
131
|
-
curl -L -o "$zip_file" "$download_url"
|
|
132
|
-
elif command -v wget &> /dev/null; then
|
|
133
|
-
wget -O "$zip_file" "$download_url"
|
|
134
|
-
else
|
|
135
|
-
print_error "Neither curl nor wget found. Please install one of them."
|
|
136
|
-
return 1
|
|
137
|
-
fi
|
|
138
|
-
|
|
139
|
-
if [[ ! -f "$zip_file" ]]; then
|
|
140
|
-
print_error "Download failed"
|
|
141
|
-
return 1
|
|
142
|
-
fi
|
|
143
|
-
|
|
144
|
-
# Extract to /opt/sonar-scanner (requires sudo) or ~/sonar-scanner
|
|
145
|
-
local install_dir
|
|
146
|
-
if [[ -w "/opt" ]]; then
|
|
147
|
-
install_dir="/opt/sonar-scanner"
|
|
148
|
-
else
|
|
149
|
-
install_dir="$HOME/sonar-scanner"
|
|
150
|
-
print_info "Installing to user directory: $install_dir"
|
|
151
|
-
fi
|
|
152
|
-
|
|
153
|
-
# Create install directory
|
|
154
|
-
mkdir -p "$install_dir"
|
|
155
|
-
|
|
156
|
-
# Extract
|
|
157
|
-
if command -v unzip &> /dev/null; then
|
|
158
|
-
unzip -q "$zip_file" -d "$temp_dir"
|
|
159
|
-
# Find extracted directory
|
|
160
|
-
local extracted_dir
|
|
161
|
-
extracted_dir=$(find "$temp_dir" -name "sonar-scanner-*" -type d | head -1)
|
|
162
|
-
if [[ -n "$extracted_dir" ]]; then
|
|
163
|
-
cp -r "$extracted_dir"/* "$install_dir/"
|
|
164
|
-
else
|
|
165
|
-
print_error "Extraction failed - directory not found"
|
|
166
|
-
return 1
|
|
167
|
-
fi
|
|
168
|
-
else
|
|
169
|
-
print_error "unzip command not found. Please install unzip."
|
|
170
|
-
return 1
|
|
171
|
-
fi
|
|
172
|
-
|
|
173
|
-
# Make executable
|
|
174
|
-
chmod +x "$install_dir/bin/sonar-scanner"
|
|
175
|
-
|
|
176
|
-
# Add to PATH (add to shell profile)
|
|
177
|
-
local shell_profile
|
|
178
|
-
case "$SHELL" in
|
|
179
|
-
*/bash)
|
|
180
|
-
shell_profile="$HOME/.bashrc"
|
|
181
|
-
;;
|
|
182
|
-
*/zsh)
|
|
183
|
-
shell_profile="$HOME/.zshrc"
|
|
184
|
-
;;
|
|
185
|
-
*)
|
|
186
|
-
shell_profile="$HOME/.profile"
|
|
187
|
-
;;
|
|
188
|
-
esac
|
|
189
|
-
|
|
190
|
-
# Check if already in PATH
|
|
191
|
-
if ! echo "$PATH" | grep -q "$install_dir/bin"; then
|
|
192
|
-
echo "export PATH=\"$install_dir/bin:\$PATH\"" >> "$shell_profile"
|
|
193
|
-
export PATH="$install_dir/bin:$PATH"
|
|
194
|
-
print_info "Added to PATH in $shell_profile"
|
|
195
|
-
fi
|
|
196
|
-
|
|
197
|
-
# Cleanup
|
|
198
|
-
rm -rf "$temp_dir"
|
|
199
|
-
|
|
200
|
-
# Verify installation
|
|
201
|
-
if check_sonar_scanner; then
|
|
202
|
-
print_success "SonarScanner CLI installed successfully"
|
|
203
|
-
print_info "Restart your shell or run: source $shell_profile"
|
|
204
|
-
return 0
|
|
205
|
-
else
|
|
206
|
-
print_error "Installation verification failed"
|
|
207
|
-
return 1
|
|
208
|
-
fi
|
|
209
|
-
return 0
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
# Initialize SonarQube project configuration
|
|
213
|
-
init_sonar_config() {
|
|
214
|
-
print_header "Initializing SonarQube Configuration"
|
|
215
|
-
|
|
216
|
-
# Check for required environment variables (set via mcp-env.sh, sourced by .zshrc)
|
|
217
|
-
local sonar_token="${SONAR_TOKEN:-}"
|
|
218
|
-
local sonar_organization="${SONAR_ORGANIZATION:-}"
|
|
219
|
-
local sonar_project_key="${SONAR_PROJECT_KEY:-}"
|
|
220
|
-
|
|
221
|
-
if [[ -z "$sonar_token" ]]; then
|
|
222
|
-
print_error "SONAR_TOKEN not found in environment"
|
|
223
|
-
print_info "Add to ~/.config/aidevops/mcp-env.sh:"
|
|
224
|
-
print_info " export SONAR_TOKEN=\"your-token\""
|
|
225
|
-
print_info "Get your token from: https://sonarcloud.io/account/security/"
|
|
226
|
-
return 1
|
|
227
|
-
fi
|
|
228
|
-
|
|
229
|
-
if [[ -z "$sonar_organization" ]]; then
|
|
230
|
-
print_error "SONAR_ORGANIZATION environment variable required"
|
|
231
|
-
print_info "Find your organization key in SonarCloud project settings"
|
|
232
|
-
return 1
|
|
233
|
-
fi
|
|
234
|
-
|
|
235
|
-
if [[ -z "$sonar_project_key" ]]; then
|
|
236
|
-
print_error "SONAR_PROJECT_KEY environment variable required"
|
|
237
|
-
print_info "Use your repository name or custom project key"
|
|
238
|
-
return 1
|
|
239
|
-
fi
|
|
240
|
-
|
|
241
|
-
# Create sonar-project.properties
|
|
242
|
-
cat > "$SONAR_CONFIG_FILE" << EOF
|
|
243
|
-
# SonarQube Cloud Configuration
|
|
244
|
-
# Generated by AI DevOps Framework
|
|
245
|
-
|
|
246
|
-
# Organization and project keys
|
|
247
|
-
sonar.organization=$sonar_organization
|
|
248
|
-
sonar.projectKey=$sonar_project_key
|
|
249
|
-
sonar.host.url=$SONAR_HOST_URL
|
|
250
|
-
|
|
251
|
-
# Project information
|
|
252
|
-
sonar.projectName=${SONAR_PROJECT_NAME:-$sonar_project_key}
|
|
253
|
-
sonar.projectVersion=${SONAR_PROJECT_VERSION:-1.0}
|
|
254
|
-
|
|
255
|
-
# Source configuration
|
|
256
|
-
sonar.sources=${SONAR_SOURCES:-.}
|
|
257
|
-
sonar.sourceEncoding=${SONAR_SOURCE_ENCODING:-UTF-8}
|
|
258
|
-
|
|
259
|
-
# Exclusions (customize as needed)
|
|
260
|
-
sonar.exclusions=**/*test*/**,**/*Test*/**,**/node_modules/**,**/vendor/**,**/*.min.js
|
|
261
|
-
|
|
262
|
-
# Language-specific settings
|
|
263
|
-
sonar.javascript.lcov.reportPaths=coverage/lcov.info
|
|
264
|
-
sonar.python.coverage.reportPaths=coverage.xml
|
|
265
|
-
sonar.java.binaries=target/classes
|
|
266
|
-
sonar.java.test.binaries=target/test-classes
|
|
267
|
-
|
|
268
|
-
# Quality gate
|
|
269
|
-
sonar.qualitygate.wait=${SONAR_QUALITYGATE_WAIT:-false}
|
|
270
|
-
EOF
|
|
271
|
-
|
|
272
|
-
if [[ -f "$SONAR_CONFIG_FILE" ]]; then
|
|
273
|
-
print_success "SonarQube configuration created: $SONAR_CONFIG_FILE"
|
|
274
|
-
print_info "Customize the configuration as needed for your project"
|
|
275
|
-
return 0
|
|
276
|
-
else
|
|
277
|
-
print_error "Configuration creation failed"
|
|
278
|
-
return 1
|
|
279
|
-
fi
|
|
280
|
-
return 0
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
# Run SonarQube analysis
|
|
284
|
-
run_sonar_analysis() {
|
|
285
|
-
print_header "Running SonarQube Analysis"
|
|
286
|
-
|
|
287
|
-
# Check for configuration
|
|
288
|
-
if [[ ! -f "$SONAR_CONFIG_FILE" ]]; then
|
|
289
|
-
print_warning "Configuration file not found: $SONAR_CONFIG_FILE"
|
|
290
|
-
print_info "Attempting to run with environment variables..."
|
|
291
|
-
fi
|
|
292
|
-
|
|
293
|
-
# Check for required token (set via mcp-env.sh, sourced by .zshrc)
|
|
294
|
-
local sonar_token="${SONAR_TOKEN:-}"
|
|
295
|
-
if [[ -z "$sonar_token" ]]; then
|
|
296
|
-
print_error "SONAR_TOKEN not found in environment"
|
|
297
|
-
print_info "Add to ~/.config/aidevops/mcp-env.sh:"
|
|
298
|
-
print_info " export SONAR_TOKEN=\"your-token\""
|
|
299
|
-
return 1
|
|
300
|
-
fi
|
|
301
|
-
|
|
302
|
-
# Build analysis command
|
|
303
|
-
local cmd="sonar-scanner"
|
|
304
|
-
|
|
305
|
-
# Add token
|
|
306
|
-
cmd="$cmd -Dsonar.token=$sonar_token"
|
|
307
|
-
|
|
308
|
-
# Add additional parameters if not in config file
|
|
309
|
-
if [[ ! -f "$SONAR_CONFIG_FILE" ]]; then
|
|
310
|
-
local sonar_organization="${SONAR_ORGANIZATION:-}"
|
|
311
|
-
local sonar_project_key="${SONAR_PROJECT_KEY:-}"
|
|
312
|
-
|
|
313
|
-
if [[ -n "$sonar_organization" ]]; then
|
|
314
|
-
cmd="$cmd -Dsonar.organization=$sonar_organization"
|
|
315
|
-
fi
|
|
316
|
-
|
|
317
|
-
if [[ -n "$sonar_project_key" ]]; then
|
|
318
|
-
cmd="$cmd -Dsonar.projectKey=$sonar_project_key"
|
|
319
|
-
fi
|
|
320
|
-
|
|
321
|
-
cmd="$cmd -Dsonar.host.url=$SONAR_HOST_URL"
|
|
322
|
-
cmd="$cmd -Dsonar.sources=."
|
|
323
|
-
fi
|
|
324
|
-
|
|
325
|
-
# Add debug flag if requested
|
|
326
|
-
if [[ "${SONAR_DEBUG:-false}" == "true" ]]; then
|
|
327
|
-
cmd="$cmd -X"
|
|
328
|
-
print_info "Debug mode enabled"
|
|
329
|
-
fi
|
|
330
|
-
|
|
331
|
-
# Create safe command for logging (mask the token)
|
|
332
|
-
local safe_cmd
|
|
333
|
-
safe_cmd=$(echo "$cmd" | sed 's/-Dsonar\.token=[^ ]*/-Dsonar.token=[MASKED]/g')
|
|
334
|
-
print_info "Executing: $safe_cmd"
|
|
335
|
-
eval "$cmd"
|
|
336
|
-
|
|
337
|
-
if [[ $? -eq 0 ]]; then
|
|
338
|
-
print_success "SonarQube analysis completed successfully"
|
|
339
|
-
print_info "View results at: $SONAR_HOST_URL"
|
|
340
|
-
return 0
|
|
341
|
-
else
|
|
342
|
-
print_error "SonarQube analysis failed"
|
|
343
|
-
return 1
|
|
344
|
-
fi
|
|
345
|
-
return 0
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
# Show CLI status
|
|
349
|
-
show_sonar_status() {
|
|
350
|
-
print_header "SonarScanner CLI Status"
|
|
351
|
-
|
|
352
|
-
# Check CLI installation
|
|
353
|
-
if check_sonar_scanner; then
|
|
354
|
-
echo ""
|
|
355
|
-
else
|
|
356
|
-
print_info "Run: $0 install"
|
|
357
|
-
echo ""
|
|
358
|
-
fi
|
|
359
|
-
|
|
360
|
-
# Check configuration
|
|
361
|
-
if [[ -f "$SONAR_CONFIG_FILE" ]]; then
|
|
362
|
-
print_success "Configuration found: $SONAR_CONFIG_FILE"
|
|
363
|
-
|
|
364
|
-
# Show basic config info
|
|
365
|
-
if [[ -r "$SONAR_CONFIG_FILE" ]]; then
|
|
366
|
-
local org
|
|
367
|
-
org=$(grep "^sonar.organization=" "$SONAR_CONFIG_FILE" | cut -d'=' -f2 2>/dev/null || echo "not set")
|
|
368
|
-
local project
|
|
369
|
-
project=$(grep "^sonar.projectKey=" "$SONAR_CONFIG_FILE" | cut -d'=' -f2 2>/dev/null || echo "not set")
|
|
370
|
-
print_info "Organization: $org"
|
|
371
|
-
print_info "Project Key: $project"
|
|
372
|
-
fi
|
|
373
|
-
else
|
|
374
|
-
print_warning "Configuration not found: $SONAR_CONFIG_FILE"
|
|
375
|
-
print_info "Run: $0 init"
|
|
376
|
-
fi
|
|
377
|
-
|
|
378
|
-
# Check environment variables
|
|
379
|
-
echo ""
|
|
380
|
-
print_info "Environment Configuration:"
|
|
381
|
-
[[ -n "${SONAR_TOKEN:-}" ]] && print_success "SONAR_TOKEN: Set" || print_warning "SONAR_TOKEN: Not set"
|
|
382
|
-
[[ -n "${SONAR_ORGANIZATION:-}" ]] && print_info "SONAR_ORGANIZATION: ${SONAR_ORGANIZATION}" || print_warning "SONAR_ORGANIZATION: Not set"
|
|
383
|
-
[[ -n "${SONAR_PROJECT_KEY:-}" ]] && print_info "SONAR_PROJECT_KEY: ${SONAR_PROJECT_KEY}" || print_warning "SONAR_PROJECT_KEY: Not set"
|
|
384
|
-
[[ -n "${SONAR_PROJECT_NAME:-}" ]] && print_info "SONAR_PROJECT_NAME: ${SONAR_PROJECT_NAME}" || print_info "SONAR_PROJECT_NAME: Will use project key"
|
|
385
|
-
|
|
386
|
-
return 0
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
# Show help message
|
|
390
|
-
show_help() {
|
|
391
|
-
print_header "SonarScanner CLI Integration Help"
|
|
392
|
-
echo ""
|
|
393
|
-
echo "Usage: $0 [command] [options]"
|
|
394
|
-
echo ""
|
|
395
|
-
echo "Commands:"
|
|
396
|
-
echo " install - Install SonarScanner CLI"
|
|
397
|
-
echo " init - Initialize project configuration"
|
|
398
|
-
echo " analyze - Run SonarQube analysis"
|
|
399
|
-
echo " status - Check CLI status and configuration"
|
|
400
|
-
echo " help - Show this help message"
|
|
401
|
-
echo ""
|
|
402
|
-
echo "Examples:"
|
|
403
|
-
echo " $0 install"
|
|
404
|
-
echo " $0 init"
|
|
405
|
-
echo " $0 analyze"
|
|
406
|
-
echo ""
|
|
407
|
-
echo "Required Environment Variables:"
|
|
408
|
-
echo " SONAR_TOKEN - SonarCloud authentication token"
|
|
409
|
-
echo " SONAR_ORGANIZATION - SonarCloud organization key"
|
|
410
|
-
echo " SONAR_PROJECT_KEY - Project key (usually repository name)"
|
|
411
|
-
echo ""
|
|
412
|
-
echo "Optional Environment Variables:"
|
|
413
|
-
echo " SONAR_PROJECT_NAME - Human-readable project name"
|
|
414
|
-
echo " SONAR_PROJECT_VERSION - Project version (default: 1.0)"
|
|
415
|
-
echo " SONAR_SOURCES - Source directories (default: .)"
|
|
416
|
-
echo " SONAR_SOURCE_ENCODING - Source encoding (default: UTF-8)"
|
|
417
|
-
echo " SONAR_QUALITYGATE_WAIT - Wait for quality gate (default: false)"
|
|
418
|
-
echo " SONAR_DEBUG - Enable debug mode (default: false)"
|
|
419
|
-
echo ""
|
|
420
|
-
echo "This script integrates SonarScanner CLI into the AI DevOps Framework"
|
|
421
|
-
echo "for comprehensive SonarQube Cloud analysis and quality assurance."
|
|
422
|
-
return 0
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
# Main function
|
|
426
|
-
main() {
|
|
427
|
-
local command="${1:-help}"
|
|
428
|
-
|
|
429
|
-
case "$command" in
|
|
430
|
-
"install")
|
|
431
|
-
install_sonar_scanner
|
|
432
|
-
;;
|
|
433
|
-
"init")
|
|
434
|
-
init_sonar_config
|
|
435
|
-
;;
|
|
436
|
-
"analyze")
|
|
437
|
-
run_sonar_analysis
|
|
438
|
-
;;
|
|
439
|
-
"status")
|
|
440
|
-
show_sonar_status
|
|
441
|
-
;;
|
|
442
|
-
"help"|"--help"|"-h")
|
|
443
|
-
show_help
|
|
444
|
-
;;
|
|
445
|
-
*)
|
|
446
|
-
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
447
|
-
show_help
|
|
448
|
-
return 1
|
|
449
|
-
;;
|
|
450
|
-
esac
|
|
451
|
-
return 0
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
# Execute main function with all arguments
|
|
455
|
-
main "$@"
|