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,362 @@
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
+ # Pandoc Document Conversion Helper for AI DevOps Framework
5
+ # Converts various document formats to markdown for AI assistant processing
6
+ #
7
+ # Author: AI DevOps Framework
8
+ # Version: 1.1.2
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
+ # Check if pandoc is installed
23
+ check_pandoc() {
24
+ if ! command -v pandoc &> /dev/null; then
25
+ print_error "Pandoc is not installed. Please install it first:"
26
+ echo ""
27
+ echo "macOS: brew install pandoc"
28
+ echo "Ubuntu: sudo apt-get install pandoc"
29
+ echo "CentOS: sudo yum install pandoc"
30
+ echo "Windows: choco install pandoc"
31
+ echo ""
32
+ echo "Or download from: https://pandoc.org/installing.html"
33
+ return 1
34
+ fi
35
+ return 0
36
+ }
37
+
38
+ # Function to detect file format
39
+ detect_format() {
40
+ local file="$command"
41
+ local extension="${file##*.}"
42
+
43
+ case "$(echo "$extension" | tr '[:upper:]' '[:lower:]')" in
44
+ "docx"|"doc") echo "docx" ;;
45
+ "pdf") echo "pdf" ;;
46
+ "html"|"htm") echo "html" ;;
47
+ "epub") echo "epub" ;;
48
+ "odt") echo "odt" ;;
49
+ "rtf") echo "rtf" ;;
50
+ "tex"|"latex") echo "latex" ;;
51
+ "rst") echo "rst" ;;
52
+ "org") echo "org" ;;
53
+ "textile") echo "textile" ;;
54
+ "mediawiki") echo "mediawiki" ;;
55
+ "twiki") echo "twiki" ;;
56
+ "opml") echo "opml" ;;
57
+ "json") echo "json" ;;
58
+ "csv") echo "csv" ;;
59
+ "tsv") echo "tsv" ;;
60
+ "xml") echo "xml" ;;
61
+ "pptx"|"ppt") echo "pptx" ;;
62
+ "xlsx"|"xls") echo "xlsx" ;;
63
+ *) echo "unknown" ;;
64
+ esac
65
+ return 0
66
+ }
67
+
68
+ # Function to convert single file to markdown
69
+ convert_to_markdown() {
70
+ local input_file="$command"
71
+ local output_file="$account_name"
72
+ local input_format="$target"
73
+ local options="$options"
74
+
75
+ if [[ ! -f "$input_file" ]]; then
76
+ print_error "Input file not found: $input_file"
77
+ return 1
78
+ fi
79
+
80
+ # Auto-detect format if not specified
81
+ if [[ -z "$input_format" || "$input_format" == "auto" ]]; then
82
+ input_format=$(detect_format "$input_file")
83
+ if [[ "$input_format" == "unknown" ]]; then
84
+ print_warning "Could not detect format for $input_file, trying auto-detection"
85
+ input_format=""
86
+ fi
87
+ fi
88
+
89
+ # Set default output file if not specified
90
+ if [[ -z "$output_file" ]]; then
91
+ output_file="${input_file%.*}.md"
92
+ fi
93
+
94
+ # Build pandoc command
95
+ local pandoc_cmd="pandoc"
96
+
97
+ # Add input format if specified
98
+ if [[ -n "$input_format" ]]; then
99
+ pandoc_cmd="$pandoc_cmd -f $input_format"
100
+ fi
101
+
102
+ # Add output format (always markdown)
103
+ pandoc_cmd="$pandoc_cmd -t markdown"
104
+
105
+ # Add common options for better markdown output
106
+ pandoc_cmd="$pandoc_cmd --wrap=none --markdown-headings=atx"
107
+
108
+ # Add custom options if provided
109
+ if [[ -n "$options" ]]; then
110
+ pandoc_cmd="$pandoc_cmd $options"
111
+ fi
112
+
113
+ # Add input and output files
114
+ pandoc_cmd="$pandoc_cmd \"$input_file\" -o \"$output_file\""
115
+
116
+ print_info "Converting: $input_file → $output_file"
117
+ print_info "Command: $pandoc_cmd"
118
+
119
+ # Execute conversion
120
+ if eval "$pandoc_cmd"; then
121
+ print_success "Converted successfully: $output_file"
122
+
123
+ # Show file size and preview
124
+ local size
125
+ size=$(du -h "$output_file" | cut -f1)
126
+ local lines
127
+ lines=$(wc -l < "$output_file")
128
+ print_info "Output: $size, $lines lines"
129
+
130
+ # Show first few lines as preview
131
+ echo ""
132
+ echo "Preview (first 10 lines):"
133
+ echo "------------------------"
134
+ head -10 "$output_file"
135
+ echo "------------------------"
136
+
137
+ return 0
138
+ else
139
+ print_error "Conversion failed"
140
+ return 1
141
+ fi
142
+ return 0
143
+ }
144
+
145
+ # Function to convert multiple files in a directory
146
+ convert_directory() {
147
+ local input_dir="$command"
148
+ local output_dir="$account_name"
149
+ local pattern="$target"
150
+ local input_format="$options"
151
+ local options="$5"
152
+
153
+ if [[ ! -d "$input_dir" ]]; then
154
+ print_error "Input directory not found: $input_dir"
155
+ return 1
156
+ fi
157
+
158
+ # Create output directory if it doesn't exist
159
+ if [[ -n "$output_dir" ]]; then
160
+ mkdir -p "$output_dir"
161
+ else
162
+ output_dir="$input_dir/markdown"
163
+ mkdir -p "$output_dir"
164
+ fi
165
+
166
+ # Set default pattern if not specified
167
+ if [[ -z "$pattern" ]]; then
168
+ pattern="*"
169
+ fi
170
+
171
+ print_info "Converting files in: $input_dir"
172
+ print_info "Output directory: $output_dir"
173
+ print_info "Pattern: $pattern"
174
+
175
+ local count=0
176
+ local success=0
177
+
178
+ # Find and convert files
179
+ while IFS= read -r -d '' file; do
180
+ count=$((count + 1))
181
+ local basename
182
+ basename=$(basename "$file")
183
+ local output_file="$output_dir/${basename%.*}.md"
184
+
185
+ if convert_to_markdown "$file" "$output_file" "$input_format" "$options"; then
186
+ success=$((success + 1))
187
+ fi
188
+ echo ""
189
+ done < <(find "$input_dir" -maxdepth 1 -name "$pattern" -type f -print0)
190
+
191
+ print_info "Conversion complete: $success/$count files converted successfully"
192
+ return 0
193
+ }
194
+
195
+ # Function to show supported formats
196
+ show_formats() {
197
+ echo "Pandoc Document Conversion - Supported Formats"
198
+ echo "=============================================="
199
+ echo ""
200
+ echo "📄 Document Formats:"
201
+ echo " • Microsoft Word: .docx, .doc"
202
+ echo " • PDF: .pdf (requires pdftotext)"
203
+ echo " • OpenDocument: .odt"
204
+ echo " • Rich Text: .rtf"
205
+ echo " • LaTeX: .tex, .latex"
206
+ echo ""
207
+ echo "🌐 Web Formats:"
208
+ echo " • HTML: .html, .htm"
209
+ echo " • EPUB: .epub"
210
+ echo " • MediaWiki: .mediawiki"
211
+ echo " • TWiki: .twiki"
212
+ echo ""
213
+ echo "📊 Data Formats:"
214
+ echo " • JSON: .json"
215
+ echo " • CSV: .csv"
216
+ echo " • TSV: .tsv"
217
+ echo " • XML: .xml"
218
+ echo ""
219
+ echo "📝 Markup Formats:"
220
+ echo " • reStructuredText: .rst"
221
+ echo " • Org-mode: .org"
222
+ echo " • Textile: .textile"
223
+ echo " • OPML: .opml"
224
+ echo ""
225
+ echo "📊 Presentation Formats:"
226
+ echo " • PowerPoint: .pptx, .ppt (limited support)"
227
+ echo " • Excel: .xlsx, .xls (limited support)"
228
+ echo ""
229
+ echo "For full format support, see: https://pandoc.org/MANUAL.html#general-options"
230
+ return 0
231
+ }
232
+
233
+ # Main function
234
+ main() {
235
+ # Assign positional parameters to local variables
236
+ local command="${1:-help}"
237
+ local account_name="$account_name"
238
+ local target="$target"
239
+ local options="$options"
240
+ # Assign positional parameters to local variables
241
+ local command="${1:-help}"
242
+ local account_name="$account_name"
243
+ local target="$target"
244
+ local options="$options"
245
+ # Assign positional parameters to local variables
246
+ local command="${1:-help}"
247
+ local account_name="$account_name"
248
+ local target="$target"
249
+ local options="$options"
250
+ # Assign positional parameters to local variables
251
+ local action="$command"
252
+ shift
253
+
254
+ # Check if pandoc is installed
255
+ if ! check_pandoc; then
256
+ exit 1
257
+ fi
258
+
259
+ case "$action" in
260
+ "convert"|"c")
261
+ local input_file="$command"
262
+ local output_file="$account_name"
263
+ local input_format="$target"
264
+
265
+ if [[ -z "$input_file" ]]; then
266
+ print_error "Input file required. Usage: $0 convert <input_file> [output_file] [format] [options]"
267
+ exit 1
268
+ fi
269
+
270
+ convert_to_markdown "$input_file" "$output_file" "$input_format" "$options"
271
+ ;;
272
+ "batch"|"b")
273
+ local input_dir="$command"
274
+ local output_dir="$account_name"
275
+ local pattern="$target"
276
+ local input_format="$options"
277
+ local options="$5"
278
+
279
+ if [[ -z "$input_dir" ]]; then
280
+ print_error "Input directory required. Usage: $0 batch <input_dir> [output_dir] [pattern] [format] [options]"
281
+ exit 1
282
+ fi
283
+
284
+ convert_directory "$input_dir" "$output_dir" "$pattern" "$input_format" "$options"
285
+ ;;
286
+ "formats"|"f")
287
+ show_formats
288
+ ;;
289
+ "detect"|"d")
290
+ local file="$command"
291
+ if [[ -z "$file" ]]; then
292
+ print_error "File required. Usage: $0 detect <file>"
293
+ exit 1
294
+ fi
295
+
296
+ local format
297
+ format=$(detect_format "$file")
298
+ echo "Detected format for '$file': $format"
299
+ ;;
300
+ "install"|"i")
301
+ print_info "Pandoc installation instructions:"
302
+ echo ""
303
+ echo "macOS (Homebrew):"
304
+ echo " brew install pandoc"
305
+ echo ""
306
+ echo "macOS (MacPorts):"
307
+ echo " sudo port install pandoc"
308
+ echo ""
309
+ echo "Ubuntu/Debian:"
310
+ echo " sudo apt-get update"
311
+ echo " sudo apt-get install pandoc"
312
+ echo ""
313
+ echo "CentOS/RHEL:"
314
+ echo " sudo yum install pandoc"
315
+ echo ""
316
+ echo "Windows (Chocolatey):"
317
+ echo " choco install pandoc"
318
+ echo ""
319
+ echo "Windows (Scoop):"
320
+ echo " scoop install pandoc"
321
+ echo ""
322
+ echo "Manual installation:"
323
+ echo " Download from: https://pandoc.org/installing.html"
324
+ echo ""
325
+ echo "Additional dependencies for PDF support:"
326
+ echo " macOS: brew install poppler"
327
+ echo " Ubuntu: sudo apt-get install poppler-utils"
328
+ ;;
329
+ *)
330
+ echo "Pandoc Document Conversion Helper - AI DevOps Framework"
331
+ echo ""
332
+ echo "Usage: $0 [action] [options]"
333
+ echo ""
334
+ echo "Actions:"
335
+ echo " convert|c <input> [output] [format] [options] Convert single file to markdown"
336
+ echo " batch|b <dir> [output_dir] [pattern] [format] Convert multiple files"
337
+ echo " formats|f Show supported formats"
338
+ echo " detect|d <file> Detect file format"
339
+ echo " install|i Show installation instructions"
340
+ echo ""
341
+ echo "Examples:"
342
+ echo " $0 convert document.docx"
343
+ echo " $0 convert document.pdf document.md"
344
+ echo " $0 batch ./documents ./markdown '*.docx'"
345
+ echo " $0 detect presentation.pptx"
346
+ echo " $0 formats"
347
+ echo ""
348
+ echo "Common Options:"
349
+ echo " --extract-media=DIR Extract images to directory"
350
+ echo " --standalone Create standalone document"
351
+ echo " --toc Include table of contents"
352
+ echo " --metadata title='Title' Set document metadata"
353
+ echo ""
354
+ echo "For more options: pandoc --help"
355
+ ;;
356
+ esac
357
+ return 0
358
+ }
359
+
360
+ main "$@"
361
+
362
+ return 0