aidevops 2.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/AGENTS.md +614 -0
- package/.agent/accounts.md +65 -0
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
- package/.agent/aidevops/api-integrations.md +335 -0
- package/.agent/aidevops/architecture.md +510 -0
- package/.agent/aidevops/configs.md +274 -0
- package/.agent/aidevops/docs.md +244 -0
- package/.agent/aidevops/extension.md +311 -0
- package/.agent/aidevops/mcp-integrations.md +340 -0
- package/.agent/aidevops/mcp-troubleshooting.md +162 -0
- package/.agent/aidevops/memory-patterns.md +172 -0
- package/.agent/aidevops/providers.md +217 -0
- package/.agent/aidevops/recommendations.md +321 -0
- package/.agent/aidevops/requirements.md +301 -0
- package/.agent/aidevops/resources.md +214 -0
- package/.agent/aidevops/security-requirements.md +174 -0
- package/.agent/aidevops/security.md +350 -0
- package/.agent/aidevops/service-links.md +400 -0
- package/.agent/aidevops/services.md +357 -0
- package/.agent/aidevops/setup.md +153 -0
- package/.agent/aidevops/troubleshooting.md +389 -0
- package/.agent/aidevops.md +124 -0
- package/.agent/build-plus.md +244 -0
- package/.agent/content/guidelines.md +109 -0
- package/.agent/content.md +87 -0
- package/.agent/health.md +59 -0
- package/.agent/legal.md +59 -0
- package/.agent/loop-state/full-loop.local.md +16 -0
- package/.agent/loop-state/ralph-loop.local.md +10 -0
- package/.agent/marketing.md +440 -0
- package/.agent/memory/README.md +260 -0
- package/.agent/onboarding.md +796 -0
- package/.agent/plan-plus.md +245 -0
- package/.agent/research.md +100 -0
- package/.agent/sales.md +333 -0
- package/.agent/scripts/101domains-helper.sh +701 -0
- package/.agent/scripts/add-missing-returns.sh +140 -0
- package/.agent/scripts/agent-browser-helper.sh +311 -0
- package/.agent/scripts/agno-setup.sh +712 -0
- package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
- package/.agent/scripts/aidevops-update-check.sh +71 -0
- package/.agent/scripts/ampcode-cli.sh +522 -0
- package/.agent/scripts/auto-version-bump.sh +156 -0
- package/.agent/scripts/autogen-helper.sh +512 -0
- package/.agent/scripts/beads-sync-helper.sh +596 -0
- package/.agent/scripts/closte-helper.sh +5 -0
- package/.agent/scripts/cloudron-helper.sh +321 -0
- package/.agent/scripts/codacy-cli-chunked.sh +581 -0
- package/.agent/scripts/codacy-cli.sh +442 -0
- package/.agent/scripts/code-audit-helper.sh +5 -0
- package/.agent/scripts/coderabbit-cli.sh +417 -0
- package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
- package/.agent/scripts/commands/code-simplifier.md +86 -0
- package/.agent/scripts/commands/full-loop.md +246 -0
- package/.agent/scripts/commands/postflight-loop.md +103 -0
- package/.agent/scripts/commands/recall.md +182 -0
- package/.agent/scripts/commands/remember.md +132 -0
- package/.agent/scripts/commands/save-todo.md +175 -0
- package/.agent/scripts/commands/session-review.md +154 -0
- package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
- package/.agent/scripts/context-builder-helper.sh +522 -0
- package/.agent/scripts/coolify-cli-helper.sh +674 -0
- package/.agent/scripts/coolify-helper.sh +380 -0
- package/.agent/scripts/crawl4ai-examples.sh +401 -0
- package/.agent/scripts/crawl4ai-helper.sh +1078 -0
- package/.agent/scripts/crewai-helper.sh +681 -0
- package/.agent/scripts/dev-browser-helper.sh +513 -0
- package/.agent/scripts/dns-helper.sh +396 -0
- package/.agent/scripts/domain-research-helper.sh +917 -0
- package/.agent/scripts/dspy-helper.sh +285 -0
- package/.agent/scripts/dspyground-helper.sh +291 -0
- package/.agent/scripts/eeat-score-helper.sh +1242 -0
- package/.agent/scripts/efficient-return-fix.sh +92 -0
- package/.agent/scripts/extract-opencode-prompts.sh +128 -0
- package/.agent/scripts/find-missing-returns.sh +113 -0
- package/.agent/scripts/fix-auth-headers.sh +104 -0
- package/.agent/scripts/fix-common-strings.sh +254 -0
- package/.agent/scripts/fix-content-type.sh +100 -0
- package/.agent/scripts/fix-error-messages.sh +130 -0
- package/.agent/scripts/fix-misplaced-returns.sh +74 -0
- package/.agent/scripts/fix-remaining-literals.sh +152 -0
- package/.agent/scripts/fix-return-statements.sh +41 -0
- package/.agent/scripts/fix-s131-default-cases.sh +249 -0
- package/.agent/scripts/fix-sc2155-simple.sh +102 -0
- package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
- package/.agent/scripts/fix-string-literals.sh +273 -0
- package/.agent/scripts/full-loop-helper.sh +773 -0
- package/.agent/scripts/generate-opencode-agents.sh +497 -0
- package/.agent/scripts/generate-opencode-commands.sh +1629 -0
- package/.agent/scripts/generate-skills.sh +366 -0
- package/.agent/scripts/git-platforms-helper.sh +640 -0
- package/.agent/scripts/gitea-cli-helper.sh +743 -0
- package/.agent/scripts/github-cli-helper.sh +702 -0
- package/.agent/scripts/gitlab-cli-helper.sh +682 -0
- package/.agent/scripts/gsc-add-user-helper.sh +325 -0
- package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
- package/.agent/scripts/hetzner-helper.sh +485 -0
- package/.agent/scripts/hostinger-helper.sh +229 -0
- package/.agent/scripts/keyword-research-helper.sh +1815 -0
- package/.agent/scripts/langflow-helper.sh +544 -0
- package/.agent/scripts/linkedin-automation.py +241 -0
- package/.agent/scripts/linter-manager.sh +599 -0
- package/.agent/scripts/linters-local.sh +434 -0
- package/.agent/scripts/list-keys-helper.sh +488 -0
- package/.agent/scripts/local-browser-automation.py +339 -0
- package/.agent/scripts/localhost-helper.sh +744 -0
- package/.agent/scripts/loop-common.sh +806 -0
- package/.agent/scripts/mainwp-helper.sh +728 -0
- package/.agent/scripts/markdown-formatter.sh +338 -0
- package/.agent/scripts/markdown-lint-fix.sh +311 -0
- package/.agent/scripts/mass-fix-returns.sh +58 -0
- package/.agent/scripts/mcp-diagnose.sh +167 -0
- package/.agent/scripts/mcp-inspector-helper.sh +449 -0
- package/.agent/scripts/memory-helper.sh +650 -0
- package/.agent/scripts/monitor-code-review.sh +255 -0
- package/.agent/scripts/onboarding-helper.sh +706 -0
- package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
- package/.agent/scripts/opencode-test-helper.sh +213 -0
- package/.agent/scripts/pagespeed-helper.sh +464 -0
- package/.agent/scripts/pandoc-helper.sh +362 -0
- package/.agent/scripts/postflight-check.sh +555 -0
- package/.agent/scripts/pre-commit-hook.sh +259 -0
- package/.agent/scripts/pre-edit-check.sh +169 -0
- package/.agent/scripts/qlty-cli.sh +356 -0
- package/.agent/scripts/quality-cli-manager.sh +525 -0
- package/.agent/scripts/quality-feedback-helper.sh +462 -0
- package/.agent/scripts/quality-fix.sh +263 -0
- package/.agent/scripts/quality-loop-helper.sh +1108 -0
- package/.agent/scripts/ralph-loop-helper.sh +836 -0
- package/.agent/scripts/ralph-upstream-check.sh +341 -0
- package/.agent/scripts/secretlint-helper.sh +847 -0
- package/.agent/scripts/servers-helper.sh +241 -0
- package/.agent/scripts/ses-helper.sh +619 -0
- package/.agent/scripts/session-review-helper.sh +404 -0
- package/.agent/scripts/setup-linters-wizard.sh +379 -0
- package/.agent/scripts/setup-local-api-keys.sh +330 -0
- package/.agent/scripts/setup-mcp-integrations.sh +472 -0
- package/.agent/scripts/shared-constants.sh +246 -0
- package/.agent/scripts/site-crawler-helper.sh +1487 -0
- package/.agent/scripts/snyk-helper.sh +940 -0
- package/.agent/scripts/sonarcloud-autofix.sh +193 -0
- package/.agent/scripts/sonarcloud-cli.sh +191 -0
- package/.agent/scripts/sonarscanner-cli.sh +455 -0
- package/.agent/scripts/spaceship-helper.sh +747 -0
- package/.agent/scripts/stagehand-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-helper.sh +321 -0
- package/.agent/scripts/stagehand-python-setup.sh +441 -0
- package/.agent/scripts/stagehand-setup.sh +439 -0
- package/.agent/scripts/system-cleanup.sh +340 -0
- package/.agent/scripts/terminal-title-helper.sh +388 -0
- package/.agent/scripts/terminal-title-setup.sh +549 -0
- package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
- package/.agent/scripts/test-stagehand-integration.sh +309 -0
- package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
- package/.agent/scripts/todo-ready.sh +263 -0
- package/.agent/scripts/tool-version-check.sh +362 -0
- package/.agent/scripts/toon-helper.sh +469 -0
- package/.agent/scripts/twilio-helper.sh +917 -0
- package/.agent/scripts/updown-helper.sh +279 -0
- package/.agent/scripts/validate-mcp-integrations.sh +250 -0
- package/.agent/scripts/validate-version-consistency.sh +131 -0
- package/.agent/scripts/vaultwarden-helper.sh +597 -0
- package/.agent/scripts/vercel-cli-helper.sh +816 -0
- package/.agent/scripts/verify-mirrors.sh +169 -0
- package/.agent/scripts/version-manager.sh +831 -0
- package/.agent/scripts/webhosting-helper.sh +471 -0
- package/.agent/scripts/webhosting-verify.sh +238 -0
- package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
- package/.agent/scripts/worktree-helper.sh +595 -0
- package/.agent/scripts/worktree-sessions.sh +577 -0
- package/.agent/seo/dataforseo.md +215 -0
- package/.agent/seo/domain-research.md +532 -0
- package/.agent/seo/eeat-score.md +659 -0
- package/.agent/seo/google-search-console.md +366 -0
- package/.agent/seo/gsc-sitemaps.md +282 -0
- package/.agent/seo/keyword-research.md +521 -0
- package/.agent/seo/serper.md +278 -0
- package/.agent/seo/site-crawler.md +387 -0
- package/.agent/seo.md +236 -0
- package/.agent/services/accounting/quickfile.md +159 -0
- package/.agent/services/communications/telfon.md +470 -0
- package/.agent/services/communications/twilio.md +569 -0
- package/.agent/services/crm/fluentcrm.md +449 -0
- package/.agent/services/email/ses.md +399 -0
- package/.agent/services/hosting/101domains.md +378 -0
- package/.agent/services/hosting/closte.md +177 -0
- package/.agent/services/hosting/cloudflare.md +251 -0
- package/.agent/services/hosting/cloudron.md +478 -0
- package/.agent/services/hosting/dns-providers.md +335 -0
- package/.agent/services/hosting/domain-purchasing.md +344 -0
- package/.agent/services/hosting/hetzner.md +327 -0
- package/.agent/services/hosting/hostinger.md +287 -0
- package/.agent/services/hosting/localhost.md +419 -0
- package/.agent/services/hosting/spaceship.md +353 -0
- package/.agent/services/hosting/webhosting.md +330 -0
- package/.agent/social-media.md +69 -0
- package/.agent/templates/plans-template.md +114 -0
- package/.agent/templates/prd-template.md +129 -0
- package/.agent/templates/tasks-template.md +108 -0
- package/.agent/templates/todo-template.md +89 -0
- package/.agent/tools/ai-assistants/agno.md +471 -0
- package/.agent/tools/ai-assistants/capsolver.md +326 -0
- package/.agent/tools/ai-assistants/configuration.md +221 -0
- package/.agent/tools/ai-assistants/overview.md +209 -0
- package/.agent/tools/ai-assistants/status.md +171 -0
- package/.agent/tools/ai-assistants/windsurf.md +193 -0
- package/.agent/tools/ai-orchestration/autogen.md +406 -0
- package/.agent/tools/ai-orchestration/crewai.md +445 -0
- package/.agent/tools/ai-orchestration/langflow.md +405 -0
- package/.agent/tools/ai-orchestration/openprose.md +487 -0
- package/.agent/tools/ai-orchestration/overview.md +362 -0
- package/.agent/tools/ai-orchestration/packaging.md +647 -0
- package/.agent/tools/browser/agent-browser.md +464 -0
- package/.agent/tools/browser/browser-automation.md +400 -0
- package/.agent/tools/browser/chrome-devtools.md +282 -0
- package/.agent/tools/browser/crawl4ai-integration.md +422 -0
- package/.agent/tools/browser/crawl4ai-resources.md +277 -0
- package/.agent/tools/browser/crawl4ai-usage.md +416 -0
- package/.agent/tools/browser/crawl4ai.md +585 -0
- package/.agent/tools/browser/dev-browser.md +341 -0
- package/.agent/tools/browser/pagespeed.md +260 -0
- package/.agent/tools/browser/playwright.md +266 -0
- package/.agent/tools/browser/playwriter.md +310 -0
- package/.agent/tools/browser/stagehand-examples.md +456 -0
- package/.agent/tools/browser/stagehand-python.md +483 -0
- package/.agent/tools/browser/stagehand.md +421 -0
- package/.agent/tools/build-agent/agent-review.md +224 -0
- package/.agent/tools/build-agent/build-agent.md +784 -0
- package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
- package/.agent/tools/build-mcp/api-wrapper.md +445 -0
- package/.agent/tools/build-mcp/build-mcp.md +240 -0
- package/.agent/tools/build-mcp/deployment.md +401 -0
- package/.agent/tools/build-mcp/server-patterns.md +632 -0
- package/.agent/tools/build-mcp/transports.md +366 -0
- package/.agent/tools/code-review/auditing.md +383 -0
- package/.agent/tools/code-review/automation.md +219 -0
- package/.agent/tools/code-review/best-practices.md +203 -0
- package/.agent/tools/code-review/codacy.md +151 -0
- package/.agent/tools/code-review/code-simplifier.md +174 -0
- package/.agent/tools/code-review/code-standards.md +309 -0
- package/.agent/tools/code-review/coderabbit.md +101 -0
- package/.agent/tools/code-review/management.md +155 -0
- package/.agent/tools/code-review/qlty.md +248 -0
- package/.agent/tools/code-review/secretlint.md +565 -0
- package/.agent/tools/code-review/setup.md +250 -0
- package/.agent/tools/code-review/snyk.md +563 -0
- package/.agent/tools/code-review/tools.md +230 -0
- package/.agent/tools/content/summarize.md +353 -0
- package/.agent/tools/context/augment-context-engine.md +468 -0
- package/.agent/tools/context/context-builder-agent.md +76 -0
- package/.agent/tools/context/context-builder.md +375 -0
- package/.agent/tools/context/context7.md +371 -0
- package/.agent/tools/context/dspy.md +302 -0
- package/.agent/tools/context/dspyground.md +374 -0
- package/.agent/tools/context/llm-tldr.md +219 -0
- package/.agent/tools/context/osgrep.md +488 -0
- package/.agent/tools/context/prompt-optimization.md +338 -0
- package/.agent/tools/context/toon.md +292 -0
- package/.agent/tools/conversion/pandoc.md +304 -0
- package/.agent/tools/credentials/api-key-management.md +154 -0
- package/.agent/tools/credentials/api-key-setup.md +224 -0
- package/.agent/tools/credentials/environment-variables.md +180 -0
- package/.agent/tools/credentials/vaultwarden.md +382 -0
- package/.agent/tools/data-extraction/outscraper.md +974 -0
- package/.agent/tools/deployment/coolify-cli.md +388 -0
- package/.agent/tools/deployment/coolify-setup.md +353 -0
- package/.agent/tools/deployment/coolify.md +345 -0
- package/.agent/tools/deployment/vercel.md +390 -0
- package/.agent/tools/git/authentication.md +132 -0
- package/.agent/tools/git/gitea-cli.md +193 -0
- package/.agent/tools/git/github-actions.md +207 -0
- package/.agent/tools/git/github-cli.md +223 -0
- package/.agent/tools/git/gitlab-cli.md +190 -0
- package/.agent/tools/git/opencode-github-security.md +350 -0
- package/.agent/tools/git/opencode-github.md +328 -0
- package/.agent/tools/git/opencode-gitlab.md +252 -0
- package/.agent/tools/git/security.md +196 -0
- package/.agent/tools/git.md +207 -0
- package/.agent/tools/opencode/oh-my-opencode.md +375 -0
- package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
- package/.agent/tools/opencode/opencode.md +651 -0
- package/.agent/tools/social-media/bird.md +437 -0
- package/.agent/tools/task-management/beads.md +336 -0
- package/.agent/tools/terminal/terminal-title.md +251 -0
- package/.agent/tools/ui/shadcn.md +196 -0
- package/.agent/tools/ui/ui-skills.md +115 -0
- package/.agent/tools/wordpress/localwp.md +311 -0
- package/.agent/tools/wordpress/mainwp.md +391 -0
- package/.agent/tools/wordpress/scf.md +527 -0
- package/.agent/tools/wordpress/wp-admin.md +729 -0
- package/.agent/tools/wordpress/wp-dev.md +940 -0
- package/.agent/tools/wordpress/wp-preferred.md +398 -0
- package/.agent/tools/wordpress.md +95 -0
- package/.agent/workflows/branch/bugfix.md +63 -0
- package/.agent/workflows/branch/chore.md +95 -0
- package/.agent/workflows/branch/experiment.md +115 -0
- package/.agent/workflows/branch/feature.md +59 -0
- package/.agent/workflows/branch/hotfix.md +98 -0
- package/.agent/workflows/branch/refactor.md +92 -0
- package/.agent/workflows/branch/release.md +96 -0
- package/.agent/workflows/branch.md +347 -0
- package/.agent/workflows/bug-fixing.md +267 -0
- package/.agent/workflows/changelog.md +129 -0
- package/.agent/workflows/code-audit-remote.md +279 -0
- package/.agent/workflows/conversation-starter.md +69 -0
- package/.agent/workflows/error-feedback.md +578 -0
- package/.agent/workflows/feature-development.md +355 -0
- package/.agent/workflows/git-workflow.md +702 -0
- package/.agent/workflows/multi-repo-workspace.md +268 -0
- package/.agent/workflows/plans.md +709 -0
- package/.agent/workflows/postflight.md +604 -0
- package/.agent/workflows/pr.md +571 -0
- package/.agent/workflows/preflight.md +278 -0
- package/.agent/workflows/ralph-loop.md +773 -0
- package/.agent/workflows/release.md +498 -0
- package/.agent/workflows/session-manager.md +254 -0
- package/.agent/workflows/session-review.md +311 -0
- package/.agent/workflows/sql-migrations.md +631 -0
- package/.agent/workflows/version-bump.md +283 -0
- package/.agent/workflows/wiki-update.md +333 -0
- package/.agent/workflows/worktree.md +477 -0
- package/LICENSE +21 -0
- package/README.md +1446 -0
- package/VERSION +1 -0
- package/aidevops.sh +1746 -0
- package/bin/aidevops +21 -0
- package/package.json +75 -0
- package/scripts/npm-postinstall.js +60 -0
- package/setup.sh +2366 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pandoc document format conversion
|
|
3
|
+
mode: subagent
|
|
4
|
+
tools:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
edit: false
|
|
8
|
+
bash: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
webfetch: false
|
|
12
|
+
task: true
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Pandoc Document Conversion for AI DevOps
|
|
16
|
+
|
|
17
|
+
<!-- AI-CONTEXT-START -->
|
|
18
|
+
|
|
19
|
+
## Quick Reference
|
|
20
|
+
|
|
21
|
+
- **Purpose**: Convert documents to markdown for AI processing
|
|
22
|
+
- **Install**: `brew install pandoc poppler` (macOS) or `apt install pandoc poppler-utils`
|
|
23
|
+
- **Helper**: `.agent/scripts/pandoc-helper.sh`
|
|
24
|
+
- **Commands**: `convert [file]` | `batch [dir] [output] [pattern]` | `formats` | `detect [file]`
|
|
25
|
+
- **Supported**: DOCX, PDF, HTML, EPUB, ODT, RTF, LaTeX, JSON, CSV, RST, Org-mode
|
|
26
|
+
- **Output**: Markdown with ATX headers, no line wrapping, preserved structure
|
|
27
|
+
- **Config**: `configs/pandoc-config.json`
|
|
28
|
+
<!-- AI-CONTEXT-END -->
|
|
29
|
+
|
|
30
|
+
**Convert any document format to markdown for optimal AI assistant processing**
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
The Pandoc integration in AI DevOps Framework enables seamless conversion of various document formats to markdown, making them easily accessible and processable by AI assistants. This dramatically improves the ability to work with legacy documents, presentations, PDFs, and other formats.
|
|
35
|
+
|
|
36
|
+
## Installation
|
|
37
|
+
|
|
38
|
+
### **Install Pandoc**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# macOS
|
|
42
|
+
brew install pandoc poppler
|
|
43
|
+
|
|
44
|
+
# Ubuntu/Debian
|
|
45
|
+
sudo apt-get update
|
|
46
|
+
sudo apt-get install pandoc poppler-utils
|
|
47
|
+
|
|
48
|
+
# CentOS/RHEL
|
|
49
|
+
sudo yum install pandoc poppler-utils
|
|
50
|
+
|
|
51
|
+
# Windows (Chocolatey)
|
|
52
|
+
choco install pandoc
|
|
53
|
+
|
|
54
|
+
# Windows (Scoop)
|
|
55
|
+
scoop install pandoc
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### **Verify Installation**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pandoc --version
|
|
62
|
+
pdftotext -v # For PDF support
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Quick Start
|
|
66
|
+
|
|
67
|
+
### **Single File Conversion**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Convert Word document to markdown
|
|
71
|
+
bash .agent/scripts/pandoc-helper.sh convert document.docx
|
|
72
|
+
|
|
73
|
+
# Convert PDF with custom output name
|
|
74
|
+
bash .agent/scripts/pandoc-helper.sh convert report.pdf analysis.md
|
|
75
|
+
|
|
76
|
+
# Convert with specific format and options
|
|
77
|
+
bash .agent/scripts/pandoc-helper.sh convert file.html output.md html "--extract-media=./images"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### **Batch Conversion**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Convert all Word documents in a directory
|
|
84
|
+
bash .agent/scripts/pandoc-helper.sh batch ./documents ./markdown "*.docx"
|
|
85
|
+
|
|
86
|
+
# Convert all supported formats
|
|
87
|
+
bash .agent/scripts/pandoc-helper.sh batch ./input ./output "*"
|
|
88
|
+
|
|
89
|
+
# Convert with specific pattern
|
|
90
|
+
bash .agent/scripts/pandoc-helper.sh batch ./reports ./markdown "*.{pdf,docx,html}"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Supported Formats
|
|
94
|
+
|
|
95
|
+
### Document Formats
|
|
96
|
+
|
|
97
|
+
- **Microsoft Word**: `.docx`, `.doc`
|
|
98
|
+
- **PDF**: `.pdf` (requires pdftotext)
|
|
99
|
+
- **OpenDocument**: `.odt`
|
|
100
|
+
- **Rich Text**: `.rtf`
|
|
101
|
+
- **LaTeX**: `.tex`, `.latex`
|
|
102
|
+
|
|
103
|
+
### Web & eBook Formats
|
|
104
|
+
|
|
105
|
+
- **HTML**: `.html`, `.htm`
|
|
106
|
+
- **EPUB**: `.epub`
|
|
107
|
+
- **MediaWiki**: `.mediawiki`
|
|
108
|
+
- **TWiki**: `.twiki`
|
|
109
|
+
|
|
110
|
+
### Data Formats
|
|
111
|
+
|
|
112
|
+
- **JSON**: `.json`
|
|
113
|
+
- **CSV**: `.csv`
|
|
114
|
+
- **TSV**: `.tsv`
|
|
115
|
+
- **XML**: `.xml`
|
|
116
|
+
|
|
117
|
+
### Markup Formats
|
|
118
|
+
|
|
119
|
+
- **reStructuredText**: `.rst`
|
|
120
|
+
- **Org-mode**: `.org`
|
|
121
|
+
- **Textile**: `.textile`
|
|
122
|
+
- **OPML**: `.opml`
|
|
123
|
+
|
|
124
|
+
### Presentation Formats
|
|
125
|
+
|
|
126
|
+
- **PowerPoint**: `.pptx`, `.ppt` (limited support)
|
|
127
|
+
- **Excel**: `.xlsx`, `.xls` (limited support)
|
|
128
|
+
|
|
129
|
+
## Advanced Usage
|
|
130
|
+
|
|
131
|
+
### **Format Detection**
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Automatically detect file format
|
|
135
|
+
bash .agent/scripts/pandoc-helper.sh detect unknown_file.ext
|
|
136
|
+
|
|
137
|
+
# Show all supported formats
|
|
138
|
+
bash .agent/scripts/pandoc-helper.sh formats
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### **Custom Conversion Options**
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Extract images and media
|
|
145
|
+
bash .agent/scripts/pandoc-helper.sh convert document.docx output.md docx "--extract-media=./media"
|
|
146
|
+
|
|
147
|
+
# Include table of contents
|
|
148
|
+
bash .agent/scripts/pandoc-helper.sh convert document.html output.md html "--toc"
|
|
149
|
+
|
|
150
|
+
# Create standalone document
|
|
151
|
+
bash .agent/scripts/pandoc-helper.sh convert document.rst output.md rst "--standalone"
|
|
152
|
+
|
|
153
|
+
# Set custom metadata
|
|
154
|
+
bash .agent/scripts/pandoc-helper.sh convert document.tex output.md latex "--metadata title='My Document'"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## AI Assistant Integration
|
|
158
|
+
|
|
159
|
+
### **Why Convert to Markdown?**
|
|
160
|
+
|
|
161
|
+
1. **Consistent Formatting**: Standardized structure for AI processing
|
|
162
|
+
2. **Easy Parsing**: Simple syntax that AI can understand and manipulate
|
|
163
|
+
3. **Preserved Structure**: Maintains headings, lists, and formatting
|
|
164
|
+
4. **Lightweight**: Fast processing and analysis
|
|
165
|
+
5. **Version Control**: Git-friendly format for tracking changes
|
|
166
|
+
6. **Cross-Platform**: Works everywhere without special software
|
|
167
|
+
|
|
168
|
+
### **Optimal AI Workflows**
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# 1. Convert documents for analysis
|
|
172
|
+
bash .agent/scripts/pandoc-helper.sh batch ./project-docs ./markdown "*.{docx,pdf,html}"
|
|
173
|
+
|
|
174
|
+
# 2. Process converted files with AI
|
|
175
|
+
# AI can now easily read and analyze all documents
|
|
176
|
+
|
|
177
|
+
# 3. Generate summaries, extract information, or create new content
|
|
178
|
+
# Based on the converted markdown files
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Configuration
|
|
182
|
+
|
|
183
|
+
### **Default Settings**
|
|
184
|
+
|
|
185
|
+
The framework uses optimized settings for AI processing:
|
|
186
|
+
|
|
187
|
+
- **Output Format**: Markdown with ATX headers (`# ## ###`)
|
|
188
|
+
- **Line Wrapping**: None (preserves formatting)
|
|
189
|
+
- **Media Extraction**: Automatic for supported formats
|
|
190
|
+
- **Structure Preservation**: Maintains document hierarchy
|
|
191
|
+
- **Metadata Addition**: Includes source file information
|
|
192
|
+
|
|
193
|
+
### **Customization**
|
|
194
|
+
|
|
195
|
+
Edit `configs/pandoc-config.json` to customize:
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"conversion_settings": {
|
|
200
|
+
"default_output_format": "markdown",
|
|
201
|
+
"wrap_mode": "none",
|
|
202
|
+
"header_style": "atx",
|
|
203
|
+
"include_toc": false,
|
|
204
|
+
"extract_media": true
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Quality Assurance
|
|
210
|
+
|
|
211
|
+
### **Conversion Validation**
|
|
212
|
+
|
|
213
|
+
The helper script automatically:
|
|
214
|
+
|
|
215
|
+
- ✅ **Validates output**: Checks for successful conversion
|
|
216
|
+
- ✅ **Shows preview**: Displays first 10 lines of converted content
|
|
217
|
+
- ✅ **Reports metrics**: File size and line count
|
|
218
|
+
- ✅ **Error handling**: Clear error messages for failed conversions
|
|
219
|
+
|
|
220
|
+
### **Best Practices**
|
|
221
|
+
|
|
222
|
+
1. **Test conversions**: Always review output quality
|
|
223
|
+
2. **Backup originals**: Keep source files safe
|
|
224
|
+
3. **Check encoding**: Ensure proper character encoding
|
|
225
|
+
4. **Validate structure**: Verify headings and formatting
|
|
226
|
+
5. **Extract media**: Save images and attachments separately
|
|
227
|
+
|
|
228
|
+
## Troubleshooting
|
|
229
|
+
|
|
230
|
+
### **Common Issues**
|
|
231
|
+
|
|
232
|
+
#### **PDF Conversion Problems**
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Install PDF support
|
|
236
|
+
brew install poppler # macOS
|
|
237
|
+
sudo apt install poppler-utils # Ubuntu
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
#### **Encoding Issues**
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# Specify input encoding
|
|
244
|
+
pandoc -f html -t markdown --from=html+smart input.html -o output.md
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
#### **Large File Processing**
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# For large files, consider splitting or using specific options
|
|
251
|
+
pandoc --verbose input.pdf -o output.md
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### **Format-Specific Notes**
|
|
255
|
+
|
|
256
|
+
- **PDF**: Quality depends on source document structure
|
|
257
|
+
- **PowerPoint**: Limited support, best for text content
|
|
258
|
+
- **Excel**: Basic table conversion only
|
|
259
|
+
- **HTML**: May need cleanup for complex layouts
|
|
260
|
+
- **Word**: Generally excellent conversion quality
|
|
261
|
+
|
|
262
|
+
## Performance Tips
|
|
263
|
+
|
|
264
|
+
1. **Batch Processing**: Convert multiple files at once
|
|
265
|
+
2. **Format Selection**: Use specific input formats when known
|
|
266
|
+
3. **Media Extraction**: Extract images to separate directory
|
|
267
|
+
4. **Parallel Processing**: Use multiple terminal sessions for large batches
|
|
268
|
+
5. **Cleanup**: Remove temporary files after conversion
|
|
269
|
+
|
|
270
|
+
## Integration Examples
|
|
271
|
+
|
|
272
|
+
### **With AI Assistants**
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# Convert project documentation
|
|
276
|
+
bash .agent/scripts/pandoc-helper.sh batch ./docs ./ai-ready "*.{docx,pdf}"
|
|
277
|
+
|
|
278
|
+
# Now AI can process all documentation:
|
|
279
|
+
# "Analyze all the converted documentation and create a project summary"
|
|
280
|
+
# "Extract all requirements from the converted specifications"
|
|
281
|
+
# "Generate a comprehensive README from all the documentation"
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### **With Version Control**
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Convert and commit to Git
|
|
288
|
+
bash .agent/scripts/pandoc-helper.sh batch ./documents ./markdown
|
|
289
|
+
git add markdown/
|
|
290
|
+
git commit -m "📄 Add converted documentation for AI processing"
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Benefits for AI DevOps
|
|
294
|
+
|
|
295
|
+
- **Legacy Document Access**: Convert old formats for modern AI processing
|
|
296
|
+
- **Format Standardization**: Unified markdown format across all documents
|
|
297
|
+
- **AI Optimization**: Perfect format for AI analysis and manipulation
|
|
298
|
+
- **Batch Processing**: Handle large document collections efficiently
|
|
299
|
+
- **Content Discovery**: Make all documents searchable and analyzable
|
|
300
|
+
- **Documentation Modernization**: Update legacy docs to current standards
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
**Transform any document into AI-ready markdown with the AI DevOps Pandoc integration!**
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: API key management and rotation guide
|
|
3
|
+
mode: subagent
|
|
4
|
+
tools:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
webfetch: false
|
|
12
|
+
task: true
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# API Key Management Guide
|
|
16
|
+
|
|
17
|
+
<!-- AI-CONTEXT-START -->
|
|
18
|
+
|
|
19
|
+
## Quick Reference
|
|
20
|
+
|
|
21
|
+
- **Primary Method**: Environment variables (`export CODACY_API_TOKEN="..."`)
|
|
22
|
+
- **Local Storage**: `configs/*-config.json` (gitignored), `~/.config/coderabbit/api_key`
|
|
23
|
+
- **CI/CD**: GitHub Secrets (`SONAR_TOKEN`, `CODACY_API_TOKEN`, `GITHUB_TOKEN`)
|
|
24
|
+
- **Helper Script**: `.agent/scripts/setup-local-api-keys.sh` (set, load, list)
|
|
25
|
+
- **Token Sources**: Codacy (app.codacy.com/account/api-tokens), SonarCloud (sonarcloud.io/account/security)
|
|
26
|
+
- **Security**: 600 permissions, never commit, regular rotation (90 days)
|
|
27
|
+
- **If Compromised**: Revoke immediately → Generate new → Update local + GitHub secrets → Verify
|
|
28
|
+
- **Test**: `echo "${CODACY_API_TOKEN:0:10}..."` to verify without exposing
|
|
29
|
+
<!-- AI-CONTEXT-END -->
|
|
30
|
+
|
|
31
|
+
## Secure API Key Storage Locations
|
|
32
|
+
|
|
33
|
+
### **1. Environment Variables (Primary Method)**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Set for current session
|
|
37
|
+
export CODACY_API_TOKEN="YOUR_CODACY_API_TOKEN_HERE"
|
|
38
|
+
export SONAR_TOKEN="YOUR_SONAR_TOKEN_HERE"
|
|
39
|
+
|
|
40
|
+
# Add to shell profile for persistence
|
|
41
|
+
echo 'export CODACY_API_TOKEN="YOUR_CODACY_API_TOKEN_HERE"' >> ~/.bashrc
|
|
42
|
+
echo 'export SONAR_TOKEN="YOUR_SONAR_TOKEN_HERE"' >> ~/.bashrc
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Local Configuration Files (Gitignored)
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
# Repository configs (gitignored)
|
|
49
|
+
configs/codacy-config.json # Codacy API configuration
|
|
50
|
+
configs/sonar-config.json # SonarCloud configuration (if needed)
|
|
51
|
+
|
|
52
|
+
# CLI-specific storage
|
|
53
|
+
~/.config/coderabbit/api_key # CodeRabbit CLI token
|
|
54
|
+
~/.codacy/config # Codacy CLI configuration (if used)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3. GitHub Repository Secrets
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
# Required for GitHub Actions
|
|
61
|
+
SONAR_TOKEN # SonarCloud analysis
|
|
62
|
+
CODACY_API_TOKEN # Codacy analysis
|
|
63
|
+
GITHUB_TOKEN # Automatic (provided by GitHub)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Current API Key Status
|
|
67
|
+
|
|
68
|
+
### **✅ CONFIGURED:**
|
|
69
|
+
|
|
70
|
+
- **Codacy API Token**: `[CONFIGURED LOCALLY]` (Local environment + config file)
|
|
71
|
+
- **CodeRabbit CLI**: Stored in `~/.config/coderabbit/api_key`
|
|
72
|
+
|
|
73
|
+
### **❌ MISSING (CAUSING GITHUB ACTION FAILURES):**
|
|
74
|
+
|
|
75
|
+
- **SONAR_TOKEN**: Not set in GitHub Secrets
|
|
76
|
+
- **CODACY_API_TOKEN**: Not set in GitHub Secrets
|
|
77
|
+
|
|
78
|
+
## Setup Instructions
|
|
79
|
+
|
|
80
|
+
### **1. Get SonarCloud Token**
|
|
81
|
+
|
|
82
|
+
1. Go to: https://sonarcloud.io/account/security
|
|
83
|
+
2. Generate new token with project analysis permissions
|
|
84
|
+
3. Copy the token value
|
|
85
|
+
|
|
86
|
+
### **2. Add GitHub Secrets**
|
|
87
|
+
|
|
88
|
+
1. Go to: https://github.com/marcusquinn/aidevops/settings/secrets/actions
|
|
89
|
+
2. Click "New repository secret"
|
|
90
|
+
3. Add:
|
|
91
|
+
- Name: `SONAR_TOKEN`, Value: [Your SonarCloud token]
|
|
92
|
+
- Name: `CODACY_API_TOKEN`, Value: [Your Codacy API token]
|
|
93
|
+
|
|
94
|
+
### **3. Set Local API Keys Securely**
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Use secure local storage (RECOMMENDED)
|
|
98
|
+
bash .agent/scripts/setup-local-api-keys.sh set codacy YOUR_CODACY_API_TOKEN
|
|
99
|
+
bash .agent/scripts/setup-local-api-keys.sh set sonar YOUR_SONAR_TOKEN
|
|
100
|
+
|
|
101
|
+
# Load all API keys into environment when needed
|
|
102
|
+
bash .agent/scripts/setup-local-api-keys.sh load
|
|
103
|
+
|
|
104
|
+
# List configured services
|
|
105
|
+
bash .agent/scripts/setup-local-api-keys.sh list
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### **4. Test Configuration**
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Test Codacy CLI
|
|
112
|
+
cd git/aidevops
|
|
113
|
+
bash .agent/scripts/codacy-cli.sh analyze
|
|
114
|
+
|
|
115
|
+
# Test environment variables
|
|
116
|
+
echo "Codacy token: ${CODACY_API_TOKEN:0:10}..."
|
|
117
|
+
echo "Sonar token: ${SONAR_TOKEN:0:10}..."
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Security Audit Checklist
|
|
121
|
+
|
|
122
|
+
### **✅ SECURE STORAGE:**
|
|
123
|
+
|
|
124
|
+
- [ ] API keys in environment variables (not hardcoded)
|
|
125
|
+
- [ ] Local config files are gitignored
|
|
126
|
+
- [ ] GitHub Secrets configured for CI/CD
|
|
127
|
+
- [ ] No API keys in commit messages or code
|
|
128
|
+
|
|
129
|
+
### **✅ ACCESS CONTROL:**
|
|
130
|
+
|
|
131
|
+
- [ ] Minimal required permissions for each token
|
|
132
|
+
- [ ] Regular token rotation (every 90 days)
|
|
133
|
+
- [ ] Revoke old tokens immediately after replacement
|
|
134
|
+
- [ ] Monitor token usage and access logs
|
|
135
|
+
|
|
136
|
+
### **✅ BACKUP & RECOVERY:**
|
|
137
|
+
|
|
138
|
+
- [ ] Document token sources and regeneration procedures
|
|
139
|
+
- [ ] Secure backup of configuration templates
|
|
140
|
+
- [ ] Emergency token revocation procedures
|
|
141
|
+
- [ ] Team access management for shared tokens
|
|
142
|
+
|
|
143
|
+
## Emergency Procedures
|
|
144
|
+
|
|
145
|
+
### **If API Key is Compromised:**
|
|
146
|
+
|
|
147
|
+
1. **IMMEDIATE**: Revoke the compromised key at provider
|
|
148
|
+
2. **IMMEDIATE**: Generate new API key
|
|
149
|
+
3. **UPDATE**: Local environment variables
|
|
150
|
+
4. **UPDATE**: GitHub repository secrets
|
|
151
|
+
5. **VERIFY**: All systems working with new key
|
|
152
|
+
6. **DOCUMENT**: Incident and lessons learned
|
|
153
|
+
|
|
154
|
+
This guide ensures secure, professional API key management across all platforms and environments.
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: API key setup with secure local storage
|
|
3
|
+
mode: subagent
|
|
4
|
+
tools:
|
|
5
|
+
read: true
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
9
|
+
glob: true
|
|
10
|
+
grep: true
|
|
11
|
+
webfetch: false
|
|
12
|
+
task: true
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# API Key Setup Guide - Secure Local Storage
|
|
16
|
+
|
|
17
|
+
<!-- AI-CONTEXT-START -->
|
|
18
|
+
|
|
19
|
+
## Quick Reference
|
|
20
|
+
|
|
21
|
+
- **Secrets Location**: `~/.config/aidevops/mcp-env.sh` (600 permissions)
|
|
22
|
+
- **Working Dirs**: `~/.aidevops/` (agno, stagehand, reports)
|
|
23
|
+
- **Setup**: `bash ~/Git/aidevops/.agent/scripts/setup-local-api-keys.sh setup`
|
|
24
|
+
|
|
25
|
+
**Commands**:
|
|
26
|
+
- `set <service-name> <VALUE>` - Store API key (converts to UPPER_CASE export)
|
|
27
|
+
- `add 'export VAR="value"'` - Parse and store export command
|
|
28
|
+
- `get <service-name>` - Retrieve key value
|
|
29
|
+
- `list` - Show configured services (keys redacted)
|
|
30
|
+
|
|
31
|
+
**Common Services**: codacy-project-token, sonar-token, coderabbit-api-key, hcloud-token-*, openai-api-key
|
|
32
|
+
|
|
33
|
+
**Security**: Shell startup auto-sources mcp-env.sh, never commit keys to repo
|
|
34
|
+
<!-- AI-CONTEXT-END -->
|
|
35
|
+
|
|
36
|
+
## Directory Structure
|
|
37
|
+
|
|
38
|
+
AI DevOps uses two directories for different purposes:
|
|
39
|
+
|
|
40
|
+
| Location | Purpose | Permissions |
|
|
41
|
+
|----------|---------|-------------|
|
|
42
|
+
| `~/.config/aidevops/` | **Secrets & credentials** | 700 (dir), 600 (files) |
|
|
43
|
+
| `~/.aidevops/` | **Working directories** (agno, stagehand, reports) | Standard |
|
|
44
|
+
|
|
45
|
+
## Security Principle
|
|
46
|
+
|
|
47
|
+
**API keys are stored ONLY in `~/.config/aidevops/mcp-env.sh`, NEVER in repository files.**
|
|
48
|
+
|
|
49
|
+
This file is automatically sourced by your shell (zsh and bash) on startup.
|
|
50
|
+
|
|
51
|
+
## Setup Instructions
|
|
52
|
+
|
|
53
|
+
### 1. Initialize Secure Storage
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
bash ~/Git/aidevops/.agent/scripts/setup-local-api-keys.sh setup
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This will:
|
|
60
|
+
|
|
61
|
+
- Create `~/.config/aidevops/` with secure permissions
|
|
62
|
+
- Create `mcp-env.sh` for storing API keys
|
|
63
|
+
- Add sourcing to your shell configs (`.zshrc`, `.bashrc`, `.bash_profile`)
|
|
64
|
+
|
|
65
|
+
### 2. Store API Keys
|
|
66
|
+
|
|
67
|
+
#### Method A: Using the helper script
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Service name format (converted to UPPER_CASE)
|
|
71
|
+
bash .agent/scripts/setup-local-api-keys.sh set vercel-token YOUR_TOKEN
|
|
72
|
+
# Result: export VERCEL_TOKEN="YOUR_TOKEN"
|
|
73
|
+
|
|
74
|
+
bash .agent/scripts/setup-local-api-keys.sh set sonar YOUR_TOKEN
|
|
75
|
+
# Result: export SONAR="YOUR_TOKEN"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### Method B: Paste export commands from services
|
|
79
|
+
|
|
80
|
+
Many services give you an export command like:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
export VERCEL_TOKEN="abc123"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Use the `add` command to parse and store it:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
bash .agent/scripts/setup-local-api-keys.sh add 'export VERCEL_TOKEN="abc123"'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### Method C: Direct env var name
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
bash .agent/scripts/setup-local-api-keys.sh set SUPABASE_KEY abc123
|
|
96
|
+
# Result: export SUPABASE_KEY="abc123"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 3. Common Services
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Codacy - https://app.codacy.com/account/api-tokens
|
|
103
|
+
bash .agent/scripts/setup-local-api-keys.sh set codacy-project-token YOUR_TOKEN
|
|
104
|
+
|
|
105
|
+
# SonarCloud - https://sonarcloud.io/account/security
|
|
106
|
+
bash .agent/scripts/setup-local-api-keys.sh set sonar-token YOUR_TOKEN
|
|
107
|
+
|
|
108
|
+
# CodeRabbit - https://app.coderabbit.ai/settings
|
|
109
|
+
bash .agent/scripts/setup-local-api-keys.sh set coderabbit-api-key YOUR_KEY
|
|
110
|
+
|
|
111
|
+
# Hetzner Cloud - https://console.hetzner.cloud/projects/*/security/tokens
|
|
112
|
+
bash .agent/scripts/setup-local-api-keys.sh set hcloud-token-projectname YOUR_TOKEN
|
|
113
|
+
|
|
114
|
+
# OpenAI - https://platform.openai.com/api-keys
|
|
115
|
+
bash .agent/scripts/setup-local-api-keys.sh set openai-api-key YOUR_KEY
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 4. Verify Storage
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# List configured services (keys are not shown)
|
|
122
|
+
bash .agent/scripts/setup-local-api-keys.sh list
|
|
123
|
+
|
|
124
|
+
# Get a specific key
|
|
125
|
+
bash .agent/scripts/setup-local-api-keys.sh get sonar-token
|
|
126
|
+
|
|
127
|
+
# View the file directly (redacted)
|
|
128
|
+
cat ~/.config/aidevops/mcp-env.sh | sed 's/=.*/=<REDACTED>/'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## How It Works
|
|
132
|
+
|
|
133
|
+
1. **mcp-env.sh** contains all API keys as shell exports:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
export SONAR_TOKEN="xxx"
|
|
137
|
+
export OPENAI_API_KEY="xxx"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
2. **Shell startup** sources this file automatically:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# In ~/.zshrc and ~/.bashrc:
|
|
144
|
+
[[ -f ~/.config/aidevops/mcp-env.sh ]] && source ~/.config/aidevops/mcp-env.sh
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
3. **All processes** (terminals, scripts, MCPs) get access to the env vars
|
|
148
|
+
|
|
149
|
+
## Storage Locations
|
|
150
|
+
|
|
151
|
+
### Secrets (Secure - 600 permissions)
|
|
152
|
+
|
|
153
|
+
- `~/.config/aidevops/mcp-env.sh` - All API keys and tokens
|
|
154
|
+
|
|
155
|
+
### Working Directories (Standard permissions)
|
|
156
|
+
|
|
157
|
+
- `~/.aidevops/agno/` - Agno AI framework
|
|
158
|
+
- `~/.aidevops/agent-ui/` - Agent UI frontend
|
|
159
|
+
- `~/.aidevops/stagehand/` - Browser automation
|
|
160
|
+
- `~/.aidevops/reports/` - Generated reports
|
|
161
|
+
- `~/.aidevops/mcp/` - MCP configurations
|
|
162
|
+
|
|
163
|
+
### NEVER Store In
|
|
164
|
+
|
|
165
|
+
- Repository files (any file in `~/Git/aidevops/`)
|
|
166
|
+
- Documentation or code examples
|
|
167
|
+
- Git-tracked configuration files
|
|
168
|
+
|
|
169
|
+
## Security Features
|
|
170
|
+
|
|
171
|
+
### File Permissions
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Verify permissions
|
|
175
|
+
ls -la ~/.config/aidevops/
|
|
176
|
+
# drwx------ (700) for directory
|
|
177
|
+
# -rw------- (600) for mcp-env.sh
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Fix Permissions
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
chmod 700 ~/.config/aidevops
|
|
184
|
+
chmod 600 ~/.config/aidevops/mcp-env.sh
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Troubleshooting
|
|
188
|
+
|
|
189
|
+
### Key Not Found
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Check if stored
|
|
193
|
+
bash .agent/scripts/setup-local-api-keys.sh get service-name
|
|
194
|
+
|
|
195
|
+
# Check environment
|
|
196
|
+
echo $SERVICE_NAME
|
|
197
|
+
|
|
198
|
+
# Re-add if missing
|
|
199
|
+
bash .agent/scripts/setup-local-api-keys.sh set service-name YOUR_KEY
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Changes Not Taking Effect
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Reload shell config
|
|
206
|
+
source ~/.zshrc # or ~/.bashrc
|
|
207
|
+
|
|
208
|
+
# Or restart terminal
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Shell Integration Missing
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Re-run setup to add sourcing to shell configs
|
|
215
|
+
bash .agent/scripts/setup-local-api-keys.sh setup
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Best Practices
|
|
219
|
+
|
|
220
|
+
1. **Single source** - Always add keys via `setup-local-api-keys.sh`, never paste directly into `.zshrc`
|
|
221
|
+
2. **Regular rotation** - Rotate API keys every 90 days
|
|
222
|
+
3. **Minimal permissions** - Use tokens with minimal required scopes
|
|
223
|
+
4. **Monitor usage** - Check API usage in provider dashboards
|
|
224
|
+
5. **Never commit** - API keys should never appear in git history
|