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,442 +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
|
-
# Codacy CLI v2 Integration Script
|
|
5
|
-
# Comprehensive local code analysis with Codacy CLI v2
|
|
6
|
-
#
|
|
7
|
-
# Usage: ./codacy-cli.sh [command] [options]
|
|
8
|
-
# Commands:
|
|
9
|
-
# install - Install Codacy CLI v2
|
|
10
|
-
# init - Initialize project configuration
|
|
11
|
-
# analyze - Run code analysis
|
|
12
|
-
# upload - Upload SARIF results to Codacy
|
|
13
|
-
# status - Check CLI status and configuration
|
|
14
|
-
# help - Show this help message
|
|
15
|
-
#
|
|
16
|
-
# Author: AI DevOps Framework
|
|
17
|
-
# Version: 1.1.1
|
|
18
|
-
# License: MIT
|
|
19
|
-
|
|
20
|
-
# Colors for output
|
|
21
|
-
readonly GREEN='\033[0;32m'
|
|
22
|
-
readonly BLUE='\033[0;34m'
|
|
23
|
-
readonly YELLOW='\033[1;33m'
|
|
24
|
-
readonly RED='\033[0;31m'
|
|
25
|
-
readonly PURPLE='\033[0;35m'
|
|
26
|
-
readonly NC='\033[0m' # No Color
|
|
27
|
-
|
|
28
|
-
# Common constants
|
|
29
|
-
readonly ERROR_UNKNOWN_COMMAND="Unknown command:"
|
|
30
|
-
# Configuration
|
|
31
|
-
readonly CODACY_CLI_VERSION="1.0.0-main.361.sha.f961a76"
|
|
32
|
-
readonly CODACY_CONFIG_DIR=".codacy"
|
|
33
|
-
readonly CODACY_CONFIG_FILE="$CODACY_CONFIG_DIR/codacy.yaml"
|
|
34
|
-
readonly CODACY_API_CONFIG="configs/codacy-config.json"
|
|
35
|
-
# API token loaded from environment variable CODACY_API_TOKEN
|
|
36
|
-
|
|
37
|
-
# Print functions
|
|
38
|
-
print_success() {
|
|
39
|
-
local message="$1"
|
|
40
|
-
echo -e "${GREEN}✅ $message${NC}"
|
|
41
|
-
return 0
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
print_info() {
|
|
45
|
-
local message="$1"
|
|
46
|
-
echo -e "${BLUE}ℹ️ $message${NC}"
|
|
47
|
-
return 0
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
print_warning() {
|
|
51
|
-
local message="$1"
|
|
52
|
-
echo -e "${YELLOW}⚠️ $message${NC}"
|
|
53
|
-
return 0
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
# Load API configuration
|
|
57
|
-
load_api_config() {
|
|
58
|
-
# Check environment variable first (set via mcp-env.sh, sourced by .zshrc)
|
|
59
|
-
# CODACY_PROJECT_TOKEN is the standard env var name
|
|
60
|
-
if [[ -z "${CODACY_API_TOKEN:-}" && -n "${CODACY_PROJECT_TOKEN:-}" ]]; then
|
|
61
|
-
export CODACY_API_TOKEN="$CODACY_PROJECT_TOKEN"
|
|
62
|
-
fi
|
|
63
|
-
|
|
64
|
-
if [[ -f "$CODACY_API_CONFIG" ]]; then
|
|
65
|
-
print_info "Loading Codacy API configuration from $CODACY_API_CONFIG"
|
|
66
|
-
|
|
67
|
-
# API token should be set in environment variable
|
|
68
|
-
if [[ -z "${CODACY_API_TOKEN:-}" ]]; then
|
|
69
|
-
print_error "CODACY_API_TOKEN/CODACY_PROJECT_TOKEN not found in environment"
|
|
70
|
-
print_info "Add to ~/.config/aidevops/mcp-env.sh:"
|
|
71
|
-
print_info " export CODACY_PROJECT_TOKEN=\"your-token\""
|
|
72
|
-
return 1
|
|
73
|
-
fi
|
|
74
|
-
|
|
75
|
-
# Set organization and repository from config if available
|
|
76
|
-
if command -v jq >/dev/null 2>&1; then
|
|
77
|
-
local org
|
|
78
|
-
org=$(jq -r '.organization // empty' "$CODACY_API_CONFIG" 2>/dev/null)
|
|
79
|
-
local repo
|
|
80
|
-
repo=$(jq -r '.repository // empty' "$CODACY_API_CONFIG" 2>/dev/null)
|
|
81
|
-
|
|
82
|
-
if [[ -n "$org" && -n "$repo" ]]; then
|
|
83
|
-
export CODACY_ORGANIZATION="$org"
|
|
84
|
-
export CODACY_REPOSITORY="$repo"
|
|
85
|
-
print_success "Configured for organization: $org, repository: $repo"
|
|
86
|
-
fi
|
|
87
|
-
fi
|
|
88
|
-
|
|
89
|
-
return 0
|
|
90
|
-
else
|
|
91
|
-
print_warning "API configuration file not found: $CODACY_API_CONFIG"
|
|
92
|
-
print_info "Using default configuration with environment API token"
|
|
93
|
-
if [[ -z "$CODACY_API_TOKEN" ]]; then
|
|
94
|
-
print_error "CODACY_API_TOKEN environment variable not set"
|
|
95
|
-
return 1
|
|
96
|
-
fi
|
|
97
|
-
return 1
|
|
98
|
-
fi
|
|
99
|
-
return 0
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
print_error() {
|
|
103
|
-
local message="$1"
|
|
104
|
-
echo -e "${RED}❌ $message${NC}" >&2
|
|
105
|
-
return 0
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
print_header() {
|
|
109
|
-
local message="$1"
|
|
110
|
-
echo -e "${PURPLE}🔍 $message${NC}"
|
|
111
|
-
return 0
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
# Check if Codacy CLI is installed
|
|
115
|
-
check_codacy_cli() {
|
|
116
|
-
if command -v codacy-cli &> /dev/null; then
|
|
117
|
-
local version
|
|
118
|
-
version=$(codacy-cli version 2>/dev/null | head -1 || echo "unknown")
|
|
119
|
-
print_success "Codacy CLI installed: $version"
|
|
120
|
-
return 0
|
|
121
|
-
else
|
|
122
|
-
print_warning "Codacy CLI not found"
|
|
123
|
-
return 1
|
|
124
|
-
fi
|
|
125
|
-
return 0
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
# Install Codacy CLI v2
|
|
129
|
-
install_codacy_cli() {
|
|
130
|
-
print_header "Installing Codacy CLI v2"
|
|
131
|
-
|
|
132
|
-
# Detect platform
|
|
133
|
-
local platform
|
|
134
|
-
case "$(uname -s)" in
|
|
135
|
-
Darwin*)
|
|
136
|
-
platform="macOS"
|
|
137
|
-
if command -v brew &> /dev/null; then
|
|
138
|
-
print_info "Installing via Homebrew..."
|
|
139
|
-
brew install codacy/codacy-cli-v2/codacy-cli-v2
|
|
140
|
-
else
|
|
141
|
-
print_error "Homebrew not found. Please install Homebrew first."
|
|
142
|
-
return 1
|
|
143
|
-
fi
|
|
144
|
-
;;
|
|
145
|
-
Linux*)
|
|
146
|
-
platform="Linux"
|
|
147
|
-
print_info "Installing via curl script..."
|
|
148
|
-
# Use --proto =https to enforce HTTPS and prevent protocol downgrade
|
|
149
|
-
bash <(curl --proto '=https' -Ls https://raw.githubusercontent.com/codacy/codacy-cli-v2/main/codacy-cli.sh)
|
|
150
|
-
;;
|
|
151
|
-
*)
|
|
152
|
-
print_error "Unsupported platform: $(uname -s)"
|
|
153
|
-
print_info "For Windows, use WSL and follow Linux instructions"
|
|
154
|
-
return 1
|
|
155
|
-
;;
|
|
156
|
-
esac
|
|
157
|
-
|
|
158
|
-
# Verify installation
|
|
159
|
-
if check_codacy_cli; then
|
|
160
|
-
print_success "Codacy CLI v2 installed successfully on $platform"
|
|
161
|
-
return 0
|
|
162
|
-
else
|
|
163
|
-
print_error "Installation failed"
|
|
164
|
-
return 1
|
|
165
|
-
fi
|
|
166
|
-
return 0
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
# Initialize Codacy configuration
|
|
170
|
-
init_codacy_config() {
|
|
171
|
-
print_header "Initializing Codacy Configuration"
|
|
172
|
-
|
|
173
|
-
# Check if API token is provided
|
|
174
|
-
local api_token="${CODACY_API_TOKEN:-}"
|
|
175
|
-
local provider="${CODACY_PROVIDER:-}"
|
|
176
|
-
local organization="${CODACY_ORGANIZATION:-}"
|
|
177
|
-
local repository="${CODACY_REPOSITORY:-}"
|
|
178
|
-
|
|
179
|
-
if [[ -n "$api_token" && -n "$provider" && -n "$organization" && -n "$repository" ]]; then
|
|
180
|
-
print_info "Initializing with remote configuration from Codacy..."
|
|
181
|
-
codacy-cli init --api-token "$api_token" --provider "$provider" --organization "$organization" --repository "$repository"
|
|
182
|
-
else
|
|
183
|
-
print_info "Initializing with local configuration..."
|
|
184
|
-
print_warning "For remote config, set: CODACY_API_TOKEN, CODACY_PROVIDER, CODACY_ORGANIZATION, CODACY_REPOSITORY"
|
|
185
|
-
codacy-cli init
|
|
186
|
-
fi
|
|
187
|
-
|
|
188
|
-
if [[ -f "$CODACY_CONFIG_FILE" ]]; then
|
|
189
|
-
print_success "Codacy configuration initialized: $CODACY_CONFIG_FILE"
|
|
190
|
-
return 0
|
|
191
|
-
else
|
|
192
|
-
print_error "Configuration initialization failed"
|
|
193
|
-
return 1
|
|
194
|
-
fi
|
|
195
|
-
return 0
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
# Install tools and runtimes
|
|
199
|
-
install_codacy_tools() {
|
|
200
|
-
print_header "Installing Codacy Tools and Runtimes"
|
|
201
|
-
|
|
202
|
-
if [[ ! -f "$CODACY_CONFIG_FILE" ]]; then
|
|
203
|
-
print_error "Configuration file not found. Run 'init' first."
|
|
204
|
-
return 1
|
|
205
|
-
fi
|
|
206
|
-
|
|
207
|
-
print_info "Installing tools specified in $CODACY_CONFIG_FILE..."
|
|
208
|
-
codacy-cli install
|
|
209
|
-
|
|
210
|
-
if [[ $? -eq 0 ]]; then
|
|
211
|
-
print_success "Tools and runtimes installed successfully"
|
|
212
|
-
return 0
|
|
213
|
-
else
|
|
214
|
-
print_error "Tool installation failed"
|
|
215
|
-
return 1
|
|
216
|
-
fi
|
|
217
|
-
return 0
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
# Run code analysis
|
|
221
|
-
run_codacy_analysis() {
|
|
222
|
-
local tool="$1"
|
|
223
|
-
local output_format="${2:-sarif}"
|
|
224
|
-
local output_file="${3:-codacy-results.sarif}"
|
|
225
|
-
# auto_fix parameter reserved for future use
|
|
226
|
-
# local auto_fix="$4"
|
|
227
|
-
|
|
228
|
-
print_header "Running Codacy Code Analysis"
|
|
229
|
-
|
|
230
|
-
# Load API configuration
|
|
231
|
-
load_api_config
|
|
232
|
-
|
|
233
|
-
if [[ ! -f "$CODACY_CONFIG_FILE" ]]; then
|
|
234
|
-
print_error "Configuration file not found. Run 'init' first."
|
|
235
|
-
return 1
|
|
236
|
-
fi
|
|
237
|
-
|
|
238
|
-
# Build analysis command
|
|
239
|
-
local cmd="codacy-cli analyze"
|
|
240
|
-
|
|
241
|
-
# Handle auto-fix flag
|
|
242
|
-
if [[ "$tool" == "--fix" ]]; then
|
|
243
|
-
cmd="$cmd --fix"
|
|
244
|
-
print_info "Auto-fix enabled: Will apply fixes when available"
|
|
245
|
-
print_info "Running analysis with all configured tools"
|
|
246
|
-
elif [[ -n "$tool" ]]; then
|
|
247
|
-
cmd="$cmd --tool $tool"
|
|
248
|
-
print_info "Running analysis with tool: $tool"
|
|
249
|
-
else
|
|
250
|
-
print_info "Running analysis with all configured tools"
|
|
251
|
-
fi
|
|
252
|
-
|
|
253
|
-
if [[ "$output_format" == "sarif" ]]; then
|
|
254
|
-
cmd="$cmd --format sarif --output $output_file"
|
|
255
|
-
print_info "Output format: SARIF → $output_file"
|
|
256
|
-
fi
|
|
257
|
-
|
|
258
|
-
# Execute analysis
|
|
259
|
-
print_info "Executing: $cmd"
|
|
260
|
-
eval "$cmd"
|
|
261
|
-
|
|
262
|
-
if [[ $? -eq 0 ]]; then
|
|
263
|
-
print_success "Code analysis completed successfully"
|
|
264
|
-
if [[ -f "$output_file" ]]; then
|
|
265
|
-
print_info "Results saved to: $output_file"
|
|
266
|
-
fi
|
|
267
|
-
return 0
|
|
268
|
-
else
|
|
269
|
-
print_error "Code analysis failed"
|
|
270
|
-
return 1
|
|
271
|
-
fi
|
|
272
|
-
return 0
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
# Upload SARIF results to Codacy
|
|
276
|
-
upload_codacy_results() {
|
|
277
|
-
local sarif_file="${1:-codacy-results.sarif}"
|
|
278
|
-
local commit_uuid="${2:-$(git rev-parse HEAD 2>/dev/null)}"
|
|
279
|
-
|
|
280
|
-
print_header "Uploading Results to Codacy"
|
|
281
|
-
|
|
282
|
-
if [[ ! -f "$sarif_file" ]]; then
|
|
283
|
-
print_error "SARIF file not found: $sarif_file"
|
|
284
|
-
return 1
|
|
285
|
-
fi
|
|
286
|
-
|
|
287
|
-
if [[ -z "$commit_uuid" ]]; then
|
|
288
|
-
print_error "Commit UUID required. Provide as argument or ensure git repository."
|
|
289
|
-
return 1
|
|
290
|
-
fi
|
|
291
|
-
|
|
292
|
-
# Check for project token or API token
|
|
293
|
-
local project_token="${CODACY_PROJECT_TOKEN:-}"
|
|
294
|
-
local api_token="${CODACY_API_TOKEN:-}"
|
|
295
|
-
local provider="${CODACY_PROVIDER:-}"
|
|
296
|
-
local organization="${CODACY_ORGANIZATION:-}"
|
|
297
|
-
local repository="${CODACY_REPOSITORY:-}"
|
|
298
|
-
|
|
299
|
-
local cmd="codacy-cli upload -s $sarif_file -c $commit_uuid"
|
|
300
|
-
|
|
301
|
-
if [[ -n "$project_token" ]]; then
|
|
302
|
-
cmd="$cmd -t $project_token"
|
|
303
|
-
print_info "Using project token for upload"
|
|
304
|
-
elif [[ -n "$api_token" && -n "$provider" && -n "$organization" && -n "$repository" ]]; then
|
|
305
|
-
cmd="$cmd -a $api_token -p $provider -o $organization -r $repository"
|
|
306
|
-
print_info "Using API token for upload"
|
|
307
|
-
else
|
|
308
|
-
print_error "Upload credentials required:"
|
|
309
|
-
print_info " Option 1: Set CODACY_PROJECT_TOKEN"
|
|
310
|
-
print_info " Option 2: Set CODACY_API_TOKEN, CODACY_PROVIDER, CODACY_ORGANIZATION, CODACY_REPOSITORY"
|
|
311
|
-
return 1
|
|
312
|
-
fi
|
|
313
|
-
|
|
314
|
-
print_info "Uploading: $sarif_file (commit: ${commit_uuid:0:8})"
|
|
315
|
-
eval "$cmd"
|
|
316
|
-
|
|
317
|
-
if [[ $? -eq 0 ]]; then
|
|
318
|
-
print_success "Results uploaded to Codacy successfully"
|
|
319
|
-
return 0
|
|
320
|
-
else
|
|
321
|
-
print_error "Upload failed"
|
|
322
|
-
return 1
|
|
323
|
-
fi
|
|
324
|
-
return 0
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
# Show CLI status
|
|
328
|
-
show_codacy_status() {
|
|
329
|
-
print_header "Codacy CLI Status"
|
|
330
|
-
|
|
331
|
-
# Check CLI installation
|
|
332
|
-
if check_codacy_cli; then
|
|
333
|
-
print_info "Expected version: $CODACY_CLI_VERSION"
|
|
334
|
-
echo ""
|
|
335
|
-
else
|
|
336
|
-
print_info "Expected version: $CODACY_CLI_VERSION"
|
|
337
|
-
print_info "Run: $0 install"
|
|
338
|
-
echo ""
|
|
339
|
-
fi
|
|
340
|
-
|
|
341
|
-
# Check configuration
|
|
342
|
-
if [[ -f "$CODACY_CONFIG_FILE" ]]; then
|
|
343
|
-
print_success "Configuration found: $CODACY_CONFIG_FILE"
|
|
344
|
-
|
|
345
|
-
# Show basic config info
|
|
346
|
-
if command -v yq &> /dev/null; then
|
|
347
|
-
local tools_count
|
|
348
|
-
tools_count=$(yq eval '.tools | length' "$CODACY_CONFIG_FILE" 2>/dev/null || echo "unknown")
|
|
349
|
-
print_info "Configured tools: $tools_count"
|
|
350
|
-
fi
|
|
351
|
-
else
|
|
352
|
-
print_warning "Configuration not found"
|
|
353
|
-
print_info "Run: $0 init"
|
|
354
|
-
fi
|
|
355
|
-
|
|
356
|
-
# Check environment variables
|
|
357
|
-
echo ""
|
|
358
|
-
print_info "Environment Configuration:"
|
|
359
|
-
[[ -n "${CODACY_API_TOKEN:-}" ]] && print_success "CODACY_API_TOKEN: Set" || print_warning "CODACY_API_TOKEN: Not set"
|
|
360
|
-
[[ -n "${CODACY_PROJECT_TOKEN:-}" ]] && print_success "CODACY_PROJECT_TOKEN: Set" || print_warning "CODACY_PROJECT_TOKEN: Not set"
|
|
361
|
-
[[ -n "${CODACY_PROVIDER:-}" ]] && print_info "CODACY_PROVIDER: ${CODACY_PROVIDER}" || print_warning "CODACY_PROVIDER: Not set"
|
|
362
|
-
[[ -n "${CODACY_ORGANIZATION:-}" ]] && print_info "CODACY_ORGANIZATION: ${CODACY_ORGANIZATION}" || print_warning "CODACY_ORGANIZATION: Not set"
|
|
363
|
-
[[ -n "${CODACY_REPOSITORY:-}" ]] && print_info "CODACY_REPOSITORY: ${CODACY_REPOSITORY}" || print_warning "CODACY_REPOSITORY: Not set"
|
|
364
|
-
|
|
365
|
-
return 0
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
# Show help message
|
|
369
|
-
show_help() {
|
|
370
|
-
print_header "Codacy CLI v2 Integration Help"
|
|
371
|
-
echo ""
|
|
372
|
-
echo "Usage: $0 [command] [options]"
|
|
373
|
-
echo ""
|
|
374
|
-
echo "Commands:"
|
|
375
|
-
echo " install - Install Codacy CLI v2"
|
|
376
|
-
echo " init - Initialize project configuration"
|
|
377
|
-
echo " install-tools - Install tools and runtimes"
|
|
378
|
-
echo " analyze [tool|--fix] - Run code analysis (optionally with specific tool or auto-fix)"
|
|
379
|
-
echo " upload [sarif] [commit] - Upload SARIF results to Codacy"
|
|
380
|
-
echo " status - Check CLI status and configuration"
|
|
381
|
-
echo " help - Show this help message"
|
|
382
|
-
echo ""
|
|
383
|
-
echo "Examples:"
|
|
384
|
-
echo " $0 install"
|
|
385
|
-
echo " $0 init"
|
|
386
|
-
echo " $0 analyze"
|
|
387
|
-
echo " $0 analyze eslint"
|
|
388
|
-
echo " $0 analyze --fix # Auto-fix issues when possible"
|
|
389
|
-
echo " $0 upload results.sarif abc123"
|
|
390
|
-
echo ""
|
|
391
|
-
echo "Environment Variables:"
|
|
392
|
-
echo " CODACY_API_TOKEN - API token for Codacy"
|
|
393
|
-
echo " CODACY_PROJECT_TOKEN - Project token for uploads"
|
|
394
|
-
echo " CODACY_PROVIDER - Provider (gh, gl, bb)"
|
|
395
|
-
echo " CODACY_ORGANIZATION - Organization name"
|
|
396
|
-
echo " CODACY_REPOSITORY - Repository name"
|
|
397
|
-
echo ""
|
|
398
|
-
echo "This script integrates Codacy CLI v2 into the AI DevOps Framework"
|
|
399
|
-
echo "for comprehensive local code analysis and quality assurance."
|
|
400
|
-
return 0
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
# Main function
|
|
404
|
-
main() {
|
|
405
|
-
local _arg2="$2"
|
|
406
|
-
local _arg3="$3"
|
|
407
|
-
local _arg4="$4"
|
|
408
|
-
local command="${1:-help}"
|
|
409
|
-
|
|
410
|
-
case "$command" in
|
|
411
|
-
"install")
|
|
412
|
-
install_codacy_cli
|
|
413
|
-
;;
|
|
414
|
-
"init")
|
|
415
|
-
init_codacy_config
|
|
416
|
-
;;
|
|
417
|
-
"install-tools")
|
|
418
|
-
install_codacy_tools
|
|
419
|
-
;;
|
|
420
|
-
"analyze")
|
|
421
|
-
run_codacy_analysis "$_arg2" "$_arg3" "$_arg4"
|
|
422
|
-
;;
|
|
423
|
-
"upload")
|
|
424
|
-
upload_codacy_results "$_arg2" "$_arg3"
|
|
425
|
-
;;
|
|
426
|
-
"status")
|
|
427
|
-
show_codacy_status
|
|
428
|
-
;;
|
|
429
|
-
"help"|"--help"|"-h")
|
|
430
|
-
show_help
|
|
431
|
-
;;
|
|
432
|
-
*)
|
|
433
|
-
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
434
|
-
show_help
|
|
435
|
-
return 1
|
|
436
|
-
;;
|
|
437
|
-
esac
|
|
438
|
-
return 0
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
# Execute main function with all arguments
|
|
442
|
-
main "$@"
|