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.
Files changed (329) hide show
  1. package/.agent/AGENTS.md +614 -0
  2. package/.agent/accounts.md +65 -0
  3. package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
  4. package/.agent/aidevops/api-integrations.md +335 -0
  5. package/.agent/aidevops/architecture.md +510 -0
  6. package/.agent/aidevops/configs.md +274 -0
  7. package/.agent/aidevops/docs.md +244 -0
  8. package/.agent/aidevops/extension.md +311 -0
  9. package/.agent/aidevops/mcp-integrations.md +340 -0
  10. package/.agent/aidevops/mcp-troubleshooting.md +162 -0
  11. package/.agent/aidevops/memory-patterns.md +172 -0
  12. package/.agent/aidevops/providers.md +217 -0
  13. package/.agent/aidevops/recommendations.md +321 -0
  14. package/.agent/aidevops/requirements.md +301 -0
  15. package/.agent/aidevops/resources.md +214 -0
  16. package/.agent/aidevops/security-requirements.md +174 -0
  17. package/.agent/aidevops/security.md +350 -0
  18. package/.agent/aidevops/service-links.md +400 -0
  19. package/.agent/aidevops/services.md +357 -0
  20. package/.agent/aidevops/setup.md +153 -0
  21. package/.agent/aidevops/troubleshooting.md +389 -0
  22. package/.agent/aidevops.md +124 -0
  23. package/.agent/build-plus.md +244 -0
  24. package/.agent/content/guidelines.md +109 -0
  25. package/.agent/content.md +87 -0
  26. package/.agent/health.md +59 -0
  27. package/.agent/legal.md +59 -0
  28. package/.agent/loop-state/full-loop.local.md +16 -0
  29. package/.agent/loop-state/ralph-loop.local.md +10 -0
  30. package/.agent/marketing.md +440 -0
  31. package/.agent/memory/README.md +260 -0
  32. package/.agent/onboarding.md +796 -0
  33. package/.agent/plan-plus.md +245 -0
  34. package/.agent/research.md +100 -0
  35. package/.agent/sales.md +333 -0
  36. package/.agent/scripts/101domains-helper.sh +701 -0
  37. package/.agent/scripts/add-missing-returns.sh +140 -0
  38. package/.agent/scripts/agent-browser-helper.sh +311 -0
  39. package/.agent/scripts/agno-setup.sh +712 -0
  40. package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
  41. package/.agent/scripts/aidevops-update-check.sh +71 -0
  42. package/.agent/scripts/ampcode-cli.sh +522 -0
  43. package/.agent/scripts/auto-version-bump.sh +156 -0
  44. package/.agent/scripts/autogen-helper.sh +512 -0
  45. package/.agent/scripts/beads-sync-helper.sh +596 -0
  46. package/.agent/scripts/closte-helper.sh +5 -0
  47. package/.agent/scripts/cloudron-helper.sh +321 -0
  48. package/.agent/scripts/codacy-cli-chunked.sh +581 -0
  49. package/.agent/scripts/codacy-cli.sh +442 -0
  50. package/.agent/scripts/code-audit-helper.sh +5 -0
  51. package/.agent/scripts/coderabbit-cli.sh +417 -0
  52. package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
  53. package/.agent/scripts/commands/code-simplifier.md +86 -0
  54. package/.agent/scripts/commands/full-loop.md +246 -0
  55. package/.agent/scripts/commands/postflight-loop.md +103 -0
  56. package/.agent/scripts/commands/recall.md +182 -0
  57. package/.agent/scripts/commands/remember.md +132 -0
  58. package/.agent/scripts/commands/save-todo.md +175 -0
  59. package/.agent/scripts/commands/session-review.md +154 -0
  60. package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
  61. package/.agent/scripts/context-builder-helper.sh +522 -0
  62. package/.agent/scripts/coolify-cli-helper.sh +674 -0
  63. package/.agent/scripts/coolify-helper.sh +380 -0
  64. package/.agent/scripts/crawl4ai-examples.sh +401 -0
  65. package/.agent/scripts/crawl4ai-helper.sh +1078 -0
  66. package/.agent/scripts/crewai-helper.sh +681 -0
  67. package/.agent/scripts/dev-browser-helper.sh +513 -0
  68. package/.agent/scripts/dns-helper.sh +396 -0
  69. package/.agent/scripts/domain-research-helper.sh +917 -0
  70. package/.agent/scripts/dspy-helper.sh +285 -0
  71. package/.agent/scripts/dspyground-helper.sh +291 -0
  72. package/.agent/scripts/eeat-score-helper.sh +1242 -0
  73. package/.agent/scripts/efficient-return-fix.sh +92 -0
  74. package/.agent/scripts/extract-opencode-prompts.sh +128 -0
  75. package/.agent/scripts/find-missing-returns.sh +113 -0
  76. package/.agent/scripts/fix-auth-headers.sh +104 -0
  77. package/.agent/scripts/fix-common-strings.sh +254 -0
  78. package/.agent/scripts/fix-content-type.sh +100 -0
  79. package/.agent/scripts/fix-error-messages.sh +130 -0
  80. package/.agent/scripts/fix-misplaced-returns.sh +74 -0
  81. package/.agent/scripts/fix-remaining-literals.sh +152 -0
  82. package/.agent/scripts/fix-return-statements.sh +41 -0
  83. package/.agent/scripts/fix-s131-default-cases.sh +249 -0
  84. package/.agent/scripts/fix-sc2155-simple.sh +102 -0
  85. package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
  86. package/.agent/scripts/fix-string-literals.sh +273 -0
  87. package/.agent/scripts/full-loop-helper.sh +773 -0
  88. package/.agent/scripts/generate-opencode-agents.sh +497 -0
  89. package/.agent/scripts/generate-opencode-commands.sh +1629 -0
  90. package/.agent/scripts/generate-skills.sh +366 -0
  91. package/.agent/scripts/git-platforms-helper.sh +640 -0
  92. package/.agent/scripts/gitea-cli-helper.sh +743 -0
  93. package/.agent/scripts/github-cli-helper.sh +702 -0
  94. package/.agent/scripts/gitlab-cli-helper.sh +682 -0
  95. package/.agent/scripts/gsc-add-user-helper.sh +325 -0
  96. package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
  97. package/.agent/scripts/hetzner-helper.sh +485 -0
  98. package/.agent/scripts/hostinger-helper.sh +229 -0
  99. package/.agent/scripts/keyword-research-helper.sh +1815 -0
  100. package/.agent/scripts/langflow-helper.sh +544 -0
  101. package/.agent/scripts/linkedin-automation.py +241 -0
  102. package/.agent/scripts/linter-manager.sh +599 -0
  103. package/.agent/scripts/linters-local.sh +434 -0
  104. package/.agent/scripts/list-keys-helper.sh +488 -0
  105. package/.agent/scripts/local-browser-automation.py +339 -0
  106. package/.agent/scripts/localhost-helper.sh +744 -0
  107. package/.agent/scripts/loop-common.sh +806 -0
  108. package/.agent/scripts/mainwp-helper.sh +728 -0
  109. package/.agent/scripts/markdown-formatter.sh +338 -0
  110. package/.agent/scripts/markdown-lint-fix.sh +311 -0
  111. package/.agent/scripts/mass-fix-returns.sh +58 -0
  112. package/.agent/scripts/mcp-diagnose.sh +167 -0
  113. package/.agent/scripts/mcp-inspector-helper.sh +449 -0
  114. package/.agent/scripts/memory-helper.sh +650 -0
  115. package/.agent/scripts/monitor-code-review.sh +255 -0
  116. package/.agent/scripts/onboarding-helper.sh +706 -0
  117. package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
  118. package/.agent/scripts/opencode-test-helper.sh +213 -0
  119. package/.agent/scripts/pagespeed-helper.sh +464 -0
  120. package/.agent/scripts/pandoc-helper.sh +362 -0
  121. package/.agent/scripts/postflight-check.sh +555 -0
  122. package/.agent/scripts/pre-commit-hook.sh +259 -0
  123. package/.agent/scripts/pre-edit-check.sh +169 -0
  124. package/.agent/scripts/qlty-cli.sh +356 -0
  125. package/.agent/scripts/quality-cli-manager.sh +525 -0
  126. package/.agent/scripts/quality-feedback-helper.sh +462 -0
  127. package/.agent/scripts/quality-fix.sh +263 -0
  128. package/.agent/scripts/quality-loop-helper.sh +1108 -0
  129. package/.agent/scripts/ralph-loop-helper.sh +836 -0
  130. package/.agent/scripts/ralph-upstream-check.sh +341 -0
  131. package/.agent/scripts/secretlint-helper.sh +847 -0
  132. package/.agent/scripts/servers-helper.sh +241 -0
  133. package/.agent/scripts/ses-helper.sh +619 -0
  134. package/.agent/scripts/session-review-helper.sh +404 -0
  135. package/.agent/scripts/setup-linters-wizard.sh +379 -0
  136. package/.agent/scripts/setup-local-api-keys.sh +330 -0
  137. package/.agent/scripts/setup-mcp-integrations.sh +472 -0
  138. package/.agent/scripts/shared-constants.sh +246 -0
  139. package/.agent/scripts/site-crawler-helper.sh +1487 -0
  140. package/.agent/scripts/snyk-helper.sh +940 -0
  141. package/.agent/scripts/sonarcloud-autofix.sh +193 -0
  142. package/.agent/scripts/sonarcloud-cli.sh +191 -0
  143. package/.agent/scripts/sonarscanner-cli.sh +455 -0
  144. package/.agent/scripts/spaceship-helper.sh +747 -0
  145. package/.agent/scripts/stagehand-helper.sh +321 -0
  146. package/.agent/scripts/stagehand-python-helper.sh +321 -0
  147. package/.agent/scripts/stagehand-python-setup.sh +441 -0
  148. package/.agent/scripts/stagehand-setup.sh +439 -0
  149. package/.agent/scripts/system-cleanup.sh +340 -0
  150. package/.agent/scripts/terminal-title-helper.sh +388 -0
  151. package/.agent/scripts/terminal-title-setup.sh +549 -0
  152. package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
  153. package/.agent/scripts/test-stagehand-integration.sh +309 -0
  154. package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
  155. package/.agent/scripts/todo-ready.sh +263 -0
  156. package/.agent/scripts/tool-version-check.sh +362 -0
  157. package/.agent/scripts/toon-helper.sh +469 -0
  158. package/.agent/scripts/twilio-helper.sh +917 -0
  159. package/.agent/scripts/updown-helper.sh +279 -0
  160. package/.agent/scripts/validate-mcp-integrations.sh +250 -0
  161. package/.agent/scripts/validate-version-consistency.sh +131 -0
  162. package/.agent/scripts/vaultwarden-helper.sh +597 -0
  163. package/.agent/scripts/vercel-cli-helper.sh +816 -0
  164. package/.agent/scripts/verify-mirrors.sh +169 -0
  165. package/.agent/scripts/version-manager.sh +831 -0
  166. package/.agent/scripts/webhosting-helper.sh +471 -0
  167. package/.agent/scripts/webhosting-verify.sh +238 -0
  168. package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
  169. package/.agent/scripts/worktree-helper.sh +595 -0
  170. package/.agent/scripts/worktree-sessions.sh +577 -0
  171. package/.agent/seo/dataforseo.md +215 -0
  172. package/.agent/seo/domain-research.md +532 -0
  173. package/.agent/seo/eeat-score.md +659 -0
  174. package/.agent/seo/google-search-console.md +366 -0
  175. package/.agent/seo/gsc-sitemaps.md +282 -0
  176. package/.agent/seo/keyword-research.md +521 -0
  177. package/.agent/seo/serper.md +278 -0
  178. package/.agent/seo/site-crawler.md +387 -0
  179. package/.agent/seo.md +236 -0
  180. package/.agent/services/accounting/quickfile.md +159 -0
  181. package/.agent/services/communications/telfon.md +470 -0
  182. package/.agent/services/communications/twilio.md +569 -0
  183. package/.agent/services/crm/fluentcrm.md +449 -0
  184. package/.agent/services/email/ses.md +399 -0
  185. package/.agent/services/hosting/101domains.md +378 -0
  186. package/.agent/services/hosting/closte.md +177 -0
  187. package/.agent/services/hosting/cloudflare.md +251 -0
  188. package/.agent/services/hosting/cloudron.md +478 -0
  189. package/.agent/services/hosting/dns-providers.md +335 -0
  190. package/.agent/services/hosting/domain-purchasing.md +344 -0
  191. package/.agent/services/hosting/hetzner.md +327 -0
  192. package/.agent/services/hosting/hostinger.md +287 -0
  193. package/.agent/services/hosting/localhost.md +419 -0
  194. package/.agent/services/hosting/spaceship.md +353 -0
  195. package/.agent/services/hosting/webhosting.md +330 -0
  196. package/.agent/social-media.md +69 -0
  197. package/.agent/templates/plans-template.md +114 -0
  198. package/.agent/templates/prd-template.md +129 -0
  199. package/.agent/templates/tasks-template.md +108 -0
  200. package/.agent/templates/todo-template.md +89 -0
  201. package/.agent/tools/ai-assistants/agno.md +471 -0
  202. package/.agent/tools/ai-assistants/capsolver.md +326 -0
  203. package/.agent/tools/ai-assistants/configuration.md +221 -0
  204. package/.agent/tools/ai-assistants/overview.md +209 -0
  205. package/.agent/tools/ai-assistants/status.md +171 -0
  206. package/.agent/tools/ai-assistants/windsurf.md +193 -0
  207. package/.agent/tools/ai-orchestration/autogen.md +406 -0
  208. package/.agent/tools/ai-orchestration/crewai.md +445 -0
  209. package/.agent/tools/ai-orchestration/langflow.md +405 -0
  210. package/.agent/tools/ai-orchestration/openprose.md +487 -0
  211. package/.agent/tools/ai-orchestration/overview.md +362 -0
  212. package/.agent/tools/ai-orchestration/packaging.md +647 -0
  213. package/.agent/tools/browser/agent-browser.md +464 -0
  214. package/.agent/tools/browser/browser-automation.md +400 -0
  215. package/.agent/tools/browser/chrome-devtools.md +282 -0
  216. package/.agent/tools/browser/crawl4ai-integration.md +422 -0
  217. package/.agent/tools/browser/crawl4ai-resources.md +277 -0
  218. package/.agent/tools/browser/crawl4ai-usage.md +416 -0
  219. package/.agent/tools/browser/crawl4ai.md +585 -0
  220. package/.agent/tools/browser/dev-browser.md +341 -0
  221. package/.agent/tools/browser/pagespeed.md +260 -0
  222. package/.agent/tools/browser/playwright.md +266 -0
  223. package/.agent/tools/browser/playwriter.md +310 -0
  224. package/.agent/tools/browser/stagehand-examples.md +456 -0
  225. package/.agent/tools/browser/stagehand-python.md +483 -0
  226. package/.agent/tools/browser/stagehand.md +421 -0
  227. package/.agent/tools/build-agent/agent-review.md +224 -0
  228. package/.agent/tools/build-agent/build-agent.md +784 -0
  229. package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
  230. package/.agent/tools/build-mcp/api-wrapper.md +445 -0
  231. package/.agent/tools/build-mcp/build-mcp.md +240 -0
  232. package/.agent/tools/build-mcp/deployment.md +401 -0
  233. package/.agent/tools/build-mcp/server-patterns.md +632 -0
  234. package/.agent/tools/build-mcp/transports.md +366 -0
  235. package/.agent/tools/code-review/auditing.md +383 -0
  236. package/.agent/tools/code-review/automation.md +219 -0
  237. package/.agent/tools/code-review/best-practices.md +203 -0
  238. package/.agent/tools/code-review/codacy.md +151 -0
  239. package/.agent/tools/code-review/code-simplifier.md +174 -0
  240. package/.agent/tools/code-review/code-standards.md +309 -0
  241. package/.agent/tools/code-review/coderabbit.md +101 -0
  242. package/.agent/tools/code-review/management.md +155 -0
  243. package/.agent/tools/code-review/qlty.md +248 -0
  244. package/.agent/tools/code-review/secretlint.md +565 -0
  245. package/.agent/tools/code-review/setup.md +250 -0
  246. package/.agent/tools/code-review/snyk.md +563 -0
  247. package/.agent/tools/code-review/tools.md +230 -0
  248. package/.agent/tools/content/summarize.md +353 -0
  249. package/.agent/tools/context/augment-context-engine.md +468 -0
  250. package/.agent/tools/context/context-builder-agent.md +76 -0
  251. package/.agent/tools/context/context-builder.md +375 -0
  252. package/.agent/tools/context/context7.md +371 -0
  253. package/.agent/tools/context/dspy.md +302 -0
  254. package/.agent/tools/context/dspyground.md +374 -0
  255. package/.agent/tools/context/llm-tldr.md +219 -0
  256. package/.agent/tools/context/osgrep.md +488 -0
  257. package/.agent/tools/context/prompt-optimization.md +338 -0
  258. package/.agent/tools/context/toon.md +292 -0
  259. package/.agent/tools/conversion/pandoc.md +304 -0
  260. package/.agent/tools/credentials/api-key-management.md +154 -0
  261. package/.agent/tools/credentials/api-key-setup.md +224 -0
  262. package/.agent/tools/credentials/environment-variables.md +180 -0
  263. package/.agent/tools/credentials/vaultwarden.md +382 -0
  264. package/.agent/tools/data-extraction/outscraper.md +974 -0
  265. package/.agent/tools/deployment/coolify-cli.md +388 -0
  266. package/.agent/tools/deployment/coolify-setup.md +353 -0
  267. package/.agent/tools/deployment/coolify.md +345 -0
  268. package/.agent/tools/deployment/vercel.md +390 -0
  269. package/.agent/tools/git/authentication.md +132 -0
  270. package/.agent/tools/git/gitea-cli.md +193 -0
  271. package/.agent/tools/git/github-actions.md +207 -0
  272. package/.agent/tools/git/github-cli.md +223 -0
  273. package/.agent/tools/git/gitlab-cli.md +190 -0
  274. package/.agent/tools/git/opencode-github-security.md +350 -0
  275. package/.agent/tools/git/opencode-github.md +328 -0
  276. package/.agent/tools/git/opencode-gitlab.md +252 -0
  277. package/.agent/tools/git/security.md +196 -0
  278. package/.agent/tools/git.md +207 -0
  279. package/.agent/tools/opencode/oh-my-opencode.md +375 -0
  280. package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
  281. package/.agent/tools/opencode/opencode.md +651 -0
  282. package/.agent/tools/social-media/bird.md +437 -0
  283. package/.agent/tools/task-management/beads.md +336 -0
  284. package/.agent/tools/terminal/terminal-title.md +251 -0
  285. package/.agent/tools/ui/shadcn.md +196 -0
  286. package/.agent/tools/ui/ui-skills.md +115 -0
  287. package/.agent/tools/wordpress/localwp.md +311 -0
  288. package/.agent/tools/wordpress/mainwp.md +391 -0
  289. package/.agent/tools/wordpress/scf.md +527 -0
  290. package/.agent/tools/wordpress/wp-admin.md +729 -0
  291. package/.agent/tools/wordpress/wp-dev.md +940 -0
  292. package/.agent/tools/wordpress/wp-preferred.md +398 -0
  293. package/.agent/tools/wordpress.md +95 -0
  294. package/.agent/workflows/branch/bugfix.md +63 -0
  295. package/.agent/workflows/branch/chore.md +95 -0
  296. package/.agent/workflows/branch/experiment.md +115 -0
  297. package/.agent/workflows/branch/feature.md +59 -0
  298. package/.agent/workflows/branch/hotfix.md +98 -0
  299. package/.agent/workflows/branch/refactor.md +92 -0
  300. package/.agent/workflows/branch/release.md +96 -0
  301. package/.agent/workflows/branch.md +347 -0
  302. package/.agent/workflows/bug-fixing.md +267 -0
  303. package/.agent/workflows/changelog.md +129 -0
  304. package/.agent/workflows/code-audit-remote.md +279 -0
  305. package/.agent/workflows/conversation-starter.md +69 -0
  306. package/.agent/workflows/error-feedback.md +578 -0
  307. package/.agent/workflows/feature-development.md +355 -0
  308. package/.agent/workflows/git-workflow.md +702 -0
  309. package/.agent/workflows/multi-repo-workspace.md +268 -0
  310. package/.agent/workflows/plans.md +709 -0
  311. package/.agent/workflows/postflight.md +604 -0
  312. package/.agent/workflows/pr.md +571 -0
  313. package/.agent/workflows/preflight.md +278 -0
  314. package/.agent/workflows/ralph-loop.md +773 -0
  315. package/.agent/workflows/release.md +498 -0
  316. package/.agent/workflows/session-manager.md +254 -0
  317. package/.agent/workflows/session-review.md +311 -0
  318. package/.agent/workflows/sql-migrations.md +631 -0
  319. package/.agent/workflows/version-bump.md +283 -0
  320. package/.agent/workflows/wiki-update.md +333 -0
  321. package/.agent/workflows/worktree.md +477 -0
  322. package/LICENSE +21 -0
  323. package/README.md +1446 -0
  324. package/VERSION +1 -0
  325. package/aidevops.sh +1746 -0
  326. package/bin/aidevops +21 -0
  327. package/package.json +75 -0
  328. package/scripts/npm-postinstall.js +60 -0
  329. 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"