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,581 +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 Chunked Analysis Script
|
|
5
|
-
# Breaks down long-running analysis into manageable chunks with progress feedback
|
|
6
|
-
#
|
|
7
|
-
# Usage: ./codacy-cli-chunked.sh [command] [options]
|
|
8
|
-
# Commands:
|
|
9
|
-
# quick - Fast analysis with essential tools only
|
|
10
|
-
# chunked - Full analysis in chunks with progress feedback
|
|
11
|
-
# tools - List available tools and their estimated runtimes
|
|
12
|
-
# analyze - Run specific tool analysis
|
|
13
|
-
# status - Check analysis status
|
|
14
|
-
#
|
|
15
|
-
# Author: AI DevOps Framework
|
|
16
|
-
# Version: 1.0.0
|
|
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 CYAN='\033[0;36m'
|
|
26
|
-
readonly NC='\033[0m' # No Color
|
|
27
|
-
|
|
28
|
-
# Common constants
|
|
29
|
-
readonly ERROR_UNKNOWN_COMMAND="Unknown command:"
|
|
30
|
-
# Configuration
|
|
31
|
-
readonly CODACY_CONFIG_DIR=".codacy"
|
|
32
|
-
readonly CODACY_CONFIG_FILE="$CODACY_CONFIG_DIR/codacy.yaml"
|
|
33
|
-
readonly CHUNK_SIZE=5 # Number of files/tools per chunk
|
|
34
|
-
readonly TIMEOUT=120 # Timeout per chunk in seconds
|
|
35
|
-
|
|
36
|
-
# Tool categories with estimated runtimes
|
|
37
|
-
# Tool categories with estimated runtimes
|
|
38
|
-
TOOL_CATEGORIES_fast="shellcheck pylint pycodestyle flake8"
|
|
39
|
-
|
|
40
|
-
# Progress tracking
|
|
41
|
-
PROGRESS_FILE=".agent/tmp/codacy-progress.log"
|
|
42
|
-
TIMESTAMP_FILE=".agent/tmp/codacy-timestamp.log"
|
|
43
|
-
|
|
44
|
-
# Print functions
|
|
45
|
-
print_success() {
|
|
46
|
-
local message="$1"
|
|
47
|
-
echo -e "${GREEN}✅ $message${NC}"
|
|
48
|
-
return 0
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
print_info() {
|
|
52
|
-
local message="$1"
|
|
53
|
-
echo -e "${BLUE}ℹ️ $message${NC}"
|
|
54
|
-
return 0
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
print_warning() {
|
|
58
|
-
local message="$1"
|
|
59
|
-
echo -e "${YELLOW}⚠️ $message${NC}"
|
|
60
|
-
return 0
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
print_error() {
|
|
64
|
-
local message="$1"
|
|
65
|
-
echo -e "${RED}❌ $message${NC}" >&2
|
|
66
|
-
return 0
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
print_header() {
|
|
70
|
-
local message="$1"
|
|
71
|
-
echo -e "${PURPLE}🔍 $message${NC}"
|
|
72
|
-
return 0
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
print_progress() {
|
|
76
|
-
local current="$1"
|
|
77
|
-
local total="$2"
|
|
78
|
-
local message="${3:-Processing}"
|
|
79
|
-
|
|
80
|
-
# Calculate percentage
|
|
81
|
-
local percentage
|
|
82
|
-
percentage=$((current * 100 / total))
|
|
83
|
-
local bar_length=30
|
|
84
|
-
local filled_length
|
|
85
|
-
filled_length=$((percentage * bar_length / 100))
|
|
86
|
-
|
|
87
|
-
# Create progress bar
|
|
88
|
-
local bar=""
|
|
89
|
-
for ((i=0; i<filled_length; i++)); do
|
|
90
|
-
bar+="█"
|
|
91
|
-
done
|
|
92
|
-
for ((i=filled_length; i<bar_length; i++)); do
|
|
93
|
-
bar+="░"
|
|
94
|
-
done
|
|
95
|
-
|
|
96
|
-
echo -e "${CYAN}📊 [$bar] $percentage% - $message ($current/$total)${NC}"
|
|
97
|
-
return 0
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
# Initialize progress tracking
|
|
101
|
-
init_progress() {
|
|
102
|
-
mkdir -p "$(dirname "$PROGRESS_FILE")"
|
|
103
|
-
echo "$(date -Iseconds) - Starting chunked Codacy analysis" > "$PROGRESS_FILE"
|
|
104
|
-
echo "$(date -Iseconds) - Chunked analysis initiated" > "$TIMESTAMP_FILE"
|
|
105
|
-
return 0
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
# Update progress
|
|
109
|
-
update_progress() {
|
|
110
|
-
local message="$1"
|
|
111
|
-
echo "$(date -Iseconds) - $message" >> "$PROGRESS_FILE"
|
|
112
|
-
return 0
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
# Show current progress
|
|
116
|
-
show_progress() {
|
|
117
|
-
if [[ -f "$PROGRESS_FILE" ]]; then
|
|
118
|
-
print_header "Analysis Progress"
|
|
119
|
-
cat "$PROGRESS_FILE"
|
|
120
|
-
return 0
|
|
121
|
-
else
|
|
122
|
-
print_warning "No progress file found"
|
|
123
|
-
return 1
|
|
124
|
-
fi
|
|
125
|
-
return 0
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
# Check if Codacy CLI is ready
|
|
129
|
-
check_codacy_ready() {
|
|
130
|
-
if ! command -v codacy-cli &> /dev/null; then
|
|
131
|
-
print_error "Codacy CLI not installed"
|
|
132
|
-
return 1
|
|
133
|
-
fi
|
|
134
|
-
|
|
135
|
-
if [[ ! -f "$CODACY_CONFIG_FILE" ]]; then
|
|
136
|
-
print_error "Codacy configuration not found"
|
|
137
|
-
print_info "Run: bash .agent/scripts/codacy-cli.sh init"
|
|
138
|
-
return 1
|
|
139
|
-
fi
|
|
140
|
-
|
|
141
|
-
# Load API key from environment (set via mcp-env.sh, sourced by .zshrc)
|
|
142
|
-
# CODACY_PROJECT_TOKEN is the standard env var name
|
|
143
|
-
if [[ -z "${CODACY_API_TOKEN:-}" && -n "${CODACY_PROJECT_TOKEN:-}" ]]; then
|
|
144
|
-
export CODACY_API_TOKEN="$CODACY_PROJECT_TOKEN"
|
|
145
|
-
fi
|
|
146
|
-
|
|
147
|
-
return 0
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
# Get list of configured tools
|
|
151
|
-
get_configured_tools() {
|
|
152
|
-
if ! command -v yq &> /dev/null; then
|
|
153
|
-
print_error "yq not found. Please install: pip install yq or brew install yq"
|
|
154
|
-
return 1
|
|
155
|
-
fi
|
|
156
|
-
|
|
157
|
-
local tools
|
|
158
|
-
tools=$(yq eval '.tools[] | select(.) | .name' "$CODACY_CONFIG_FILE" 2>/dev/null | grep -v null)
|
|
159
|
-
echo "$tools"
|
|
160
|
-
return 0
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
# List available tools with categories
|
|
164
|
-
list_tools() {
|
|
165
|
-
print_header "Available Codacy Tools"
|
|
166
|
-
|
|
167
|
-
local tools
|
|
168
|
-
tools=$(get_configured_tools)
|
|
169
|
-
|
|
170
|
-
if [[ -z "$tools" ]]; then
|
|
171
|
-
print_error "No tools configured or unable to read configuration"
|
|
172
|
-
return 1
|
|
173
|
-
fi
|
|
174
|
-
|
|
175
|
-
local total_tools
|
|
176
|
-
total_tools=$(echo "$tools" | wc -l | tr -d ' ')
|
|
177
|
-
|
|
178
|
-
print_info "Total configured tools: $total_tools"
|
|
179
|
-
echo ""
|
|
180
|
-
|
|
181
|
-
# Display by categories
|
|
182
|
-
local categories=("fast")
|
|
183
|
-
for category in "${categories[@]}"; do
|
|
184
|
-
echo "${PURPLE}📂 $category category:${NC}"
|
|
185
|
-
local category_tools="$TOOL_CATEGORIES_fast"
|
|
186
|
-
local found_tools=""
|
|
187
|
-
|
|
188
|
-
while IFS= read -r tool; do
|
|
189
|
-
if echo "$category_tools" | grep -q "$tool"; then
|
|
190
|
-
found_tools="$found_tools $tool"
|
|
191
|
-
print_info " ✓ $tool"
|
|
192
|
-
fi
|
|
193
|
-
done <<< "$tools"
|
|
194
|
-
|
|
195
|
-
if [[ -z "$found_tools" ]]; then
|
|
196
|
-
print_warning " (No tools from this category configured)"
|
|
197
|
-
fi
|
|
198
|
-
echo ""
|
|
199
|
-
done
|
|
200
|
-
|
|
201
|
-
echo "${CYAN}⏱️ Estimated runtimes:${NC}"
|
|
202
|
-
print_info " Fast tools: ~30 seconds per 100 files"
|
|
203
|
-
print_info " Medium tools: ~2 minutes per 100 files"
|
|
204
|
-
print_info " Slow tools: ~5+ minutes per 100 files"
|
|
205
|
-
|
|
206
|
-
return 0
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
# Quick analysis with fast tools only
|
|
210
|
-
run_quick_analysis() {
|
|
211
|
-
print_header "Running Quick Analysis (Fast Tools Only)"
|
|
212
|
-
init_progress
|
|
213
|
-
|
|
214
|
-
local fast_tools="$TOOL_CATEGORIES_fast"
|
|
215
|
-
local total_tools=0
|
|
216
|
-
local completed_tools=0
|
|
217
|
-
|
|
218
|
-
# Count tools
|
|
219
|
-
for tool in $fast_tools; do
|
|
220
|
-
if get_configured_tools | grep -q "^$tool$"; then
|
|
221
|
-
((total_tools++))
|
|
222
|
-
fi
|
|
223
|
-
done
|
|
224
|
-
|
|
225
|
-
if [[ $total_tools -eq 0 ]]; then
|
|
226
|
-
print_warning "No fast tools configured"
|
|
227
|
-
return 1
|
|
228
|
-
fi
|
|
229
|
-
|
|
230
|
-
print_info "Running $total_tools fast tools..."
|
|
231
|
-
|
|
232
|
-
local start_time
|
|
233
|
-
start_time=$(date +%s)
|
|
234
|
-
local results_file=".agent/tmp/codacy-quick-results.sarif"
|
|
235
|
-
|
|
236
|
-
for tool in $fast_tools; do
|
|
237
|
-
if get_configured_tools | grep -q "^$tool$"; then
|
|
238
|
-
((completed_tools++))
|
|
239
|
-
print_progress $completed_tools $total_tools "$tool"
|
|
240
|
-
|
|
241
|
-
print_info "Running: $tool"
|
|
242
|
-
update_progress "Running $tool analysis"
|
|
243
|
-
|
|
244
|
-
local tool_start
|
|
245
|
-
tool_start=$(date +%s)
|
|
246
|
-
local cmd="codacy-cli analyze --tool $tool --format sarif --output .agent/tmp/codacy-$tool.sarif"
|
|
247
|
-
|
|
248
|
-
# Run with timeout
|
|
249
|
-
timeout $TIMEOUT bash -c "$cmd" 2>/dev/null
|
|
250
|
-
local exit_code=$?
|
|
251
|
-
|
|
252
|
-
local tool_end
|
|
253
|
-
tool_end=$(date +%s)
|
|
254
|
-
local tool_duration
|
|
255
|
-
tool_duration=$((tool_end - tool_start))
|
|
256
|
-
|
|
257
|
-
if [[ $exit_code -eq 124 ]]; then
|
|
258
|
-
print_warning "⏰ $tool timed out after ${tool_duration}s"
|
|
259
|
-
update_progress "$tool timed out after ${tool_duration}s"
|
|
260
|
-
elif [[ $exit_code -eq 0 ]]; then
|
|
261
|
-
print_success "✓ $tool completed in ${tool_duration}s"
|
|
262
|
-
update_progress "$tool completed successfully in ${tool_duration}s"
|
|
263
|
-
|
|
264
|
-
# Merge results if file exists
|
|
265
|
-
if [[ -f ".agent/tmp/codacy-$tool.sarif" ]]; then
|
|
266
|
-
if [[ ! -f "$results_file" ]]; then
|
|
267
|
-
cp ".agent/tmp/codacy-$tool.sarif" "$results_file"
|
|
268
|
-
else
|
|
269
|
-
# Simple merge (in production, use proper SARIF merge)
|
|
270
|
-
cat ".agent/tmp/codacy-$tool.sarif" >> "$results_file"
|
|
271
|
-
fi
|
|
272
|
-
fi
|
|
273
|
-
else
|
|
274
|
-
print_error "✗ $tool failed after ${tool_duration}s"
|
|
275
|
-
update_progress "$tool failed after ${tool_duration}s"
|
|
276
|
-
fi
|
|
277
|
-
fi
|
|
278
|
-
done
|
|
279
|
-
|
|
280
|
-
local end_time
|
|
281
|
-
end_time=$(date +%s)
|
|
282
|
-
local total_duration
|
|
283
|
-
total_duration=$((end_time - start_time))
|
|
284
|
-
|
|
285
|
-
print_success "Quick analysis completed in ${total_duration}s ($completed_tools/$total_tools tools)"
|
|
286
|
-
update_progress "Quick analysis completed: $completed_tools/$total_tools tools in ${total_duration}s"
|
|
287
|
-
|
|
288
|
-
if [[ -f "$results_file" ]]; then
|
|
289
|
-
print_info "Results saved to: $results_file"
|
|
290
|
-
print_info "Issues found: $(grep -c '\"ruleId"' "$results_file" 2>/dev/null || echo "unknown")"
|
|
291
|
-
fi
|
|
292
|
-
|
|
293
|
-
return 0
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
# Chunked full analysis
|
|
297
|
-
run_chunked_analysis() {
|
|
298
|
-
print_header "Running Chunked Full Analysis"
|
|
299
|
-
init_progress
|
|
300
|
-
|
|
301
|
-
local tools
|
|
302
|
-
tools=$(get_configured_tools)
|
|
303
|
-
|
|
304
|
-
if [[ -z "$tools" ]]; then
|
|
305
|
-
print_error "No tools configured"
|
|
306
|
-
return 1
|
|
307
|
-
fi
|
|
308
|
-
|
|
309
|
-
local total_tools
|
|
310
|
-
total_tools=$(echo "$tools" | wc -l | tr -d ' ')
|
|
311
|
-
local completed_tools=0
|
|
312
|
-
|
|
313
|
-
print_info "Running $total_tools tools in chunks of $CHUNK_SIZE..."
|
|
314
|
-
|
|
315
|
-
local start_time
|
|
316
|
-
start_time=$(date +%s)
|
|
317
|
-
local results_file=".agent/tmp/codacy-chunked-results.sarif"
|
|
318
|
-
local chunk_num=1
|
|
319
|
-
|
|
320
|
-
# Process tools in chunks
|
|
321
|
-
local tool_array=()
|
|
322
|
-
while IFS= read -r tool; do
|
|
323
|
-
tool_array+=("$tool")
|
|
324
|
-
done <<< "$tools"
|
|
325
|
-
|
|
326
|
-
for ((i=0; i<${#tool_array[@]}; i+=CHUNK_SIZE)); do
|
|
327
|
-
local chunk_start
|
|
328
|
-
chunk_start=$((i + 1))
|
|
329
|
-
local chunk_end
|
|
330
|
-
chunk_end=$((i + CHUNK_SIZE))
|
|
331
|
-
if [[ $chunk_end -gt ${#tool_array[@]} ]]; then
|
|
332
|
-
chunk_end=${#tool_array[@]}
|
|
333
|
-
fi
|
|
334
|
-
|
|
335
|
-
print_progress $chunk_start $total_tools "Processing chunk $chunk_num"
|
|
336
|
-
update_progress "Starting chunk $chunk_num (tools $chunk_start-$chunk_end)"
|
|
337
|
-
|
|
338
|
-
local chunk_tools=""
|
|
339
|
-
for ((j=i; j<chunk_end; j++)); do
|
|
340
|
-
chunk_tools="$chunk_tools ${tool_array[j]}"
|
|
341
|
-
done
|
|
342
|
-
|
|
343
|
-
print_info "Chunk $chunk_num: Running ${tool_array[i]} to ${tool_array[((chunk_end-1))]}..."
|
|
344
|
-
|
|
345
|
-
local chunk_start_time
|
|
346
|
-
chunk_start_time=$(date +%s)
|
|
347
|
-
local chunk_result_file=".agent/tmp/codacy-chunk-$chunk_num.sarif"
|
|
348
|
-
|
|
349
|
-
# Run chunk with extended timeout
|
|
350
|
-
local cmd="codacy-cli analyze --tools $(echo $chunk_tools | tr ' ' ',') --format sarif --output $chunk_result_file"
|
|
351
|
-
print_info "Executing: $(echo $chunk_tools | wc -w | tr -d ' ') tools"
|
|
352
|
-
|
|
353
|
-
timeout $((TIMEOUT * 2)) bash -c "$cmd" 2>/dev/null
|
|
354
|
-
local exit_code=$?
|
|
355
|
-
|
|
356
|
-
local chunk_end_time
|
|
357
|
-
chunk_end_time=$(date +%s)
|
|
358
|
-
local chunk_duration
|
|
359
|
-
chunk_duration=$((chunk_end_time - chunk_start_time))
|
|
360
|
-
|
|
361
|
-
if [[ $exit_code -eq 124 ]]; then
|
|
362
|
-
print_warning "⏰ Chunk $chunk_num timed out after ${chunk_duration}s"
|
|
363
|
-
update_progress "Chunk $chunk_num timed out"
|
|
364
|
-
elif [[ $exit_code -eq 0 ]]; then
|
|
365
|
-
print_success "✓ Chunk $chunk_num completed in ${chunk_duration}s"
|
|
366
|
-
update_progress "Chunk $chunk_num completed in ${chunk_duration}s"
|
|
367
|
-
|
|
368
|
-
# Merge chunk results
|
|
369
|
-
if [[ -f "$chunk_result_file" ]]; then
|
|
370
|
-
if [[ ! -f "$results_file" ]]; then
|
|
371
|
-
cp "$chunk_result_file" "$results_file"
|
|
372
|
-
else
|
|
373
|
-
cat "$chunk_result_file" >> "$results_file"
|
|
374
|
-
fi
|
|
375
|
-
fi
|
|
376
|
-
else
|
|
377
|
-
print_error "✗ Chunk $chunk_num failed after ${chunk_duration}s"
|
|
378
|
-
update_progress "Chunk $chunk_num failed"
|
|
379
|
-
fi
|
|
380
|
-
|
|
381
|
-
# Update progress
|
|
382
|
-
completed_tools=$chunk_end
|
|
383
|
-
((chunk_num++))
|
|
384
|
-
|
|
385
|
-
# Brief pause between chunks
|
|
386
|
-
if [[ $chunk_end -lt ${#tool_array[@]} ]]; then
|
|
387
|
-
print_info "Pausing briefly before next chunk..."
|
|
388
|
-
sleep 2
|
|
389
|
-
fi
|
|
390
|
-
done
|
|
391
|
-
|
|
392
|
-
local end_time
|
|
393
|
-
end_time=$(date +%s)
|
|
394
|
-
local total_duration
|
|
395
|
-
total_duration=$((end_time - start_time))
|
|
396
|
-
|
|
397
|
-
print_success "Chunked analysis completed in ${total_duration}s ($completed_tools/$total_tools tools)"
|
|
398
|
-
update_progress "Chunked analysis completed: $completed_tools/$total_tools tools in ${total_duration}s"
|
|
399
|
-
|
|
400
|
-
if [[ -f "$results_file" ]]; then
|
|
401
|
-
print_info "Results saved to: $results_file"
|
|
402
|
-
local issues_count
|
|
403
|
-
issues_count=$(grep -c '"ruleId"' "$results_file" 2>/dev/null || echo "unknown")
|
|
404
|
-
print_info "Total issues found: $issues_count"
|
|
405
|
-
fi
|
|
406
|
-
|
|
407
|
-
return 0
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
# Run single tool analysis
|
|
411
|
-
run_tool_analysis() {
|
|
412
|
-
local tool="$1"
|
|
413
|
-
|
|
414
|
-
if [[ -z "$tool" ]]; then
|
|
415
|
-
print_error "Tool name required"
|
|
416
|
-
print_info "Available tools:"
|
|
417
|
-
get_configured_tools
|
|
418
|
-
return 1
|
|
419
|
-
fi
|
|
420
|
-
|
|
421
|
-
print_header "Running Single Tool Analysis: $tool"
|
|
422
|
-
|
|
423
|
-
if ! get_configured_tools | grep -q "^$tool$"; then
|
|
424
|
-
print_error "Tool '$tool' not configured"
|
|
425
|
-
return 1
|
|
426
|
-
fi
|
|
427
|
-
|
|
428
|
-
init_progress
|
|
429
|
-
update_progress "Starting $tool analysis"
|
|
430
|
-
|
|
431
|
-
local start_time
|
|
432
|
-
start_time=$(date +%s)
|
|
433
|
-
local result_file=".agent/tmp/codacy-$tool-single.sarif"
|
|
434
|
-
|
|
435
|
-
local cmd="codacy-cli analyze --tool $tool --format sarif --output $result_file"
|
|
436
|
-
print_info "Executing: $cmd"
|
|
437
|
-
|
|
438
|
-
timeout $TIMEOUT bash -c "$cmd" 2>/dev/null
|
|
439
|
-
local exit_code=$?
|
|
440
|
-
|
|
441
|
-
local end_time
|
|
442
|
-
end_time=$(date +%s)
|
|
443
|
-
local duration
|
|
444
|
-
duration=$((end_time - start_time))
|
|
445
|
-
|
|
446
|
-
if [[ $exit_code -eq 124 ]]; then
|
|
447
|
-
print_error "Analysis timed out after ${duration}s"
|
|
448
|
-
update_progress "$tool analysis timed out"
|
|
449
|
-
return 1
|
|
450
|
-
elif [[ $exit_code -eq 0 ]]; then
|
|
451
|
-
print_success "$tool analysis completed in ${duration}s"
|
|
452
|
-
update_progress "$tool analysis completed successfully in ${duration}s"
|
|
453
|
-
|
|
454
|
-
if [[ -f "$result_file" ]]; then
|
|
455
|
-
print_info "Results saved to: $result_file"
|
|
456
|
-
local issues
|
|
457
|
-
issues=$(grep -c '"ruleId"' "$result_file" 2>/dev/null || echo "0")
|
|
458
|
-
print_info "Issues found: $issues"
|
|
459
|
-
fi
|
|
460
|
-
return 0
|
|
461
|
-
else
|
|
462
|
-
print_error "$tool analysis failed after ${duration}s"
|
|
463
|
-
update_progress "$tool analysis failed"
|
|
464
|
-
return 1
|
|
465
|
-
fi
|
|
466
|
-
return 0
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
# Show analysis status
|
|
470
|
-
show_status() {
|
|
471
|
-
print_header "Codacy Chunked Analysis Status"
|
|
472
|
-
|
|
473
|
-
# Show progress
|
|
474
|
-
show_progress
|
|
475
|
-
|
|
476
|
-
echo ""
|
|
477
|
-
print_info "Recent Analysis Files:"
|
|
478
|
-
find .agent/tmp -name "codacy-*.sarif" -newer "$TIMESTAMP_FILE" 2>/dev/null | head -5 | while read -r file; do
|
|
479
|
-
local age
|
|
480
|
-
age=$(find "$file" -mmin +1 2>/dev/null || echo "0")
|
|
481
|
-
local size
|
|
482
|
-
size=$(du -h "$file" 2>/dev/null | cut -f1 || echo "unknown")
|
|
483
|
-
print_info " $(basename "$file") (size: $size)"
|
|
484
|
-
done
|
|
485
|
-
|
|
486
|
-
echo ""
|
|
487
|
-
print_info "System Status:"
|
|
488
|
-
check_codacy_ready && print_success "Codacy CLI: Ready" || print_warning "Codacy CLI: Not ready"
|
|
489
|
-
|
|
490
|
-
return 0
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
# Clean up temporary files
|
|
494
|
-
cleanup() {
|
|
495
|
-
print_info "Cleaning up temporary files..."
|
|
496
|
-
rm -f .agent/tmp/codacy-*.sarif
|
|
497
|
-
rm -f "$PROGRESS_FILE" "$TIMESTAMP_FILE"
|
|
498
|
-
print_success "Cleanup completed"
|
|
499
|
-
return 0
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
# Show help
|
|
503
|
-
show_help() {
|
|
504
|
-
print_header "Codacy CLI Chunked Analysis Help"
|
|
505
|
-
echo ""
|
|
506
|
-
echo "Usage: $0 [command] [options]"
|
|
507
|
-
echo ""
|
|
508
|
-
echo "Commands:"
|
|
509
|
-
echo " quick - Fast analysis with essential tools only (~30s-2m)"
|
|
510
|
-
echo " chunked - Full analysis in chunks with progress (~5-15m)"
|
|
511
|
-
echo " tools - List available tools and their categories"
|
|
512
|
-
echo " analyze <tool> - Run analysis with specific tool"
|
|
513
|
-
echo " status - Show analysis status and progress"
|
|
514
|
-
echo " cleanup - Clean up temporary files"
|
|
515
|
-
echo " help - Show this help message"
|
|
516
|
-
echo ""
|
|
517
|
-
echo "Examples:"
|
|
518
|
-
echo " $0 quick # Fast analysis for quick feedback"
|
|
519
|
-
echo " $0 chunked # Full analysis in manageable chunks"
|
|
520
|
-
echo " $0 analyze shellcheck # Run single tool analysis"
|
|
521
|
-
echo " $0 status # Check progress"
|
|
522
|
-
echo ""
|
|
523
|
-
echo "Features:"
|
|
524
|
-
echo " • Progress tracking with timestamps"
|
|
525
|
-
echo " • Timeout protection for long-running tools"
|
|
526
|
-
echo " • Categorized tool execution"
|
|
527
|
-
echo " • Chunked processing for large repositories"
|
|
528
|
-
echo " • Detailed progress feedback"
|
|
529
|
-
echo ""
|
|
530
|
-
return 0
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
# Main function
|
|
534
|
-
main() {
|
|
535
|
-
local _arg2="$2"
|
|
536
|
-
local command="${1:-help}"
|
|
537
|
-
|
|
538
|
-
# Ensure temp directory exists
|
|
539
|
-
mkdir -p .agent/tmp
|
|
540
|
-
|
|
541
|
-
case "$command" in
|
|
542
|
-
"quick")
|
|
543
|
-
if check_codacy_ready; then
|
|
544
|
-
run_quick_analysis
|
|
545
|
-
else
|
|
546
|
-
return 1
|
|
547
|
-
fi
|
|
548
|
-
;;
|
|
549
|
-
"chunked")
|
|
550
|
-
if check_codacy_ready; then
|
|
551
|
-
run_chunked_analysis
|
|
552
|
-
else
|
|
553
|
-
return 1
|
|
554
|
-
fi
|
|
555
|
-
;;
|
|
556
|
-
"tools")
|
|
557
|
-
list_tools
|
|
558
|
-
;;
|
|
559
|
-
"analyze")
|
|
560
|
-
run_tool_analysis "$_arg2"
|
|
561
|
-
;;
|
|
562
|
-
"status")
|
|
563
|
-
show_status
|
|
564
|
-
;;
|
|
565
|
-
"cleanup")
|
|
566
|
-
cleanup
|
|
567
|
-
;;
|
|
568
|
-
"help"|"--help"|"-h")
|
|
569
|
-
show_help
|
|
570
|
-
;;
|
|
571
|
-
*)
|
|
572
|
-
print_error "$ERROR_UNKNOWN_COMMAND $command"
|
|
573
|
-
show_help
|
|
574
|
-
return 1
|
|
575
|
-
;;
|
|
576
|
-
esac
|
|
577
|
-
return 0
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
# Execute main function with all arguments
|
|
581
|
-
main "$@"
|