aidevops 2.52.1
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/.agent/AGENTS.md +614 -0
- package/.agent/accounts.md +65 -0
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
- package/.agent/aidevops/api-integrations.md +335 -0
- package/.agent/aidevops/architecture.md +510 -0
- package/.agent/aidevops/configs.md +274 -0
- package/.agent/aidevops/docs.md +244 -0
- package/.agent/aidevops/extension.md +311 -0
- package/.agent/aidevops/mcp-integrations.md +340 -0
- package/.agent/aidevops/mcp-troubleshooting.md +162 -0
- package/.agent/aidevops/memory-patterns.md +172 -0
- package/.agent/aidevops/providers.md +217 -0
- package/.agent/aidevops/recommendations.md +321 -0
- package/.agent/aidevops/requirements.md +301 -0
- package/.agent/aidevops/resources.md +214 -0
- package/.agent/aidevops/security-requirements.md +174 -0
- package/.agent/aidevops/security.md +350 -0
- package/.agent/aidevops/service-links.md +400 -0
- package/.agent/aidevops/services.md +357 -0
- package/.agent/aidevops/setup.md +153 -0
- package/.agent/aidevops/troubleshooting.md +389 -0
- package/.agent/aidevops.md +124 -0
- package/.agent/build-plus.md +244 -0
- package/.agent/content/guidelines.md +109 -0
- package/.agent/content.md +87 -0
- package/.agent/health.md +59 -0
- package/.agent/legal.md +59 -0
- package/.agent/loop-state/full-loop.local.md +16 -0
- package/.agent/loop-state/ralph-loop.local.md +10 -0
- package/.agent/marketing.md +440 -0
- package/.agent/memory/README.md +260 -0
- package/.agent/onboarding.md +796 -0
- package/.agent/plan-plus.md +245 -0
- package/.agent/research.md +100 -0
- package/.agent/sales.md +333 -0
- package/.agent/scripts/101domains-helper.sh +701 -0
- package/.agent/scripts/add-missing-returns.sh +140 -0
- package/.agent/scripts/agent-browser-helper.sh +311 -0
- package/.agent/scripts/agno-setup.sh +712 -0
- package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
- package/.agent/scripts/aidevops-update-check.sh +71 -0
- package/.agent/scripts/ampcode-cli.sh +522 -0
- package/.agent/scripts/auto-version-bump.sh +156 -0
- package/.agent/scripts/autogen-helper.sh +512 -0
- package/.agent/scripts/beads-sync-helper.sh +596 -0
- package/.agent/scripts/closte-helper.sh +5 -0
- package/.agent/scripts/cloudron-helper.sh +321 -0
- package/.agent/scripts/codacy-cli-chunked.sh +581 -0
- package/.agent/scripts/codacy-cli.sh +442 -0
- package/.agent/scripts/code-audit-helper.sh +5 -0
- package/.agent/scripts/coderabbit-cli.sh +417 -0
- package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
- package/.agent/scripts/commands/code-simplifier.md +86 -0
- package/.agent/scripts/commands/full-loop.md +246 -0
- package/.agent/scripts/commands/postflight-loop.md +103 -0
- package/.agent/scripts/commands/recall.md +182 -0
- package/.agent/scripts/commands/remember.md +132 -0
- package/.agent/scripts/commands/save-todo.md +175 -0
- package/.agent/scripts/commands/session-review.md +154 -0
- package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
- package/.agent/scripts/context-builder-helper.sh +522 -0
- package/.agent/scripts/coolify-cli-helper.sh +674 -0
- package/.agent/scripts/coolify-helper.sh +380 -0
- package/.agent/scripts/crawl4ai-examples.sh +401 -0
- package/.agent/scripts/crawl4ai-helper.sh +1078 -0
- package/.agent/scripts/crewai-helper.sh +681 -0
- package/.agent/scripts/dev-browser-helper.sh +513 -0
- package/.agent/scripts/dns-helper.sh +396 -0
- package/.agent/scripts/domain-research-helper.sh +917 -0
- package/.agent/scripts/dspy-helper.sh +285 -0
- package/.agent/scripts/dspyground-helper.sh +291 -0
- package/.agent/scripts/eeat-score-helper.sh +1242 -0
- package/.agent/scripts/efficient-return-fix.sh +92 -0
- package/.agent/scripts/extract-opencode-prompts.sh +128 -0
- package/.agent/scripts/find-missing-returns.sh +113 -0
- package/.agent/scripts/fix-auth-headers.sh +104 -0
- package/.agent/scripts/fix-common-strings.sh +254 -0
- package/.agent/scripts/fix-content-type.sh +100 -0
- package/.agent/scripts/fix-error-messages.sh +130 -0
- package/.agent/scripts/fix-misplaced-returns.sh +74 -0
- package/.agent/scripts/fix-remaining-literals.sh +152 -0
- package/.agent/scripts/fix-return-statements.sh +41 -0
- package/.agent/scripts/fix-s131-default-cases.sh +249 -0
- package/.agent/scripts/fix-sc2155-simple.sh +102 -0
- package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
- package/.agent/scripts/fix-string-literals.sh +273 -0
- package/.agent/scripts/full-loop-helper.sh +773 -0
- package/.agent/scripts/generate-opencode-agents.sh +497 -0
- package/.agent/scripts/generate-opencode-commands.sh +1629 -0
- package/.agent/scripts/generate-skills.sh +366 -0
- package/.agent/scripts/git-platforms-helper.sh +640 -0
- package/.agent/scripts/gitea-cli-helper.sh +743 -0
- package/.agent/scripts/github-cli-helper.sh +702 -0
- package/.agent/scripts/gitlab-cli-helper.sh +682 -0
- package/.agent/scripts/gsc-add-user-helper.sh +325 -0
- package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
- package/.agent/scripts/hetzner-helper.sh +485 -0
- package/.agent/scripts/hostinger-helper.sh +229 -0
- package/.agent/scripts/keyword-research-helper.sh +1815 -0
- package/.agent/scripts/langflow-helper.sh +544 -0
- package/.agent/scripts/linkedin-automation.py +241 -0
- package/.agent/scripts/linter-manager.sh +599 -0
- package/.agent/scripts/linters-local.sh +434 -0
- package/.agent/scripts/list-keys-helper.sh +488 -0
- package/.agent/scripts/local-browser-automation.py +339 -0
- package/.agent/scripts/localhost-helper.sh +744 -0
- package/.agent/scripts/loop-common.sh +806 -0
- package/.agent/scripts/mainwp-helper.sh +728 -0
- package/.agent/scripts/markdown-formatter.sh +338 -0
- package/.agent/scripts/markdown-lint-fix.sh +311 -0
- package/.agent/scripts/mass-fix-returns.sh +58 -0
- package/.agent/scripts/mcp-diagnose.sh +167 -0
- package/.agent/scripts/mcp-inspector-helper.sh +449 -0
- package/.agent/scripts/memory-helper.sh +650 -0
- package/.agent/scripts/monitor-code-review.sh +255 -0
- package/.agent/scripts/onboarding-helper.sh +706 -0
- package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
- package/.agent/scripts/opencode-test-helper.sh +213 -0
- package/.agent/scripts/pagespeed-helper.sh +464 -0
- package/.agent/scripts/pandoc-helper.sh +362 -0
- package/.agent/scripts/postflight-check.sh +555 -0
- package/.agent/scripts/pre-commit-hook.sh +259 -0
- package/.agent/scripts/pre-edit-check.sh +169 -0
- package/.agent/scripts/qlty-cli.sh +356 -0
- package/.agent/scripts/quality-cli-manager.sh +525 -0
- package/.agent/scripts/quality-feedback-helper.sh +462 -0
- package/.agent/scripts/quality-fix.sh +263 -0
- package/.agent/scripts/quality-loop-helper.sh +1108 -0
- package/.agent/scripts/ralph-loop-helper.sh +836 -0
- package/.agent/scripts/ralph-upstream-check.sh +341 -0
- package/.agent/scripts/secretlint-helper.sh +847 -0
- package/.agent/scripts/servers-helper.sh +241 -0
- package/.agent/scripts/ses-helper.sh +619 -0
- package/.agent/scripts/session-review-helper.sh +404 -0
- package/.agent/scripts/setup-linters-wizard.sh +379 -0
- package/.agent/scripts/setup-local-api-keys.sh +330 -0
- package/.agent/scripts/setup-mcp-integrations.sh +472 -0
- package/.agent/scripts/shared-constants.sh +246 -0
- package/.agent/scripts/site-crawler-helper.sh +1487 -0
- package/.agent/scripts/snyk-helper.sh +940 -0
- package/.agent/scripts/sonarcloud-autofix.sh +193 -0
- package/.agent/scripts/sonarcloud-cli.sh +191 -0
- package/.agent/scripts/sonarscanner-cli.sh +455 -0
- package/.agent/scripts/spaceship-helper.sh +747 -0
- package/.agent/scripts/stagehand-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-setup.sh +441 -0
- package/.agent/scripts/stagehand-setup.sh +439 -0
- package/.agent/scripts/system-cleanup.sh +340 -0
- package/.agent/scripts/terminal-title-helper.sh +388 -0
- package/.agent/scripts/terminal-title-setup.sh +549 -0
- package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
- package/.agent/scripts/test-stagehand-integration.sh +309 -0
- package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
- package/.agent/scripts/todo-ready.sh +263 -0
- package/.agent/scripts/tool-version-check.sh +362 -0
- package/.agent/scripts/toon-helper.sh +469 -0
- package/.agent/scripts/twilio-helper.sh +917 -0
- package/.agent/scripts/updown-helper.sh +279 -0
- package/.agent/scripts/validate-mcp-integrations.sh +250 -0
- package/.agent/scripts/validate-version-consistency.sh +131 -0
- package/.agent/scripts/vaultwarden-helper.sh +597 -0
- package/.agent/scripts/vercel-cli-helper.sh +816 -0
- package/.agent/scripts/verify-mirrors.sh +169 -0
- package/.agent/scripts/version-manager.sh +831 -0
- package/.agent/scripts/webhosting-helper.sh +471 -0
- package/.agent/scripts/webhosting-verify.sh +238 -0
- package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
- package/.agent/scripts/worktree-helper.sh +595 -0
- package/.agent/scripts/worktree-sessions.sh +577 -0
- package/.agent/seo/dataforseo.md +215 -0
- package/.agent/seo/domain-research.md +532 -0
- package/.agent/seo/eeat-score.md +659 -0
- package/.agent/seo/google-search-console.md +366 -0
- package/.agent/seo/gsc-sitemaps.md +282 -0
- package/.agent/seo/keyword-research.md +521 -0
- package/.agent/seo/serper.md +278 -0
- package/.agent/seo/site-crawler.md +387 -0
- package/.agent/seo.md +236 -0
- package/.agent/services/accounting/quickfile.md +159 -0
- package/.agent/services/communications/telfon.md +470 -0
- package/.agent/services/communications/twilio.md +569 -0
- package/.agent/services/crm/fluentcrm.md +449 -0
- package/.agent/services/email/ses.md +399 -0
- package/.agent/services/hosting/101domains.md +378 -0
- package/.agent/services/hosting/closte.md +177 -0
- package/.agent/services/hosting/cloudflare.md +251 -0
- package/.agent/services/hosting/cloudron.md +478 -0
- package/.agent/services/hosting/dns-providers.md +335 -0
- package/.agent/services/hosting/domain-purchasing.md +344 -0
- package/.agent/services/hosting/hetzner.md +327 -0
- package/.agent/services/hosting/hostinger.md +287 -0
- package/.agent/services/hosting/localhost.md +419 -0
- package/.agent/services/hosting/spaceship.md +353 -0
- package/.agent/services/hosting/webhosting.md +330 -0
- package/.agent/social-media.md +69 -0
- package/.agent/templates/plans-template.md +114 -0
- package/.agent/templates/prd-template.md +129 -0
- package/.agent/templates/tasks-template.md +108 -0
- package/.agent/templates/todo-template.md +89 -0
- package/.agent/tools/ai-assistants/agno.md +471 -0
- package/.agent/tools/ai-assistants/capsolver.md +326 -0
- package/.agent/tools/ai-assistants/configuration.md +221 -0
- package/.agent/tools/ai-assistants/overview.md +209 -0
- package/.agent/tools/ai-assistants/status.md +171 -0
- package/.agent/tools/ai-assistants/windsurf.md +193 -0
- package/.agent/tools/ai-orchestration/autogen.md +406 -0
- package/.agent/tools/ai-orchestration/crewai.md +445 -0
- package/.agent/tools/ai-orchestration/langflow.md +405 -0
- package/.agent/tools/ai-orchestration/openprose.md +487 -0
- package/.agent/tools/ai-orchestration/overview.md +362 -0
- package/.agent/tools/ai-orchestration/packaging.md +647 -0
- package/.agent/tools/browser/agent-browser.md +464 -0
- package/.agent/tools/browser/browser-automation.md +400 -0
- package/.agent/tools/browser/chrome-devtools.md +282 -0
- package/.agent/tools/browser/crawl4ai-integration.md +422 -0
- package/.agent/tools/browser/crawl4ai-resources.md +277 -0
- package/.agent/tools/browser/crawl4ai-usage.md +416 -0
- package/.agent/tools/browser/crawl4ai.md +585 -0
- package/.agent/tools/browser/dev-browser.md +341 -0
- package/.agent/tools/browser/pagespeed.md +260 -0
- package/.agent/tools/browser/playwright.md +266 -0
- package/.agent/tools/browser/playwriter.md +310 -0
- package/.agent/tools/browser/stagehand-examples.md +456 -0
- package/.agent/tools/browser/stagehand-python.md +483 -0
- package/.agent/tools/browser/stagehand.md +421 -0
- package/.agent/tools/build-agent/agent-review.md +224 -0
- package/.agent/tools/build-agent/build-agent.md +784 -0
- package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
- package/.agent/tools/build-mcp/api-wrapper.md +445 -0
- package/.agent/tools/build-mcp/build-mcp.md +240 -0
- package/.agent/tools/build-mcp/deployment.md +401 -0
- package/.agent/tools/build-mcp/server-patterns.md +632 -0
- package/.agent/tools/build-mcp/transports.md +366 -0
- package/.agent/tools/code-review/auditing.md +383 -0
- package/.agent/tools/code-review/automation.md +219 -0
- package/.agent/tools/code-review/best-practices.md +203 -0
- package/.agent/tools/code-review/codacy.md +151 -0
- package/.agent/tools/code-review/code-simplifier.md +174 -0
- package/.agent/tools/code-review/code-standards.md +309 -0
- package/.agent/tools/code-review/coderabbit.md +101 -0
- package/.agent/tools/code-review/management.md +155 -0
- package/.agent/tools/code-review/qlty.md +248 -0
- package/.agent/tools/code-review/secretlint.md +565 -0
- package/.agent/tools/code-review/setup.md +250 -0
- package/.agent/tools/code-review/snyk.md +563 -0
- package/.agent/tools/code-review/tools.md +230 -0
- package/.agent/tools/content/summarize.md +353 -0
- package/.agent/tools/context/augment-context-engine.md +468 -0
- package/.agent/tools/context/context-builder-agent.md +76 -0
- package/.agent/tools/context/context-builder.md +375 -0
- package/.agent/tools/context/context7.md +371 -0
- package/.agent/tools/context/dspy.md +302 -0
- package/.agent/tools/context/dspyground.md +374 -0
- package/.agent/tools/context/llm-tldr.md +219 -0
- package/.agent/tools/context/osgrep.md +488 -0
- package/.agent/tools/context/prompt-optimization.md +338 -0
- package/.agent/tools/context/toon.md +292 -0
- package/.agent/tools/conversion/pandoc.md +304 -0
- package/.agent/tools/credentials/api-key-management.md +154 -0
- package/.agent/tools/credentials/api-key-setup.md +224 -0
- package/.agent/tools/credentials/environment-variables.md +180 -0
- package/.agent/tools/credentials/vaultwarden.md +382 -0
- package/.agent/tools/data-extraction/outscraper.md +974 -0
- package/.agent/tools/deployment/coolify-cli.md +388 -0
- package/.agent/tools/deployment/coolify-setup.md +353 -0
- package/.agent/tools/deployment/coolify.md +345 -0
- package/.agent/tools/deployment/vercel.md +390 -0
- package/.agent/tools/git/authentication.md +132 -0
- package/.agent/tools/git/gitea-cli.md +193 -0
- package/.agent/tools/git/github-actions.md +207 -0
- package/.agent/tools/git/github-cli.md +223 -0
- package/.agent/tools/git/gitlab-cli.md +190 -0
- package/.agent/tools/git/opencode-github-security.md +350 -0
- package/.agent/tools/git/opencode-github.md +328 -0
- package/.agent/tools/git/opencode-gitlab.md +252 -0
- package/.agent/tools/git/security.md +196 -0
- package/.agent/tools/git.md +207 -0
- package/.agent/tools/opencode/oh-my-opencode.md +375 -0
- package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
- package/.agent/tools/opencode/opencode.md +651 -0
- package/.agent/tools/social-media/bird.md +437 -0
- package/.agent/tools/task-management/beads.md +336 -0
- package/.agent/tools/terminal/terminal-title.md +251 -0
- package/.agent/tools/ui/shadcn.md +196 -0
- package/.agent/tools/ui/ui-skills.md +115 -0
- package/.agent/tools/wordpress/localwp.md +311 -0
- package/.agent/tools/wordpress/mainwp.md +391 -0
- package/.agent/tools/wordpress/scf.md +527 -0
- package/.agent/tools/wordpress/wp-admin.md +729 -0
- package/.agent/tools/wordpress/wp-dev.md +940 -0
- package/.agent/tools/wordpress/wp-preferred.md +398 -0
- package/.agent/tools/wordpress.md +95 -0
- package/.agent/workflows/branch/bugfix.md +63 -0
- package/.agent/workflows/branch/chore.md +95 -0
- package/.agent/workflows/branch/experiment.md +115 -0
- package/.agent/workflows/branch/feature.md +59 -0
- package/.agent/workflows/branch/hotfix.md +98 -0
- package/.agent/workflows/branch/refactor.md +92 -0
- package/.agent/workflows/branch/release.md +96 -0
- package/.agent/workflows/branch.md +347 -0
- package/.agent/workflows/bug-fixing.md +267 -0
- package/.agent/workflows/changelog.md +129 -0
- package/.agent/workflows/code-audit-remote.md +279 -0
- package/.agent/workflows/conversation-starter.md +69 -0
- package/.agent/workflows/error-feedback.md +578 -0
- package/.agent/workflows/feature-development.md +355 -0
- package/.agent/workflows/git-workflow.md +702 -0
- package/.agent/workflows/multi-repo-workspace.md +268 -0
- package/.agent/workflows/plans.md +709 -0
- package/.agent/workflows/postflight.md +604 -0
- package/.agent/workflows/pr.md +571 -0
- package/.agent/workflows/preflight.md +278 -0
- package/.agent/workflows/ralph-loop.md +773 -0
- package/.agent/workflows/release.md +498 -0
- package/.agent/workflows/session-manager.md +254 -0
- package/.agent/workflows/session-review.md +311 -0
- package/.agent/workflows/sql-migrations.md +631 -0
- package/.agent/workflows/version-bump.md +283 -0
- package/.agent/workflows/wiki-update.md +333 -0
- package/.agent/workflows/worktree.md +477 -0
- package/LICENSE +21 -0
- package/README.md +1446 -0
- package/VERSION +1 -0
- package/aidevops.sh +1746 -0
- package/bin/aidevops +21 -0
- package/package.json +75 -0
- package/scripts/npm-postinstall.js +60 -0
- package/setup.sh +2366 -0
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
# Fix Content-Type String Literals
|
|
5
|
+
# Replace repeated "Content-Type: application/json" with constants
|
|
6
|
+
#
|
|
7
|
+
# Author: AI DevOps Framework
|
|
8
|
+
# Version: 1.1.1
|
|
9
|
+
|
|
10
|
+
# Colors for output
|
|
11
|
+
readonly GREEN='\033[0;32m'
|
|
12
|
+
readonly BLUE='\033[0;34m'
|
|
13
|
+
readonly NC='\033[0m'
|
|
14
|
+
|
|
15
|
+
print_success() {
|
|
16
|
+
local _arg1="$1"
|
|
17
|
+
echo -e "${GREEN}✅ $_arg1${NC}"
|
|
18
|
+
return 0
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
print_info() {
|
|
22
|
+
local _arg1="$1"
|
|
23
|
+
echo -e "${BLUE}ℹ️ $_arg1${NC}"
|
|
24
|
+
return 0
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Fix Content-Type in a file
|
|
28
|
+
fix_content_type_in_file() {
|
|
29
|
+
local file="$1"
|
|
30
|
+
local count
|
|
31
|
+
count=$(grep -c "Content-Type: application/json" "$file" 2>/dev/null || echo "0")
|
|
32
|
+
count=${count//[^0-9]/}
|
|
33
|
+
|
|
34
|
+
if [[ $count -ge 2 ]]; then
|
|
35
|
+
print_info "Fixing $count occurrences in: $file"
|
|
36
|
+
|
|
37
|
+
# Add constant if not present
|
|
38
|
+
if ! grep -q "CONTENT_TYPE_JSON" "$file"; then
|
|
39
|
+
# Find where to insert the constant (after colors, before functions)
|
|
40
|
+
if grep -q "NC=.*No Color" "$file"; then
|
|
41
|
+
sed -i '' '/NC=.*No Color/a\
|
|
42
|
+
\
|
|
43
|
+
# Common constants\
|
|
44
|
+
readonly CONTENT_TYPE_JSON="Content-Type: application/json"
|
|
45
|
+
' "$file"
|
|
46
|
+
elif grep -q "readonly.*NC=" "$file"; then
|
|
47
|
+
sed -i '' '/readonly.*NC=/a\
|
|
48
|
+
\
|
|
49
|
+
# Common constants\
|
|
50
|
+
readonly CONTENT_TYPE_JSON="Content-Type: application/json"
|
|
51
|
+
' "$file"
|
|
52
|
+
fi
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Replace occurrences
|
|
56
|
+
sed -i '' 's/"Content-Type: application\/json"/$CONTENT_TYPE_JSON/g' "$file"
|
|
57
|
+
|
|
58
|
+
# Verify
|
|
59
|
+
local new_count
|
|
60
|
+
new_count=$(grep -c "Content-Type: application/json" "$file" 2>/dev/null || echo "0")
|
|
61
|
+
new_count=${new_count//[^0-9]/}
|
|
62
|
+
local const_count
|
|
63
|
+
const_count=$(grep -c "CONTENT_TYPE_JSON" "$file" 2>/dev/null || echo "0")
|
|
64
|
+
const_count=${const_count//[^0-9]/}
|
|
65
|
+
|
|
66
|
+
if [[ $new_count -eq 0 && $const_count -gt 0 ]]; then
|
|
67
|
+
print_success "Fixed $file: $count → 0 literals, $const_count constant usages"
|
|
68
|
+
return 0
|
|
69
|
+
else
|
|
70
|
+
print_info "Partial fix in $file: $new_count literals remaining"
|
|
71
|
+
return 1
|
|
72
|
+
fi
|
|
73
|
+
else
|
|
74
|
+
print_info "Skipping $file: only $count occurrences (need 2+)"
|
|
75
|
+
return 1
|
|
76
|
+
fi
|
|
77
|
+
return 0
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
# Main execution
|
|
81
|
+
main() {
|
|
82
|
+
print_info "Fixing Content-Type string literals in provider files..."
|
|
83
|
+
|
|
84
|
+
local files_fixed=0
|
|
85
|
+
local files_processed=0
|
|
86
|
+
|
|
87
|
+
for file in .agent/scripts/*.sh; do
|
|
88
|
+
if [[ -f "$file" ]]; then
|
|
89
|
+
((files_processed++))
|
|
90
|
+
if fix_content_type_in_file "$file"; then
|
|
91
|
+
((files_fixed++))
|
|
92
|
+
fi
|
|
93
|
+
fi
|
|
94
|
+
done
|
|
95
|
+
|
|
96
|
+
print_success "Summary: $files_fixed/$files_processed files fixed"
|
|
97
|
+
return 0
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
main "$@"
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
# Fix Common Error Message String Literals
|
|
5
|
+
# Replace repeated error message patterns with constants
|
|
6
|
+
#
|
|
7
|
+
# Author: AI DevOps Framework
|
|
8
|
+
# Version: 1.1.1
|
|
9
|
+
|
|
10
|
+
# Colors for output
|
|
11
|
+
readonly GREEN='\033[0;32m'
|
|
12
|
+
readonly BLUE='\033[0;34m'
|
|
13
|
+
readonly NC='\033[0m'
|
|
14
|
+
|
|
15
|
+
print_success() {
|
|
16
|
+
local _arg1="$1"
|
|
17
|
+
echo -e "${GREEN}✅ $_arg1${NC}"
|
|
18
|
+
return 0
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
print_info() {
|
|
22
|
+
local _arg1="$1"
|
|
23
|
+
echo -e "${BLUE}ℹ️ $_arg1${NC}"
|
|
24
|
+
return 0
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Fix error messages in a file
|
|
28
|
+
fix_error_messages_in_file() {
|
|
29
|
+
local file="$1"
|
|
30
|
+
local changes_made=0
|
|
31
|
+
|
|
32
|
+
print_info "Processing: $file"
|
|
33
|
+
|
|
34
|
+
# Check for common error patterns
|
|
35
|
+
local unknown_cmd_count
|
|
36
|
+
unknown_cmd_count=$(grep -c "Unknown command" "$file" 2>/dev/null || echo "0")
|
|
37
|
+
|
|
38
|
+
local usage_count
|
|
39
|
+
usage_count=$(grep -c "Usage:" "$file" 2>/dev/null || echo "0")
|
|
40
|
+
|
|
41
|
+
local help_count
|
|
42
|
+
help_count=$(grep -c "help.*Show this help" "$file" 2>/dev/null || echo "0")
|
|
43
|
+
|
|
44
|
+
# Add constants section if needed
|
|
45
|
+
if [[ $unknown_cmd_count -ge 1 || $usage_count -ge 2 || $help_count -ge 2 ]]; then
|
|
46
|
+
if ! grep -q "# Error message constants\|# Common constants" "$file"; then
|
|
47
|
+
# Find where to insert constants
|
|
48
|
+
if grep -q "readonly.*NC=" "$file"; then
|
|
49
|
+
sed -i '' '/readonly.*NC=/a\
|
|
50
|
+
\
|
|
51
|
+
# Error message constants
|
|
52
|
+
' "$file"
|
|
53
|
+
elif grep -q "NC=.*No Color" "$file"; then
|
|
54
|
+
sed -i '' '/NC=.*No Color/a\
|
|
55
|
+
\
|
|
56
|
+
# Error message constants
|
|
57
|
+
' "$file"
|
|
58
|
+
fi
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
# Fix Unknown command pattern
|
|
62
|
+
if [[ $unknown_cmd_count -ge 1 ]]; then
|
|
63
|
+
if ! grep -q "ERROR_UNKNOWN_COMMAND" "$file"; then
|
|
64
|
+
sed -i '' '/# Error message constants/a\
|
|
65
|
+
readonly ERROR_UNKNOWN_COMMAND="Unknown command:"
|
|
66
|
+
' "$file"
|
|
67
|
+
changes_made=1
|
|
68
|
+
fi
|
|
69
|
+
sed -i '' "s/\"Unknown command: \\\$command\"/\"\$ERROR_UNKNOWN_COMMAND \$command\"/g" "$file"
|
|
70
|
+
sed -i '' "s/\"Unknown command: \$command\"/\"\$ERROR_UNKNOWN_COMMAND \$command\"/g" "$file"
|
|
71
|
+
print_success "Fixed $unknown_cmd_count Unknown command messages"
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Fix Usage pattern
|
|
75
|
+
if [[ $usage_count -ge 2 ]]; then
|
|
76
|
+
if ! grep -q "USAGE_PREFIX" "$file"; then
|
|
77
|
+
sed -i '' '/# Error message constants/a\
|
|
78
|
+
readonly USAGE_PREFIX="Usage:"
|
|
79
|
+
' "$file"
|
|
80
|
+
changes_made=1
|
|
81
|
+
fi
|
|
82
|
+
sed -i '' "s/\"Usage: \\\$0\"/\"\$USAGE_PREFIX \$0\"/g" "$file"
|
|
83
|
+
sed -i '' "s/\"Usage: \$0\"/\"\$USAGE_PREFIX \$0\"/g" "$file"
|
|
84
|
+
print_success "Fixed $usage_count Usage messages"
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
# Fix help message pattern
|
|
88
|
+
if [[ $help_count -ge 2 ]]; then
|
|
89
|
+
if ! grep -q "HELP_MESSAGE_SUFFIX" "$file"; then
|
|
90
|
+
sed -i '' '/# Error message constants/a\
|
|
91
|
+
readonly HELP_MESSAGE_SUFFIX="Show this help message"
|
|
92
|
+
' "$file"
|
|
93
|
+
changes_made=1
|
|
94
|
+
fi
|
|
95
|
+
sed -i '' "s/\".*help.*- Show this help message\"/\" help - \$HELP_MESSAGE_SUFFIX\"/g" "$file"
|
|
96
|
+
print_success "Fixed $help_count help messages"
|
|
97
|
+
fi
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
if [[ $changes_made -gt 0 ]]; then
|
|
101
|
+
print_success "Fixed error messages in: $file"
|
|
102
|
+
return 0
|
|
103
|
+
else
|
|
104
|
+
print_info "No error message patterns requiring fixes in: $file"
|
|
105
|
+
return 1
|
|
106
|
+
fi
|
|
107
|
+
return 0
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
# Main execution
|
|
111
|
+
main() {
|
|
112
|
+
print_info "Fixing error message string literals in provider files..."
|
|
113
|
+
|
|
114
|
+
local files_fixed=0
|
|
115
|
+
local files_processed=0
|
|
116
|
+
|
|
117
|
+
for file in .agent/scripts/*.sh; do
|
|
118
|
+
if [[ -f "$file" ]]; then
|
|
119
|
+
((files_processed++))
|
|
120
|
+
if fix_error_messages_in_file "$file"; then
|
|
121
|
+
((files_fixed++))
|
|
122
|
+
fi
|
|
123
|
+
fi
|
|
124
|
+
done
|
|
125
|
+
|
|
126
|
+
print_success "Summary: $files_fixed/$files_processed files fixed"
|
|
127
|
+
return 0
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
main "$@"
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
# Script to fix misplaced return statements in mainwp-helper.sh
|
|
5
|
+
# These were introduced by the earlier mass fix script
|
|
6
|
+
|
|
7
|
+
cd providers || exit
|
|
8
|
+
|
|
9
|
+
echo "🔧 Fixing misplaced return statements in mainwp-helper.sh..."
|
|
10
|
+
|
|
11
|
+
# Remove misplaced return statements that are not at the end of functions
|
|
12
|
+
# These are typically in the middle of functions or before other statements
|
|
13
|
+
|
|
14
|
+
# Fix specific patterns where return 0 appears before other statements
|
|
15
|
+
sed -i '' '
|
|
16
|
+
# Remove return 0 that appears before exit statements
|
|
17
|
+
/return 0$/{
|
|
18
|
+
N
|
|
19
|
+
/return 0\n exit 1/c\
|
|
20
|
+
exit 1
|
|
21
|
+
}
|
|
22
|
+
' mainwp-helper.sh
|
|
23
|
+
|
|
24
|
+
# Remove return 0 that appears before print statements
|
|
25
|
+
sed -i '' '
|
|
26
|
+
/return 0$/{
|
|
27
|
+
N
|
|
28
|
+
/return 0\n print_/c\
|
|
29
|
+
print_info "$(echo "$0" | sed "s/.*print_info \"//" | sed "s/\"$//")"
|
|
30
|
+
return 0
|
|
31
|
+
}
|
|
32
|
+
' mainwp-helper.sh
|
|
33
|
+
|
|
34
|
+
# Remove return 0 that appears before local variable declarations
|
|
35
|
+
sed -i '' '
|
|
36
|
+
/return 0$/{
|
|
37
|
+
N
|
|
38
|
+
/return 0\n local /c\
|
|
39
|
+
local $(echo "$0" | sed "s/.*local //" | sed "s/$/")
|
|
40
|
+
return 0
|
|
41
|
+
}
|
|
42
|
+
' mainwp-helper.sh
|
|
43
|
+
|
|
44
|
+
# Remove return 0 that appears before if statements
|
|
45
|
+
sed -i '' '
|
|
46
|
+
/return 0$/{
|
|
47
|
+
N
|
|
48
|
+
/return 0\n if /c\
|
|
49
|
+
if $(echo "$0" | sed "s/.*if //")
|
|
50
|
+
return 0
|
|
51
|
+
}
|
|
52
|
+
' mainwp-helper.sh
|
|
53
|
+
|
|
54
|
+
# Remove return 0 that appears before jq commands
|
|
55
|
+
sed -i '' '
|
|
56
|
+
/return 0$/{
|
|
57
|
+
N
|
|
58
|
+
/return 0\n jq /c\
|
|
59
|
+
jq $(echo "$0" | sed "s/.*jq //")
|
|
60
|
+
return 0
|
|
61
|
+
}
|
|
62
|
+
' mainwp-helper.sh
|
|
63
|
+
|
|
64
|
+
# Remove return 0 that appears before echo statements
|
|
65
|
+
sed -i '' '
|
|
66
|
+
/return 0$/{
|
|
67
|
+
N
|
|
68
|
+
/return 0\n echo /c\
|
|
69
|
+
echo $(echo "$0" | sed "s/.*echo //")
|
|
70
|
+
return 0
|
|
71
|
+
}
|
|
72
|
+
' mainwp-helper.sh
|
|
73
|
+
|
|
74
|
+
echo "✅ Fixed misplaced return statements in mainwp-helper.sh"
|
|
@@ -0,0 +1,152 @@
|
|
|
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
|
+
# Fix Remaining String Literals
|
|
5
|
+
# Target specific high-impact string literal patterns
|
|
6
|
+
#
|
|
7
|
+
# Author: AI DevOps Framework
|
|
8
|
+
# Version: 1.1.1
|
|
9
|
+
|
|
10
|
+
# Colors for output
|
|
11
|
+
readonly GREEN='\033[0;32m'
|
|
12
|
+
readonly BLUE='\033[0;34m'
|
|
13
|
+
readonly NC='\033[0m'
|
|
14
|
+
|
|
15
|
+
print_success() {
|
|
16
|
+
local _arg1="$1"
|
|
17
|
+
echo -e "${GREEN}✅ $_arg1${NC}"
|
|
18
|
+
return 0
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
print_info() {
|
|
22
|
+
local _arg1="$1"
|
|
23
|
+
echo -e "${BLUE}ℹ️ $_arg1${NC}"
|
|
24
|
+
return 0
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Fix remaining string literals in a file
|
|
28
|
+
fix_remaining_literals_in_file() {
|
|
29
|
+
local file="$1"
|
|
30
|
+
local changes_made=0
|
|
31
|
+
|
|
32
|
+
print_info "Processing: $file"
|
|
33
|
+
|
|
34
|
+
# Check for patterns that need constants
|
|
35
|
+
local help_usage_count
|
|
36
|
+
help_usage_count=$(grep -c "Use '\$0 help' for usage information" "$file" 2>/dev/null || echo "0")
|
|
37
|
+
|
|
38
|
+
local usage_pattern_count
|
|
39
|
+
usage_pattern_count=$(grep -c "Usage: \$0 \[command\]" "$file" 2>/dev/null || echo "0")
|
|
40
|
+
|
|
41
|
+
local help_show_count
|
|
42
|
+
help_show_count=$(grep -c "help.*- Show this help" "$file" 2>/dev/null || echo "0")
|
|
43
|
+
|
|
44
|
+
# Add constants if patterns found
|
|
45
|
+
if [[ $help_usage_count -ge 1 || $usage_pattern_count -ge 1 || $help_show_count -ge 1 ]]; then
|
|
46
|
+
# Check if constants section exists
|
|
47
|
+
if ! grep -q "# Common message constants\|# Error message constants" "$file"; then
|
|
48
|
+
# Find where to insert constants
|
|
49
|
+
if grep -q "readonly.*NC=" "$file"; then
|
|
50
|
+
sed -i '' '/readonly.*NC=/a\
|
|
51
|
+
\
|
|
52
|
+
# Common message constants
|
|
53
|
+
' "$file"
|
|
54
|
+
elif grep -q "NC=.*No Color" "$file"; then
|
|
55
|
+
sed -i '' '/NC=.*No Color/a\
|
|
56
|
+
\
|
|
57
|
+
# Common message constants
|
|
58
|
+
' "$file"
|
|
59
|
+
fi
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
# Add specific constants
|
|
63
|
+
if [[ $help_usage_count -ge 1 ]]; then
|
|
64
|
+
if ! grep -q "HELP_USAGE_INFO" "$file"; then
|
|
65
|
+
sed -i '' '/# Common message constants/a\
|
|
66
|
+
readonly HELP_USAGE_INFO="Use '\''$0 help'\'' for usage information"
|
|
67
|
+
' "$file"
|
|
68
|
+
changes_made=1
|
|
69
|
+
fi
|
|
70
|
+
sed -i '' 's|"Use '\''$0 help'\'' for usage information"|"$HELP_USAGE_INFO"|g' "$file"
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
if [[ $usage_pattern_count -ge 1 ]]; then
|
|
74
|
+
if ! grep -q "USAGE_COMMAND_OPTIONS" "$file"; then
|
|
75
|
+
sed -i '' '/# Common message constants/a\
|
|
76
|
+
readonly USAGE_COMMAND_OPTIONS="Usage: $0 [command] [options]"
|
|
77
|
+
' "$file"
|
|
78
|
+
changes_made=1
|
|
79
|
+
fi
|
|
80
|
+
sed -i '' 's|"Usage: $0 \[command\] \[options\]"|"$USAGE_COMMAND_OPTIONS"|g' "$file"
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
if [[ $help_show_count -ge 1 ]]; then
|
|
84
|
+
if ! grep -q "HELP_SHOW_MESSAGE" "$file"; then
|
|
85
|
+
sed -i '' '/# Common message constants/a\
|
|
86
|
+
readonly HELP_SHOW_MESSAGE="Show this help"
|
|
87
|
+
' "$file"
|
|
88
|
+
changes_made=1
|
|
89
|
+
fi
|
|
90
|
+
sed -i '' 's|".*help.*- Show this help.*"|" help - $HELP_SHOW_MESSAGE"|g' "$file"
|
|
91
|
+
fi
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
# Fix remaining Content-Type literals if any
|
|
95
|
+
local content_type_count
|
|
96
|
+
content_type_count=$(grep -c "Content-Type: application/json" "$file" 2>/dev/null || echo "0")
|
|
97
|
+
if [[ $content_type_count -ge 1 ]] && ! grep -q "CONTENT_TYPE_JSON" "$file"; then
|
|
98
|
+
if ! grep -q "# Common message constants\|# Common constants" "$file" && grep -q "readonly.*NC=" "$file"; then
|
|
99
|
+
sed -i '' '/readonly.*NC=/a\
|
|
100
|
+
\
|
|
101
|
+
# Common constants
|
|
102
|
+
' "$file"
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
sed -i '' '/# Common.*constants/a\
|
|
106
|
+
readonly CONTENT_TYPE_JSON="Content-Type: application/json"
|
|
107
|
+
' "$file"
|
|
108
|
+
sed -i '' 's|"Content-Type: application/json"|"$CONTENT_TYPE_JSON"|g' "$file"
|
|
109
|
+
changes_made=1
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if [[ $changes_made -eq 1 ]]; then
|
|
113
|
+
print_success "Fixed string literals in: $file"
|
|
114
|
+
return 0
|
|
115
|
+
else
|
|
116
|
+
print_info "No string literal fixes needed in: $file"
|
|
117
|
+
return 1
|
|
118
|
+
fi
|
|
119
|
+
return 0
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
# Main execution
|
|
123
|
+
main() {
|
|
124
|
+
local target="${1:-.agent/scripts/}"
|
|
125
|
+
|
|
126
|
+
print_info "Fixing remaining string literals..."
|
|
127
|
+
|
|
128
|
+
local files_fixed=0
|
|
129
|
+
local files_processed=0
|
|
130
|
+
|
|
131
|
+
if [[ -f "$target" && "$target" == *.sh ]]; then
|
|
132
|
+
((files_processed++))
|
|
133
|
+
if fix_remaining_literals_in_file "$target"; then
|
|
134
|
+
((files_fixed++))
|
|
135
|
+
fi
|
|
136
|
+
elif [[ -d "$target" ]]; then
|
|
137
|
+
find "$target" -name "*.sh" -type f | while read -r file; do
|
|
138
|
+
((files_processed++))
|
|
139
|
+
if fix_remaining_literals_in_file "$file"; then
|
|
140
|
+
((files_fixed++))
|
|
141
|
+
fi
|
|
142
|
+
done
|
|
143
|
+
else
|
|
144
|
+
print_info "Invalid target: $target"
|
|
145
|
+
return 1
|
|
146
|
+
fi
|
|
147
|
+
|
|
148
|
+
print_success "Summary: $files_fixed/$files_processed files fixed"
|
|
149
|
+
return 0
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
main "$@"
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
# Script to add return statements to functions that need them
|
|
5
|
+
# Based on SonarCloud S7682 issues
|
|
6
|
+
|
|
7
|
+
FILE=".agent/scripts/101domains-helper.sh"
|
|
8
|
+
|
|
9
|
+
# Function to add return statement before closing brace
|
|
10
|
+
add_return_statement() {
|
|
11
|
+
local line_num=$1
|
|
12
|
+
sed -i "${line_num}i\\ return 0" "$FILE"
|
|
13
|
+
return 0
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
# Lines where functions end (based on SonarCloud analysis)
|
|
17
|
+
# These are the line numbers where we need to add return statements
|
|
18
|
+
FUNCTION_END_LINES=(
|
|
19
|
+
256 # purchase_domain
|
|
20
|
+
283 # get_nameservers
|
|
21
|
+
303 # update_nameservers
|
|
22
|
+
329 # delete_dns_record
|
|
23
|
+
357 # check_availability
|
|
24
|
+
377 # get_contacts
|
|
25
|
+
406 # update_nameservers
|
|
26
|
+
426 # lock_domain
|
|
27
|
+
446 # get_transfer_status
|
|
28
|
+
475 # monitor_expiration
|
|
29
|
+
508 # help
|
|
30
|
+
528 # main function
|
|
31
|
+
565 # end of file
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Add return statements in reverse order to avoid line number shifts
|
|
35
|
+
for ((i=${#FUNCTION_END_LINES[@]}-1; i>=0; i--)); do
|
|
36
|
+
line_num=${FUNCTION_END_LINES[i]}
|
|
37
|
+
echo "Adding return statement before line $line_num"
|
|
38
|
+
add_return_statement "$line_num"
|
|
39
|
+
done
|
|
40
|
+
|
|
41
|
+
echo "Return statements added to all functions in $FILE"
|