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,522 @@
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
+ # AmpCode CLI Integration Script
5
+ # Professional AI coding assistant integration
6
+ #
7
+ # Usage: ./ampcode-cli.sh [command] [options]
8
+ # Commands:
9
+ # install - Install AmpCode CLI
10
+ # setup - Configure AmpCode with API key
11
+ # scan - Run code scan and analysis
12
+ # review - Get AI code review
13
+ # fix - Apply AI-suggested fixes
14
+ # status - Check AmpCode status
15
+ #
16
+ # Author: AI DevOps Framework
17
+ # Version: 1.0.0
18
+ # License: MIT
19
+
20
+ # Colors for output
21
+ readonly GREEN='\033[0;32m'
22
+ readonly BLUE='\033[0;34m'
23
+ readonly YELLOW='\033[1;33m'
24
+ readonly RED='\033[0;31m'
25
+ readonly PURPLE='\033[0;35m'
26
+ readonly NC='\033[0m' # No Color
27
+
28
+ # Common constants
29
+ readonly ERROR_UNKNOWN_COMMAND="Unknown command:"
30
+ # Configuration
31
+ readonly AMPCODE_API_CONFIG="configs/ampcode-config.json"
32
+ readonly AMPCODE_RESULTS_DIR=".agent/tmp/ampcode"
33
+
34
+ # Print functions
35
+ print_success() {
36
+ local message="$1"
37
+ echo -e "${GREEN}✅ $message${NC}"
38
+ return 0
39
+ }
40
+
41
+ print_info() {
42
+ local message="$1"
43
+ echo -e "${BLUE}ℹ️ $message${NC}"
44
+ return 0
45
+ }
46
+
47
+ print_warning() {
48
+ local message="$1"
49
+ echo -e "${YELLOW}⚠️ $message${NC}"
50
+ return 0
51
+ }
52
+
53
+ print_error() {
54
+ local message="$1"
55
+ echo -e "${RED}❌ $message${NC}" >&2
56
+ return 0
57
+ }
58
+
59
+ print_header() {
60
+ local message="$1"
61
+ echo -e "${PURPLE}🤖 $message${NC}"
62
+ return 0
63
+ }
64
+
65
+ # Ensure results directory exists
66
+ ensure_results_dir() {
67
+ mkdir -p "$AMPCODE_RESULTS_DIR"
68
+ return 0
69
+ }
70
+
71
+ # Load API configuration
72
+ load_api_config() {
73
+ # Check environment variable first (set via mcp-env.sh, sourced by .zshrc)
74
+ if [[ -n "${AMPCODE_API_KEY:-}" ]]; then
75
+ print_info "Using AmpCode API key from environment"
76
+ return 0
77
+ fi
78
+
79
+ # Fallback to config file
80
+ if [[ -f "$AMPCODE_API_CONFIG" ]] && command -v jq >/dev/null 2>&1; then
81
+ local api_key
82
+ api_key=$(jq -r '.api_key // empty' "$AMPCODE_API_CONFIG" 2>/dev/null)
83
+ if [[ -n "$api_key" ]]; then
84
+ export AMPCODE_API_KEY="$api_key"
85
+ print_info "Loaded AmpCode API key from configuration"
86
+ return 0
87
+ fi
88
+ fi
89
+
90
+ print_warning "AMPCODE_API_KEY not found in environment"
91
+ print_info "Add to ~/.config/aidevops/mcp-env.sh:"
92
+ print_info " export AMPCODE_API_KEY=\"your-api-key\""
93
+ return 1
94
+ }
95
+
96
+ # Check if AmpCode CLI is installed
97
+ check_ampcode_cli() {
98
+ local ampcode_cmd="amp" # Likely CLI command name
99
+
100
+ if command -v "$ampcode_cmd" &> /dev/null; then
101
+ local version
102
+ version=$("$ampcode_cmd" --version 2>/dev/null || echo "unknown")
103
+ print_success "AmpCode CLI installed: $version"
104
+ return 0
105
+ else
106
+ print_warning "AmpCode CLI not found"
107
+ print_info "Expected CLI command: amp"
108
+ return 1
109
+ fi
110
+ return 0
111
+ }
112
+
113
+ # Install AmpCode CLI
114
+ install_ampcode_cli() {
115
+ print_header "Installing AmpCode CLI"
116
+
117
+ # Check if already installed
118
+ if check_ampcode_cli; then
119
+ print_info "AmpCode CLI is already installed"
120
+ return 0
121
+ fi
122
+
123
+ # Detect platform and install method
124
+ local platform
125
+ case "$(uname -s)" in
126
+ Darwin*)
127
+ platform="macOS"
128
+ if command -v brew &> /dev/null; then
129
+ print_info "Installing via Homebrew..."
130
+ # Install via npm as common method
131
+ if command -v npm &> /dev/null; then
132
+ # NOSONAR - npm scripts required for CLI binary installation
133
+ npm install -g @ampcode/cli
134
+ else
135
+ print_error "npm not found. Please install Node.js first"
136
+ return 1
137
+ fi
138
+ else
139
+ print_error "Homebrew not found. Please install Homebrew first"
140
+ return 1
141
+ fi
142
+ ;;
143
+ Linux*)
144
+ platform="Linux"
145
+ if command -v npm &> /dev/null; then
146
+ print_info "Installing via npm..."
147
+ # NOSONAR - npm scripts required for CLI binary installation
148
+ npm install -g @ampcode/cli
149
+ else
150
+ print_error "npm not found. Please install Node.js first"
151
+ return 1
152
+ fi
153
+ ;;
154
+ *)
155
+ print_error "Unsupported platform: $(uname -s)"
156
+ return 1
157
+ ;;
158
+ esac
159
+
160
+ # Verify installation
161
+ if check_ampcode_cli; then
162
+ print_success "AmpCode CLI installed successfully on $platform"
163
+ return 0
164
+ else
165
+ print_error "Installation failed"
166
+ print_info "Alternative: Visit https://ampcode.com to download CLI"
167
+ return 1
168
+ fi
169
+ return 0
170
+ }
171
+
172
+ # Setup AmpCode configuration
173
+ setup_ampcode_config() {
174
+ print_header "Setting Up AmpCode Configuration"
175
+
176
+ # Load existing config
177
+ if ! load_api_config; then
178
+ print_info "Please visit https://ampcode.com to get your API key"
179
+ print_info "Then run: Add AMPCODE_API_KEY to ~/.config/aidevops/mcp-env.sh"
180
+ return 1
181
+ fi
182
+
183
+ # Create config file
184
+ mkdir -p configs
185
+ cat > "$AMPCODE_API_CONFIG" << 'EOF'
186
+ {
187
+ "api_key": "",
188
+ "organisation": "",
189
+ "workspace": "",
190
+ "preferences": {
191
+ "auto_review": true,
192
+ "severity_threshold": "medium",
193
+ "focus_areas": ["security", "performance", "maintainability"]
194
+ }
195
+ return 0
196
+ }
197
+ EOF
198
+
199
+ # Update config with API key
200
+ if command -v jq >/dev/null 2>&1 && [[ -n "$AMPCODE_API_KEY" ]]; then
201
+ jq --arg api_key "$AMPCODE_API_KEY" '.api_key = $api_key' "$AMPCODE_API_CONFIG" > "${AMPCODE_API_CONFIG}.tmp"
202
+ mv "${AMPCODE_API_CONFIG}.tmp" "$AMPCODE_API_CONFIG"
203
+ fi
204
+
205
+ print_success "AmpCode configuration created: $AMPCODE_API_CONFIG"
206
+ print_info "You can customize the configuration file as needed"
207
+ return 0
208
+ }
209
+
210
+ # Run code scan
211
+ run_code_scan() {
212
+ local target_path="${1:-.}"
213
+ local output_format="${2:-json}"
214
+
215
+ print_header "Running AmpCode Code Scan"
216
+
217
+ # Ensure CLI is installed
218
+ if ! check_ampcode_cli; then
219
+ print_error "AmpCode CLI not installed"
220
+ print_info "Run: $0 install"
221
+ return 1
222
+ fi
223
+
224
+ # Load API configuration
225
+ if ! load_api_config; then
226
+ print_error "API configuration not found"
227
+ print_info "Run: $0 setup"
228
+ return 1
229
+ fi
230
+
231
+ ensure_results_dir
232
+ local output_file="$AMPCODE_RESULTS_DIR/scan-$(date +%Y%m%d-%H%M%S).$output_format"
233
+
234
+ print_info "Scanning path: $target_path"
235
+ print_info "Output format: $output_format"
236
+
237
+ local cmd="amp scan --path $target_path --format $output_format --output $output_file"
238
+ print_info "Executing: $cmd"
239
+
240
+ local start_time
241
+ start_time=$(date +%s)
242
+ eval "$cmd"
243
+ local exit_code=$?
244
+ local end_time
245
+ end_time=$(date +%s)
246
+ local duration
247
+ duration=$((end_time - start_time))
248
+
249
+ if [[ $exit_code -eq 0 ]]; then
250
+ print_success "Code scan completed in ${duration}s"
251
+ print_info "Results saved to: $output_file"
252
+
253
+ # Show summary
254
+ if [[ -f "$output_file" && "$output_format" == "json" ]] && command -v jq >/dev/null 2>&1; then
255
+ local issues
256
+ issues=$(jq '.issues | length // 0' "$output_file" 2>/dev/null || echo "0")
257
+ local suggestions
258
+ suggestions=$(jq '.suggestions | length // 0' "$output_file" 2>/dev/null || echo "0")
259
+ print_info "Issues found: $issues"
260
+ print_info "AI suggestions: $suggestions"
261
+ fi
262
+ return 0
263
+ else
264
+ print_error "Code scan failed after ${duration}s"
265
+ return 1
266
+ fi
267
+ return 0
268
+ }
269
+
270
+ # Get AI code review
271
+ get_ai_review() {
272
+ local target_path="${1:-.}"
273
+ local severity_level="${2:-medium}"
274
+
275
+ print_header "Getting AmpCode AI Review"
276
+
277
+ # Ensure CLI is installed
278
+ if ! check_ampcode_cli; then
279
+ print_error "AmpCode CLI not installed"
280
+ return 1
281
+ fi
282
+
283
+ # Load API configuration
284
+ if ! load_api_config; then
285
+ print_error "API configuration not found"
286
+ return 1
287
+ fi
288
+
289
+ ensure_results_dir
290
+ local review_file="$AMPCODE_RESULTS_DIR/review-$(date +%Y%m%d-%H%M%S).md"
291
+
292
+ print_info "Reviewing path: $target_path"
293
+ print_info "Severity level: $severity_level"
294
+
295
+ local cmd="amp review --path $target_path --severity $severity_level --output $review_file"
296
+ print_info "Executing: $cmd"
297
+
298
+ local start_time
299
+ start_time=$(date +%s)
300
+ eval "$cmd"
301
+ local exit_code=$?
302
+ local end_time
303
+ end_time=$(date +%s)
304
+ local duration
305
+ duration=$((end_time - start_time))
306
+
307
+ if [[ $exit_code -eq 0 ]]; then
308
+ print_success "AI review completed in ${duration}s"
309
+ print_info "Review saved to: $review_file"
310
+
311
+ # Show preview
312
+ if [[ -f "$review_file" ]]; then
313
+ print_info "Review preview:"
314
+ echo ""
315
+ head -20 "$review_file"
316
+ echo ""
317
+ local total_lines
318
+ total_lines=$(wc -l < "$review_file")
319
+ print_info "Total review lines: $total_lines"
320
+ fi
321
+ return 0
322
+ else
323
+ print_error "AI review failed after ${duration}s"
324
+ return 1
325
+ fi
326
+ return 0
327
+ }
328
+
329
+ # Apply AI-suggested fixes
330
+ apply_fixes() {
331
+ local target_path="${1:-.}"
332
+ local auto_apply="${2:-false}"
333
+
334
+ print_header "Applying AmpCode AI Fixes"
335
+
336
+ # Ensure CLI is installed
337
+ if ! check_ampcode_cli; then
338
+ print_error "AmpCode CLI not installed"
339
+ return 1
340
+ fi
341
+
342
+ # Load API configuration
343
+ if ! load_api_config; then
344
+ print_error "API configuration not found"
345
+ return 1
346
+ fi
347
+
348
+ ensure_results_dir
349
+ local fixes_file="$AMPCODE_RESULTS_DIR/fixes-$(date +%Y%m%d-%H%M%S).json"
350
+
351
+ print_info "Analyzing fixes for: $target_path"
352
+
353
+ local cmd="amp analyze --path $target_path --suggest-fixes --output $fixes_file"
354
+ print_info "Executing: $cmd"
355
+
356
+ local start_time
357
+ start_time=$(date +%s)
358
+ eval "$cmd"
359
+ local exit_code=$?
360
+ local end_time
361
+ end_time=$(date +%s)
362
+ local duration
363
+ duration=$((end_time - start_time))
364
+
365
+ if [[ $exit_code -eq 0 && -f "$fixes_file" ]]; then
366
+ print_success "Fix analysis completed in ${duration}s"
367
+
368
+ if command -v jq >/dev/null 2>&1; then
369
+ local fixes_count
370
+ fixes_count=$(jq '.fixes | length // 0' "$fixes_file" 2>/dev/null || echo "0")
371
+ print_info "AI fixes available: $fixes_count"
372
+ fi
373
+
374
+ if [[ "$auto_apply" == "true" ]]; then
375
+ print_warning "Auto-apply enabled - Apply with caution!"
376
+ print_info "Applying fixes..."
377
+
378
+ local apply_cmd="amp apply-fixes --file $fixes_file"
379
+ eval "$apply_cmd"
380
+ local apply_exit_code=$?
381
+
382
+ if [[ $apply_exit_code -eq 0 ]]; then
383
+ print_success "Fixes applied successfully"
384
+ else
385
+ print_error "Failed to apply some fixes"
386
+ return 1
387
+ fi
388
+ else
389
+ print_info "Use --auto-apply flag to automatically apply fixes"
390
+ print_info "Review fixes file: $fixes_file"
391
+ fi
392
+
393
+ return 0
394
+ else
395
+ print_error "Fix analysis failed after ${duration}s"
396
+ return 1
397
+ fi
398
+ return 0
399
+ }
400
+
401
+ # Show AmpCode status
402
+ show_status() {
403
+ print_header "AmpCode CLI Status"
404
+
405
+ # Check CLI installation
406
+ if check_ampcode_cli; then
407
+ echo ""
408
+ else
409
+ print_info "Run: $0 install"
410
+ echo ""
411
+ fi
412
+
413
+ # Check configuration
414
+ echo "Configuration Status:"
415
+ if load_api_config; then
416
+ print_success "API Key: ✅ Configured"
417
+ else
418
+ print_warning "API Key: ⚠️ Not configured"
419
+ print_info "Run: $0 setup"
420
+ fi
421
+
422
+ if [[ -f "$AMPCODE_API_CONFIG" ]]; then
423
+ print_success "Config File: ✅ $AMPCODE_API_CONFIG"
424
+ else
425
+ print_warning "Config File: ❌ Not found"
426
+ fi
427
+
428
+ echo ""
429
+ print_info "Recent Results:"
430
+ find "$AMPCODE_RESULTS_DIR" -name "*.json" -o -name "*.md" 2>/dev/null | sort -r | head -3 | while read -r file; do
431
+ local age
432
+ age=$(find "$file" -mmin +1 2>/dev/null || echo "0")
433
+ local size
434
+ size=$(du -h "$file" 2>/dev/null | cut -f1 || echo "unknown")
435
+ local type
436
+ type=$(basename "$file" | sed 's/.*\.//' | sed 's/-.*/./')
437
+ print_info " $(basename "$file") (${type} - $size)"
438
+ done
439
+
440
+ return 0
441
+ }
442
+
443
+ # Show help
444
+ show_help() {
445
+ print_header "AmpCode CLI Integration Help"
446
+ echo ""
447
+ echo "Usage: $0 [command] [options]"
448
+ echo ""
449
+ echo "Commands:"
450
+ echo " install - Install AmpCode CLI"
451
+ echo " setup - Configure AmpCode with API key"
452
+ echo " scan [path] - Run code scan and analysis"
453
+ echo " review [path] - Get AI code review"
454
+ echo " fix [path] - Apply AI-suggested fixes"
455
+ echo " status - Check AmpCode status"
456
+ echo " help - Show this help message"
457
+ echo ""
458
+ echo "Examples:"
459
+ echo " $0 install"
460
+ echo " $0 setup"
461
+ echo " $0 scan ./src"
462
+ echo " $0 review --severity high"
463
+ echo " $0 fix --auto-apply"
464
+ echo ""
465
+ echo "Setup:"
466
+ echo " 1. Visit https://ampcode.com to create account"
467
+ echo " 2. Get your API key"
468
+ echo " 3. Run: Add AMPCODE_API_KEY to ~/.config/aidevops/mcp-env.sh"
469
+ echo " 4. Run: $0 setup"
470
+ echo ""
471
+ echo "This script integrates AmpCode's professional AI coding assistant"
472
+ echo "with the AI DevOps Framework for enhanced code quality and productivity."
473
+ echo ""
474
+ return 0
475
+ }
476
+
477
+ # Main function
478
+ main() {
479
+ local _arg2="$2"
480
+ local _arg3="$3"
481
+ local command="${1:-help}"
482
+
483
+ # Ensure temp directory exists
484
+ mkdir -p .agent/tmp
485
+
486
+ case "$command" in
487
+ "install")
488
+ install_ampcode_cli
489
+ ;;
490
+ "setup")
491
+ setup_ampcode_config
492
+ ;;
493
+ "scan")
494
+ run_code_scan "$_arg2" "$_arg3"
495
+ ;;
496
+ "review")
497
+ get_ai_review "$_arg2" "$_arg3"
498
+ ;;
499
+ "fix")
500
+ if [[ "$_arg2" == "--auto-apply" ]]; then
501
+ apply_fixes "$_arg3" "true"
502
+ else
503
+ apply_fixes "$_arg2" "false"
504
+ fi
505
+ ;;
506
+ "status")
507
+ show_status
508
+ ;;
509
+ "help"|"--help"|"-h")
510
+ show_help
511
+ ;;
512
+ *)
513
+ print_error "$ERROR_UNKNOWN_COMMAND $command"
514
+ show_help
515
+ return 1
516
+ ;;
517
+ esac
518
+ return 0
519
+ }
520
+
521
+ # Execute main function with all arguments
522
+ main "$@"
@@ -0,0 +1,156 @@
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
+ # Auto Version Bump Script for AI DevOps Framework
5
+ # Automatically determines version bump type based on commit message
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 YELLOW='\033[1;33m'
14
+ readonly RED='\033[0;31m'
15
+ readonly NC='\033[0m' # No Color
16
+
17
+ print_info() { local msg="$1"; echo -e "${BLUE}[INFO]${NC} $msg"; return 0; }
18
+ print_success() { local msg="$1"; echo -e "${GREEN}[SUCCESS]${NC} $msg"; return 0; }
19
+ print_warning() { local msg="$1"; echo -e "${YELLOW}[WARNING]${NC} $msg"; return 0; }
20
+ print_error() { local msg="$1"; echo -e "${RED}[ERROR]${NC} $msg" >&2; return 0; }
21
+
22
+ # Repository root directory
23
+ REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" || exit
24
+ VERSION_MANAGER="$REPO_ROOT/.agent/scripts/version-manager.sh"
25
+
26
+ # Function to determine version bump type from commit message
27
+ determine_bump_type() {
28
+ local commit_message="$1"
29
+
30
+ # Major version indicators (breaking changes)
31
+ if echo "$commit_message" | grep -qE "BREAKING|MAJOR|💥|🚨.*BREAKING"; then
32
+ echo "major"
33
+ return 0
34
+ fi
35
+
36
+ # Minor version indicators (new features)
37
+ if echo "$commit_message" | grep -qE "FEATURE|FEAT|NEW|ADD|✨|🚀|📦|🎯.*NEW|🎯.*ADD"; then
38
+ echo "minor"
39
+ return 0
40
+ fi
41
+
42
+ # Patch version indicators (bug fixes, improvements)
43
+ if echo "$commit_message" | grep -qE "FIX|PATCH|BUG|IMPROVE|UPDATE|ENHANCE|🔧|🐛|📝|🎨|♻️|⚡|🔒|📊"; then
44
+ echo "patch"
45
+ return 0
46
+ fi
47
+
48
+ # Default to patch for any other changes
49
+ echo "patch"
50
+ return 0
51
+ }
52
+
53
+ # Function to check if version should be bumped
54
+ should_bump_version() {
55
+ local commit_message="$1"
56
+
57
+ # Skip version bump for certain commit types
58
+ if echo "$commit_message" | grep -qE "^(docs|style|test|chore|ci|build):|WIP|SKIP.*VERSION|NO.*VERSION"; then
59
+ return 1
60
+ fi
61
+
62
+ return 0
63
+ }
64
+
65
+ # Function to update version badge in README
66
+ update_version_badge() {
67
+ local new_version="$1"
68
+ local readme_file="$REPO_ROOT/README.md"
69
+
70
+ if [[ -f "$readme_file" ]]; then
71
+ # Use more robust regex pattern for version numbers (handles single and multi-digit)
72
+ # macOS sed requires different syntax for extended regex
73
+ sed -i '' "s/Version-[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*-blue/Version-$new_version-blue/" "$readme_file"
74
+
75
+ # Validate the update was successful
76
+ if grep -q "Version-$new_version-blue" "$readme_file"; then
77
+ print_success "Updated version badge in README.md to $new_version"
78
+ else
79
+ print_error "Failed to update version badge in README.md"
80
+ fi
81
+ fi
82
+ return 0
83
+ }
84
+
85
+ # Main function
86
+ main() {
87
+ local commit_message="$1"
88
+
89
+ if [[ -z "$commit_message" ]]; then
90
+ # Get the last commit message
91
+ commit_message=$(git log -1 --pretty=%B 2>/dev/null)
92
+ if [[ -z "$commit_message" ]]; then
93
+ print_error "No commit message provided and unable to get last commit"
94
+ exit 1
95
+ fi
96
+ fi
97
+
98
+ print_info "Analyzing commit message: $commit_message"
99
+
100
+ if ! should_bump_version "$commit_message"; then
101
+ print_info "Skipping version bump for this commit type"
102
+ exit 0
103
+ fi
104
+
105
+ local bump_type
106
+ bump_type=$(determine_bump_type "$commit_message")
107
+
108
+ print_info "Determined bump type: $bump_type"
109
+
110
+ if [[ -x "$VERSION_MANAGER" ]]; then
111
+ local current_version
112
+ current_version=$("$VERSION_MANAGER" get)
113
+
114
+ local new_version
115
+ new_version=$("$VERSION_MANAGER" bump "$bump_type")
116
+
117
+ if [[ $? -eq 0 ]]; then
118
+ print_success "Version bumped: $current_version → $new_version"
119
+ update_version_badge "$new_version"
120
+
121
+ # Add updated files to git
122
+ git add VERSION README.md sonar-project.properties setup.sh 2>/dev/null
123
+
124
+ echo "$new_version"
125
+ else
126
+ print_error "Failed to bump version"
127
+ exit 1
128
+ fi
129
+ else
130
+ print_error "Version manager script not found or not executable"
131
+ exit 1
132
+ fi
133
+ return 0
134
+ }
135
+
136
+ # Show usage if no arguments and not in git repo
137
+ if [[ $# -eq 0 && ! -d .git ]]; then
138
+ echo "Auto Version Bump for AI DevOps Framework"
139
+ echo ""
140
+ echo "Usage: $0 [commit_message]"
141
+ echo ""
142
+ echo "Automatically determines version bump type based on commit message:"
143
+ echo " MAJOR: BREAKING, MAJOR, 💥, 🚨 BREAKING"
144
+ echo " MINOR: FEATURE, FEAT, NEW, ADD, ✨, 🚀, 📦, 🎯 NEW/ADD"
145
+ echo " PATCH: FIX, PATCH, BUG, IMPROVE, UPDATE, ENHANCE, 🔧, 🐛, 📝, 🎨, ♻️, ⚡, 🔒, 📊"
146
+ echo ""
147
+ echo "Skips version bump for: docs, style, test, chore, ci, build, WIP, SKIP VERSION, NO VERSION"
148
+ echo ""
149
+ echo "Examples:"
150
+ echo " $0 '🚀 FEATURE: Add new Hetzner integration'"
151
+ echo " $0 '🔧 FIX: Resolve badge display issue'"
152
+ echo " $0 '💥 BREAKING: Change API structure'"
153
+ exit 0
154
+ fi
155
+
156
+ main "$@"