aidevops 2.52.1 → 2.53.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/README.md +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +15 -9
- package/package.json +4 -4
- package/scripts/npm-postinstall.js +6 -7
- package/setup.sh +1 -1
- package/templates/deploy-templates.sh +144 -0
- package/templates/home/.agent/README.md +33 -0
- package/templates/home/AGENTS.md +96 -0
- package/templates/home/git/.agent/README.md +48 -0
- package/templates/home/git/AGENTS.md +97 -0
- package/templates/standard-functions.sh +179 -0
- package/templates/wordpress-performance-workflow.md +217 -0
- package/.agent/AGENTS.md +0 -614
- package/.agent/accounts.md +0 -65
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +0 -456
- package/.agent/aidevops/api-integrations.md +0 -335
- package/.agent/aidevops/architecture.md +0 -510
- package/.agent/aidevops/configs.md +0 -274
- package/.agent/aidevops/docs.md +0 -244
- package/.agent/aidevops/extension.md +0 -311
- package/.agent/aidevops/mcp-integrations.md +0 -340
- package/.agent/aidevops/mcp-troubleshooting.md +0 -162
- package/.agent/aidevops/memory-patterns.md +0 -172
- package/.agent/aidevops/providers.md +0 -217
- package/.agent/aidevops/recommendations.md +0 -321
- package/.agent/aidevops/requirements.md +0 -301
- package/.agent/aidevops/resources.md +0 -214
- package/.agent/aidevops/security-requirements.md +0 -174
- package/.agent/aidevops/security.md +0 -350
- package/.agent/aidevops/service-links.md +0 -400
- package/.agent/aidevops/services.md +0 -357
- package/.agent/aidevops/setup.md +0 -153
- package/.agent/aidevops/troubleshooting.md +0 -389
- package/.agent/aidevops.md +0 -124
- package/.agent/build-plus.md +0 -244
- package/.agent/content/guidelines.md +0 -109
- package/.agent/content.md +0 -87
- package/.agent/health.md +0 -59
- package/.agent/legal.md +0 -59
- package/.agent/loop-state/full-loop.local.md +0 -16
- package/.agent/loop-state/ralph-loop.local.md +0 -10
- package/.agent/marketing.md +0 -440
- package/.agent/memory/README.md +0 -260
- package/.agent/onboarding.md +0 -796
- package/.agent/plan-plus.md +0 -245
- package/.agent/research.md +0 -100
- package/.agent/sales.md +0 -333
- package/.agent/scripts/101domains-helper.sh +0 -701
- package/.agent/scripts/add-missing-returns.sh +0 -140
- package/.agent/scripts/agent-browser-helper.sh +0 -311
- package/.agent/scripts/agno-setup.sh +0 -712
- package/.agent/scripts/ahrefs-mcp-wrapper.js +0 -168
- package/.agent/scripts/aidevops-update-check.sh +0 -71
- package/.agent/scripts/ampcode-cli.sh +0 -522
- package/.agent/scripts/auto-version-bump.sh +0 -156
- package/.agent/scripts/autogen-helper.sh +0 -512
- package/.agent/scripts/beads-sync-helper.sh +0 -596
- package/.agent/scripts/closte-helper.sh +0 -5
- package/.agent/scripts/cloudron-helper.sh +0 -321
- package/.agent/scripts/codacy-cli-chunked.sh +0 -581
- package/.agent/scripts/codacy-cli.sh +0 -442
- package/.agent/scripts/code-audit-helper.sh +0 -5
- package/.agent/scripts/coderabbit-cli.sh +0 -417
- package/.agent/scripts/coderabbit-pro-analysis.sh +0 -238
- package/.agent/scripts/commands/code-simplifier.md +0 -86
- package/.agent/scripts/commands/full-loop.md +0 -246
- package/.agent/scripts/commands/postflight-loop.md +0 -103
- package/.agent/scripts/commands/recall.md +0 -182
- package/.agent/scripts/commands/remember.md +0 -132
- package/.agent/scripts/commands/save-todo.md +0 -175
- package/.agent/scripts/commands/session-review.md +0 -154
- package/.agent/scripts/comprehensive-quality-fix.sh +0 -106
- package/.agent/scripts/context-builder-helper.sh +0 -522
- package/.agent/scripts/coolify-cli-helper.sh +0 -674
- package/.agent/scripts/coolify-helper.sh +0 -380
- package/.agent/scripts/crawl4ai-examples.sh +0 -401
- package/.agent/scripts/crawl4ai-helper.sh +0 -1078
- package/.agent/scripts/crewai-helper.sh +0 -681
- package/.agent/scripts/dev-browser-helper.sh +0 -513
- package/.agent/scripts/dns-helper.sh +0 -396
- package/.agent/scripts/domain-research-helper.sh +0 -917
- package/.agent/scripts/dspy-helper.sh +0 -285
- package/.agent/scripts/dspyground-helper.sh +0 -291
- package/.agent/scripts/eeat-score-helper.sh +0 -1242
- package/.agent/scripts/efficient-return-fix.sh +0 -92
- package/.agent/scripts/extract-opencode-prompts.sh +0 -128
- package/.agent/scripts/find-missing-returns.sh +0 -113
- package/.agent/scripts/fix-auth-headers.sh +0 -104
- package/.agent/scripts/fix-common-strings.sh +0 -254
- package/.agent/scripts/fix-content-type.sh +0 -100
- package/.agent/scripts/fix-error-messages.sh +0 -130
- package/.agent/scripts/fix-misplaced-returns.sh +0 -74
- package/.agent/scripts/fix-remaining-literals.sh +0 -152
- package/.agent/scripts/fix-return-statements.sh +0 -41
- package/.agent/scripts/fix-s131-default-cases.sh +0 -249
- package/.agent/scripts/fix-sc2155-simple.sh +0 -102
- package/.agent/scripts/fix-shellcheck-critical.sh +0 -187
- package/.agent/scripts/fix-string-literals.sh +0 -273
- package/.agent/scripts/full-loop-helper.sh +0 -773
- package/.agent/scripts/generate-opencode-agents.sh +0 -497
- package/.agent/scripts/generate-opencode-commands.sh +0 -1629
- package/.agent/scripts/generate-skills.sh +0 -366
- package/.agent/scripts/git-platforms-helper.sh +0 -640
- package/.agent/scripts/gitea-cli-helper.sh +0 -743
- package/.agent/scripts/github-cli-helper.sh +0 -702
- package/.agent/scripts/gitlab-cli-helper.sh +0 -682
- package/.agent/scripts/gsc-add-user-helper.sh +0 -325
- package/.agent/scripts/gsc-sitemap-helper.sh +0 -678
- package/.agent/scripts/hetzner-helper.sh +0 -485
- package/.agent/scripts/hostinger-helper.sh +0 -229
- package/.agent/scripts/keyword-research-helper.sh +0 -1815
- package/.agent/scripts/langflow-helper.sh +0 -544
- package/.agent/scripts/linkedin-automation.py +0 -241
- package/.agent/scripts/linter-manager.sh +0 -599
- package/.agent/scripts/linters-local.sh +0 -434
- package/.agent/scripts/list-keys-helper.sh +0 -488
- package/.agent/scripts/local-browser-automation.py +0 -339
- package/.agent/scripts/localhost-helper.sh +0 -744
- package/.agent/scripts/loop-common.sh +0 -806
- package/.agent/scripts/mainwp-helper.sh +0 -728
- package/.agent/scripts/markdown-formatter.sh +0 -338
- package/.agent/scripts/markdown-lint-fix.sh +0 -311
- package/.agent/scripts/mass-fix-returns.sh +0 -58
- package/.agent/scripts/mcp-diagnose.sh +0 -167
- package/.agent/scripts/mcp-inspector-helper.sh +0 -449
- package/.agent/scripts/memory-helper.sh +0 -650
- package/.agent/scripts/monitor-code-review.sh +0 -255
- package/.agent/scripts/onboarding-helper.sh +0 -706
- package/.agent/scripts/opencode-github-setup-helper.sh +0 -797
- package/.agent/scripts/opencode-test-helper.sh +0 -213
- package/.agent/scripts/pagespeed-helper.sh +0 -464
- package/.agent/scripts/pandoc-helper.sh +0 -362
- package/.agent/scripts/postflight-check.sh +0 -555
- package/.agent/scripts/pre-commit-hook.sh +0 -259
- package/.agent/scripts/pre-edit-check.sh +0 -169
- package/.agent/scripts/qlty-cli.sh +0 -356
- package/.agent/scripts/quality-cli-manager.sh +0 -525
- package/.agent/scripts/quality-feedback-helper.sh +0 -462
- package/.agent/scripts/quality-fix.sh +0 -263
- package/.agent/scripts/quality-loop-helper.sh +0 -1108
- package/.agent/scripts/ralph-loop-helper.sh +0 -836
- package/.agent/scripts/ralph-upstream-check.sh +0 -341
- package/.agent/scripts/secretlint-helper.sh +0 -847
- package/.agent/scripts/servers-helper.sh +0 -241
- package/.agent/scripts/ses-helper.sh +0 -619
- package/.agent/scripts/session-review-helper.sh +0 -404
- package/.agent/scripts/setup-linters-wizard.sh +0 -379
- package/.agent/scripts/setup-local-api-keys.sh +0 -330
- package/.agent/scripts/setup-mcp-integrations.sh +0 -472
- package/.agent/scripts/shared-constants.sh +0 -246
- package/.agent/scripts/site-crawler-helper.sh +0 -1487
- package/.agent/scripts/snyk-helper.sh +0 -940
- package/.agent/scripts/sonarcloud-autofix.sh +0 -193
- package/.agent/scripts/sonarcloud-cli.sh +0 -191
- package/.agent/scripts/sonarscanner-cli.sh +0 -455
- package/.agent/scripts/spaceship-helper.sh +0 -747
- package/.agent/scripts/stagehand-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-setup.sh +0 -441
- package/.agent/scripts/stagehand-setup.sh +0 -439
- package/.agent/scripts/system-cleanup.sh +0 -340
- package/.agent/scripts/terminal-title-helper.sh +0 -388
- package/.agent/scripts/terminal-title-setup.sh +0 -549
- package/.agent/scripts/test-stagehand-both-integration.sh +0 -317
- package/.agent/scripts/test-stagehand-integration.sh +0 -309
- package/.agent/scripts/test-stagehand-python-integration.sh +0 -341
- package/.agent/scripts/todo-ready.sh +0 -263
- package/.agent/scripts/tool-version-check.sh +0 -362
- package/.agent/scripts/toon-helper.sh +0 -469
- package/.agent/scripts/twilio-helper.sh +0 -917
- package/.agent/scripts/updown-helper.sh +0 -279
- package/.agent/scripts/validate-mcp-integrations.sh +0 -250
- package/.agent/scripts/validate-version-consistency.sh +0 -131
- package/.agent/scripts/vaultwarden-helper.sh +0 -597
- package/.agent/scripts/vercel-cli-helper.sh +0 -816
- package/.agent/scripts/verify-mirrors.sh +0 -169
- package/.agent/scripts/version-manager.sh +0 -831
- package/.agent/scripts/webhosting-helper.sh +0 -471
- package/.agent/scripts/webhosting-verify.sh +0 -238
- package/.agent/scripts/wordpress-mcp-helper.sh +0 -508
- package/.agent/scripts/worktree-helper.sh +0 -595
- package/.agent/scripts/worktree-sessions.sh +0 -577
- package/.agent/seo/dataforseo.md +0 -215
- package/.agent/seo/domain-research.md +0 -532
- package/.agent/seo/eeat-score.md +0 -659
- package/.agent/seo/google-search-console.md +0 -366
- package/.agent/seo/gsc-sitemaps.md +0 -282
- package/.agent/seo/keyword-research.md +0 -521
- package/.agent/seo/serper.md +0 -278
- package/.agent/seo/site-crawler.md +0 -387
- package/.agent/seo.md +0 -236
- package/.agent/services/accounting/quickfile.md +0 -159
- package/.agent/services/communications/telfon.md +0 -470
- package/.agent/services/communications/twilio.md +0 -569
- package/.agent/services/crm/fluentcrm.md +0 -449
- package/.agent/services/email/ses.md +0 -399
- package/.agent/services/hosting/101domains.md +0 -378
- package/.agent/services/hosting/closte.md +0 -177
- package/.agent/services/hosting/cloudflare.md +0 -251
- package/.agent/services/hosting/cloudron.md +0 -478
- package/.agent/services/hosting/dns-providers.md +0 -335
- package/.agent/services/hosting/domain-purchasing.md +0 -344
- package/.agent/services/hosting/hetzner.md +0 -327
- package/.agent/services/hosting/hostinger.md +0 -287
- package/.agent/services/hosting/localhost.md +0 -419
- package/.agent/services/hosting/spaceship.md +0 -353
- package/.agent/services/hosting/webhosting.md +0 -330
- package/.agent/social-media.md +0 -69
- package/.agent/templates/plans-template.md +0 -114
- package/.agent/templates/prd-template.md +0 -129
- package/.agent/templates/tasks-template.md +0 -108
- package/.agent/templates/todo-template.md +0 -89
- package/.agent/tools/ai-assistants/agno.md +0 -471
- package/.agent/tools/ai-assistants/capsolver.md +0 -326
- package/.agent/tools/ai-assistants/configuration.md +0 -221
- package/.agent/tools/ai-assistants/overview.md +0 -209
- package/.agent/tools/ai-assistants/status.md +0 -171
- package/.agent/tools/ai-assistants/windsurf.md +0 -193
- package/.agent/tools/ai-orchestration/autogen.md +0 -406
- package/.agent/tools/ai-orchestration/crewai.md +0 -445
- package/.agent/tools/ai-orchestration/langflow.md +0 -405
- package/.agent/tools/ai-orchestration/openprose.md +0 -487
- package/.agent/tools/ai-orchestration/overview.md +0 -362
- package/.agent/tools/ai-orchestration/packaging.md +0 -647
- package/.agent/tools/browser/agent-browser.md +0 -464
- package/.agent/tools/browser/browser-automation.md +0 -400
- package/.agent/tools/browser/chrome-devtools.md +0 -282
- package/.agent/tools/browser/crawl4ai-integration.md +0 -422
- package/.agent/tools/browser/crawl4ai-resources.md +0 -277
- package/.agent/tools/browser/crawl4ai-usage.md +0 -416
- package/.agent/tools/browser/crawl4ai.md +0 -585
- package/.agent/tools/browser/dev-browser.md +0 -341
- package/.agent/tools/browser/pagespeed.md +0 -260
- package/.agent/tools/browser/playwright.md +0 -266
- package/.agent/tools/browser/playwriter.md +0 -310
- package/.agent/tools/browser/stagehand-examples.md +0 -456
- package/.agent/tools/browser/stagehand-python.md +0 -483
- package/.agent/tools/browser/stagehand.md +0 -421
- package/.agent/tools/build-agent/agent-review.md +0 -224
- package/.agent/tools/build-agent/build-agent.md +0 -784
- package/.agent/tools/build-mcp/aidevops-plugin.md +0 -476
- package/.agent/tools/build-mcp/api-wrapper.md +0 -445
- package/.agent/tools/build-mcp/build-mcp.md +0 -240
- package/.agent/tools/build-mcp/deployment.md +0 -401
- package/.agent/tools/build-mcp/server-patterns.md +0 -632
- package/.agent/tools/build-mcp/transports.md +0 -366
- package/.agent/tools/code-review/auditing.md +0 -383
- package/.agent/tools/code-review/automation.md +0 -219
- package/.agent/tools/code-review/best-practices.md +0 -203
- package/.agent/tools/code-review/codacy.md +0 -151
- package/.agent/tools/code-review/code-simplifier.md +0 -174
- package/.agent/tools/code-review/code-standards.md +0 -309
- package/.agent/tools/code-review/coderabbit.md +0 -101
- package/.agent/tools/code-review/management.md +0 -155
- package/.agent/tools/code-review/qlty.md +0 -248
- package/.agent/tools/code-review/secretlint.md +0 -565
- package/.agent/tools/code-review/setup.md +0 -250
- package/.agent/tools/code-review/snyk.md +0 -563
- package/.agent/tools/code-review/tools.md +0 -230
- package/.agent/tools/content/summarize.md +0 -353
- package/.agent/tools/context/augment-context-engine.md +0 -468
- package/.agent/tools/context/context-builder-agent.md +0 -76
- package/.agent/tools/context/context-builder.md +0 -375
- package/.agent/tools/context/context7.md +0 -371
- package/.agent/tools/context/dspy.md +0 -302
- package/.agent/tools/context/dspyground.md +0 -374
- package/.agent/tools/context/llm-tldr.md +0 -219
- package/.agent/tools/context/osgrep.md +0 -488
- package/.agent/tools/context/prompt-optimization.md +0 -338
- package/.agent/tools/context/toon.md +0 -292
- package/.agent/tools/conversion/pandoc.md +0 -304
- package/.agent/tools/credentials/api-key-management.md +0 -154
- package/.agent/tools/credentials/api-key-setup.md +0 -224
- package/.agent/tools/credentials/environment-variables.md +0 -180
- package/.agent/tools/credentials/vaultwarden.md +0 -382
- package/.agent/tools/data-extraction/outscraper.md +0 -974
- package/.agent/tools/deployment/coolify-cli.md +0 -388
- package/.agent/tools/deployment/coolify-setup.md +0 -353
- package/.agent/tools/deployment/coolify.md +0 -345
- package/.agent/tools/deployment/vercel.md +0 -390
- package/.agent/tools/git/authentication.md +0 -132
- package/.agent/tools/git/gitea-cli.md +0 -193
- package/.agent/tools/git/github-actions.md +0 -207
- package/.agent/tools/git/github-cli.md +0 -223
- package/.agent/tools/git/gitlab-cli.md +0 -190
- package/.agent/tools/git/opencode-github-security.md +0 -350
- package/.agent/tools/git/opencode-github.md +0 -328
- package/.agent/tools/git/opencode-gitlab.md +0 -252
- package/.agent/tools/git/security.md +0 -196
- package/.agent/tools/git.md +0 -207
- package/.agent/tools/opencode/oh-my-opencode.md +0 -375
- package/.agent/tools/opencode/opencode-anthropic-auth.md +0 -446
- package/.agent/tools/opencode/opencode.md +0 -651
- package/.agent/tools/social-media/bird.md +0 -437
- package/.agent/tools/task-management/beads.md +0 -336
- package/.agent/tools/terminal/terminal-title.md +0 -251
- package/.agent/tools/ui/shadcn.md +0 -196
- package/.agent/tools/ui/ui-skills.md +0 -115
- package/.agent/tools/wordpress/localwp.md +0 -311
- package/.agent/tools/wordpress/mainwp.md +0 -391
- package/.agent/tools/wordpress/scf.md +0 -527
- package/.agent/tools/wordpress/wp-admin.md +0 -729
- package/.agent/tools/wordpress/wp-dev.md +0 -940
- package/.agent/tools/wordpress/wp-preferred.md +0 -398
- package/.agent/tools/wordpress.md +0 -95
- package/.agent/workflows/branch/bugfix.md +0 -63
- package/.agent/workflows/branch/chore.md +0 -95
- package/.agent/workflows/branch/experiment.md +0 -115
- package/.agent/workflows/branch/feature.md +0 -59
- package/.agent/workflows/branch/hotfix.md +0 -98
- package/.agent/workflows/branch/refactor.md +0 -92
- package/.agent/workflows/branch/release.md +0 -96
- package/.agent/workflows/branch.md +0 -347
- package/.agent/workflows/bug-fixing.md +0 -267
- package/.agent/workflows/changelog.md +0 -129
- package/.agent/workflows/code-audit-remote.md +0 -279
- package/.agent/workflows/conversation-starter.md +0 -69
- package/.agent/workflows/error-feedback.md +0 -578
- package/.agent/workflows/feature-development.md +0 -355
- package/.agent/workflows/git-workflow.md +0 -702
- package/.agent/workflows/multi-repo-workspace.md +0 -268
- package/.agent/workflows/plans.md +0 -709
- package/.agent/workflows/postflight.md +0 -604
- package/.agent/workflows/pr.md +0 -571
- package/.agent/workflows/preflight.md +0 -278
- package/.agent/workflows/ralph-loop.md +0 -773
- package/.agent/workflows/release.md +0 -498
- package/.agent/workflows/session-manager.md +0 -254
- package/.agent/workflows/session-review.md +0 -311
- package/.agent/workflows/sql-migrations.md +0 -631
- package/.agent/workflows/version-bump.md +0 -283
- package/.agent/workflows/wiki-update.md +0 -333
- package/.agent/workflows/worktree.md +0 -477
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Environment variables integration for credentials
|
|
3
|
-
mode: subagent
|
|
4
|
-
tools:
|
|
5
|
-
read: true
|
|
6
|
-
write: false
|
|
7
|
-
edit: false
|
|
8
|
-
bash: true
|
|
9
|
-
glob: true
|
|
10
|
-
grep: true
|
|
11
|
-
webfetch: false
|
|
12
|
-
task: true
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Environment Variables Integration
|
|
16
|
-
|
|
17
|
-
<!-- AI-CONTEXT-START -->
|
|
18
|
-
|
|
19
|
-
## Quick Reference
|
|
20
|
-
|
|
21
|
-
- **Priority**: Environment variables > .env files > config files > defaults
|
|
22
|
-
- **OpenAI**: `OPENAI_API_KEY` (sk-...), `OPENAI_BASE_URL`
|
|
23
|
-
- **Anthropic**: `ANTHROPIC_API_KEY`, `ANTHROPIC_BASE_URL`
|
|
24
|
-
- **Others**: `AI_GATEWAY_API_KEY`, `GOOGLE_API_KEY`, `AZURE_OPENAI_API_KEY`
|
|
25
|
-
- **DSPy test**: `./.agent/scripts/dspy-helper.sh test`
|
|
26
|
-
- **Check keys**: `env | grep -E "(OPENAI|ANTHROPIC|CLAUDE)_API_KEY"`
|
|
27
|
-
- **Test OpenAI**: `curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models | head -20`
|
|
28
|
-
- **Benefits**: Secure (no keys in files), convenient (works immediately), flexible (override per-project)
|
|
29
|
-
<!-- AI-CONTEXT-END -->
|
|
30
|
-
|
|
31
|
-
## Automatic API Key Detection
|
|
32
|
-
|
|
33
|
-
Both DSPy and DSPyGround are configured to **automatically use your terminal session's API keys**. No additional configuration needed!
|
|
34
|
-
|
|
35
|
-
### **Current Environment**
|
|
36
|
-
|
|
37
|
-
Your terminal session has these API keys available:
|
|
38
|
-
|
|
39
|
-
- ✅ `OPENAI_API_KEY` - Detected and ready to use
|
|
40
|
-
|
|
41
|
-
### **How It Works**
|
|
42
|
-
|
|
43
|
-
#### **DSPy Integration**
|
|
44
|
-
|
|
45
|
-
DSPy uses this priority order:
|
|
46
|
-
|
|
47
|
-
1. **Environment variables** (your terminal session) - **HIGHEST PRIORITY**
|
|
48
|
-
2. Configuration file values - fallback only
|
|
49
|
-
|
|
50
|
-
```python
|
|
51
|
-
# DSPy automatically checks environment first
|
|
52
|
-
api_key = os.getenv("OPENAI_API_KEY", config_fallback)
|
|
53
|
-
lm = dspy.LM(model="openai/gpt-3.5-turbo", api_key=api_key)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
#### **DSPyGround Integration**
|
|
57
|
-
|
|
58
|
-
DSPyGround uses `.env` files that reference your environment:
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# .env file automatically uses your terminal session variables
|
|
62
|
-
OPENAI_API_KEY=${OPENAI_API_KEY} # References your existing key
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## 🚀 **Quick Test**
|
|
66
|
-
|
|
67
|
-
### **Test DSPy with Your API Key**
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
cd data/dspy/test-project
|
|
71
|
-
source ../../../python-env/dspy-env/bin/activate
|
|
72
|
-
python3 main.py
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### **Test DSPyGround with Your API Key**
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
cd data/dspyground/test-agent
|
|
79
|
-
# Your OPENAI_API_KEY is automatically available
|
|
80
|
-
node -e "console.log('API Key:', process.env.OPENAI_API_KEY?.slice(0,10) + '...')"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 🔧 **Supported Environment Variables**
|
|
84
|
-
|
|
85
|
-
### **OpenAI**
|
|
86
|
-
|
|
87
|
-
- `OPENAI_API_KEY` - ✅ **Currently set in your environment**
|
|
88
|
-
- `OPENAI_BASE_URL` - Custom endpoint (optional)
|
|
89
|
-
|
|
90
|
-
### **Anthropic**
|
|
91
|
-
|
|
92
|
-
- `ANTHROPIC_API_KEY` - For Claude models
|
|
93
|
-
- `ANTHROPIC_BASE_URL` - Custom endpoint (optional)
|
|
94
|
-
|
|
95
|
-
### **Other Providers**
|
|
96
|
-
|
|
97
|
-
- `AI_GATEWAY_API_KEY` - For DSPyGround AI Gateway
|
|
98
|
-
- `GOOGLE_API_KEY` - For Gemini models
|
|
99
|
-
- `AZURE_OPENAI_API_KEY` - For Azure OpenAI
|
|
100
|
-
|
|
101
|
-
## 📋 **Configuration Priority**
|
|
102
|
-
|
|
103
|
-
Both tools follow this priority order:
|
|
104
|
-
|
|
105
|
-
1. **Environment Variables** (your terminal session)
|
|
106
|
-
2. `.env` files (project-specific)
|
|
107
|
-
3. Configuration files (fallback)
|
|
108
|
-
4. Default values (last resort)
|
|
109
|
-
|
|
110
|
-
## ✨ **Benefits**
|
|
111
|
-
|
|
112
|
-
### **Security**
|
|
113
|
-
|
|
114
|
-
- API keys stay in your secure environment
|
|
115
|
-
- No need to store keys in config files
|
|
116
|
-
- Consistent across all projects
|
|
117
|
-
|
|
118
|
-
### **Convenience**
|
|
119
|
-
|
|
120
|
-
- Works immediately with your existing setup
|
|
121
|
-
- No additional configuration required
|
|
122
|
-
- Same keys work for all AI tools
|
|
123
|
-
|
|
124
|
-
### **Flexibility**
|
|
125
|
-
|
|
126
|
-
- Override per-project with `.env` files
|
|
127
|
-
- Fallback to config files if needed
|
|
128
|
-
- Easy switching between different keys
|
|
129
|
-
|
|
130
|
-
## 🎯 **Quick Start Commands**
|
|
131
|
-
|
|
132
|
-
Since your `OPENAI_API_KEY` is already set, you can immediately:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Test DSPy
|
|
136
|
-
./.agent/scripts/dspy-helper.sh test
|
|
137
|
-
|
|
138
|
-
# Create and run DSPy project
|
|
139
|
-
./.agent/scripts/dspy-helper.sh init my-bot
|
|
140
|
-
cd data/dspy/my-bot
|
|
141
|
-
source ../../../python-env/dspy-env/bin/activate
|
|
142
|
-
python3 main.py
|
|
143
|
-
|
|
144
|
-
# Create DSPyGround project
|
|
145
|
-
./.agent/scripts/dspyground-helper.sh init my-agent
|
|
146
|
-
cd data/dspyground/my-agent
|
|
147
|
-
# Add AI_GATEWAY_API_KEY to .env if using AI Gateway
|
|
148
|
-
# Otherwise, your OPENAI_API_KEY works directly
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## 🔍 **Troubleshooting**
|
|
152
|
-
|
|
153
|
-
### **Check Your Environment**
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
# Verify API keys are set
|
|
157
|
-
env | grep -E "(OPENAI|ANTHROPIC|CLAUDE)_API_KEY"
|
|
158
|
-
|
|
159
|
-
# Test API key format
|
|
160
|
-
echo $OPENAI_API_KEY | grep -E "^sk-"
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### **Test API Connectivity**
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Test OpenAI API
|
|
167
|
-
curl -H "Authorization: Bearer $OPENAI_API_KEY" \
|
|
168
|
-
https://api.openai.com/v1/models | head -20
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### **Common Issues**
|
|
172
|
-
|
|
173
|
-
1. **API Key Not Found**: Check `echo $OPENAI_API_KEY`
|
|
174
|
-
2. **Wrong Format**: OpenAI keys start with `sk-`
|
|
175
|
-
3. **Permissions**: Ensure key has required permissions
|
|
176
|
-
4. **Rate Limits**: Check API usage limits
|
|
177
|
-
|
|
178
|
-
## 🎉 **Ready to Use!**
|
|
179
|
-
|
|
180
|
-
Your environment is already configured! Both DSPy and DSPyGround will automatically use your existing `OPENAI_API_KEY` without any additional setup.
|
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Vaultwarden self-hosted password management
|
|
3
|
-
mode: subagent
|
|
4
|
-
tools:
|
|
5
|
-
read: true
|
|
6
|
-
write: false
|
|
7
|
-
edit: false
|
|
8
|
-
bash: true
|
|
9
|
-
glob: true
|
|
10
|
-
grep: true
|
|
11
|
-
webfetch: true
|
|
12
|
-
task: true
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Vaultwarden (Self-hosted Bitwarden) Guide
|
|
16
|
-
|
|
17
|
-
<!-- AI-CONTEXT-START -->
|
|
18
|
-
|
|
19
|
-
## Quick Reference
|
|
20
|
-
|
|
21
|
-
- **Type**: Self-hosted password manager (Bitwarden API compatible)
|
|
22
|
-
- **CLI**: `npm install -g @bitwarden/cli` then `bw`
|
|
23
|
-
- **Auth**: `bw login email` then `export BW_SESSION=$(bw unlock --raw)`
|
|
24
|
-
- **Config**: `configs/vaultwarden-config.json`
|
|
25
|
-
- **Commands**: `vaultwarden-helper.sh [instances|status|login|unlock|list|search|get|get-password|create|audit|start-mcp] [instance] [args]`
|
|
26
|
-
- **Session**: `BW_SESSION` env var required after unlock
|
|
27
|
-
- **Lock**: `bw lock` and `unset BW_SESSION` when done
|
|
28
|
-
- **MCP**: Port 3002 for AI assistant credential access
|
|
29
|
-
- **Backup**: `bw export --format json` (encrypt with GPG)
|
|
30
|
-
<!-- AI-CONTEXT-END -->
|
|
31
|
-
|
|
32
|
-
Vaultwarden is a self-hosted, lightweight implementation of the Bitwarden server API, providing secure password and secrets management with full API access and MCP integration.
|
|
33
|
-
|
|
34
|
-
## Provider Overview
|
|
35
|
-
|
|
36
|
-
### **Vaultwarden Characteristics:**
|
|
37
|
-
|
|
38
|
-
- **Service Type**: Self-hosted password and secrets management
|
|
39
|
-
- **Compatibility**: Full Bitwarden API compatibility
|
|
40
|
-
- **Architecture**: Lightweight Rust implementation
|
|
41
|
-
- **Security**: End-to-end encryption with zero-knowledge architecture
|
|
42
|
-
- **API Support**: Complete REST API for automation
|
|
43
|
-
- **MCP Integration**: Real-time vault access for AI assistants
|
|
44
|
-
- **Multi-platform**: Web, desktop, mobile, and CLI access
|
|
45
|
-
|
|
46
|
-
### **Best Use Cases:**
|
|
47
|
-
|
|
48
|
-
- **DevOps credential management** with secure API access
|
|
49
|
-
- **Team password sharing** with organization support
|
|
50
|
-
- **Development secrets** management and rotation
|
|
51
|
-
- **Infrastructure credentials** with automated access
|
|
52
|
-
- **Secure note storage** for configuration and documentation
|
|
53
|
-
- **API key management** with audit trails and access control
|
|
54
|
-
|
|
55
|
-
## 🔧 **Configuration**
|
|
56
|
-
|
|
57
|
-
### **Setup Configuration:**
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
# Copy template
|
|
61
|
-
cp configs/vaultwarden-config.json.txt configs/vaultwarden-config.json
|
|
62
|
-
|
|
63
|
-
# Edit with your Vaultwarden instance details
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### **Multi-Instance Configuration:**
|
|
67
|
-
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"instances": {
|
|
71
|
-
"production": {
|
|
72
|
-
"server_url": "https://vault.yourdomain.com",
|
|
73
|
-
"description": "Production Vaultwarden instance",
|
|
74
|
-
"users_count": 25,
|
|
75
|
-
"organizations": [
|
|
76
|
-
{
|
|
77
|
-
"name": "Company Organization",
|
|
78
|
-
"id": "org-uuid-here"
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
},
|
|
82
|
-
"development": {
|
|
83
|
-
"server_url": "https://dev-vault.yourdomain.com",
|
|
84
|
-
"description": "Development Vaultwarden instance",
|
|
85
|
-
"users_count": 10
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### **Bitwarden CLI Setup:**
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Install Bitwarden CLI
|
|
95
|
-
npm install -g @bitwarden/cli
|
|
96
|
-
|
|
97
|
-
# Or download binary from:
|
|
98
|
-
# https://bitwarden.com/download/
|
|
99
|
-
|
|
100
|
-
# Verify installation
|
|
101
|
-
bw --version
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## 🚀 **Usage Examples**
|
|
105
|
-
|
|
106
|
-
### **Basic Commands:**
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
# List all Vaultwarden instances
|
|
110
|
-
./.agent/scripts/vaultwarden-helper.sh instances
|
|
111
|
-
|
|
112
|
-
# Get vault status
|
|
113
|
-
./.agent/scripts/vaultwarden-helper.sh status production
|
|
114
|
-
|
|
115
|
-
# Login to vault
|
|
116
|
-
./.agent/scripts/vaultwarden-helper.sh login production user@example.com
|
|
117
|
-
|
|
118
|
-
# Unlock vault (after login)
|
|
119
|
-
./.agent/scripts/vaultwarden-helper.sh unlock
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### **Vault Management:**
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
# List all vault items
|
|
126
|
-
./.agent/scripts/vaultwarden-helper.sh list production
|
|
127
|
-
|
|
128
|
-
# Search vault items
|
|
129
|
-
./.agent/scripts/vaultwarden-helper.sh search production "github"
|
|
130
|
-
|
|
131
|
-
# Get specific item
|
|
132
|
-
./.agent/scripts/vaultwarden-helper.sh get production item-uuid
|
|
133
|
-
|
|
134
|
-
# Get password for item
|
|
135
|
-
./.agent/scripts/vaultwarden-helper.sh get-password production "GitHub Account"
|
|
136
|
-
|
|
137
|
-
# Get username for item
|
|
138
|
-
./.agent/scripts/vaultwarden-helper.sh get-username production "GitHub Account"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### **Item Management:**
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# Create new vault item
|
|
145
|
-
./.agent/scripts/vaultwarden-helper.sh create production "New Service" username password123 https://service.com
|
|
146
|
-
|
|
147
|
-
# Update vault item
|
|
148
|
-
./.agent/scripts/vaultwarden-helper.sh update production item-uuid password newpassword123
|
|
149
|
-
|
|
150
|
-
# Delete vault item
|
|
151
|
-
./.agent/scripts/vaultwarden-helper.sh delete production item-uuid
|
|
152
|
-
|
|
153
|
-
# Generate secure password
|
|
154
|
-
./.agent/scripts/vaultwarden-helper.sh generate 20 true
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### **Organization Management:**
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
# List organization vault items
|
|
161
|
-
./.agent/scripts/vaultwarden-helper.sh org-list production org-uuid
|
|
162
|
-
|
|
163
|
-
# Sync vault with server
|
|
164
|
-
./.agent/scripts/vaultwarden-helper.sh sync production
|
|
165
|
-
|
|
166
|
-
# Export vault (encrypted)
|
|
167
|
-
./.agent/scripts/vaultwarden-helper.sh export production json vault-backup.json
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### **Security & Auditing:**
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
# Audit vault security
|
|
174
|
-
./.agent/scripts/vaultwarden-helper.sh audit production
|
|
175
|
-
|
|
176
|
-
# Lock vault
|
|
177
|
-
./.agent/scripts/vaultwarden-helper.sh lock
|
|
178
|
-
|
|
179
|
-
# Start MCP server for AI access
|
|
180
|
-
./.agent/scripts/vaultwarden-helper.sh start-mcp production 3002
|
|
181
|
-
|
|
182
|
-
# Test MCP connection
|
|
183
|
-
./.agent/scripts/vaultwarden-helper.sh test-mcp 3002
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
## 🛡️ **Security Best Practices**
|
|
187
|
-
|
|
188
|
-
### **Instance Security:**
|
|
189
|
-
|
|
190
|
-
- **HTTPS only**: Always use HTTPS for Vaultwarden instances
|
|
191
|
-
- **Strong master passwords**: Enforce strong master password policies
|
|
192
|
-
- **Two-factor authentication**: Enable 2FA for all users
|
|
193
|
-
- **Regular backups**: Maintain encrypted backups of vault data
|
|
194
|
-
- **Access monitoring**: Monitor and audit vault access
|
|
195
|
-
|
|
196
|
-
### **API Security:**
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
# Use secure session management
|
|
200
|
-
export BW_SESSION=$(bw unlock --raw)
|
|
201
|
-
|
|
202
|
-
# Clear session when done
|
|
203
|
-
unset BW_SESSION
|
|
204
|
-
bw lock
|
|
205
|
-
|
|
206
|
-
# Regular security audits
|
|
207
|
-
./.agent/scripts/vaultwarden-helper.sh audit production
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### **Organizational Security:**
|
|
211
|
-
|
|
212
|
-
- **Role-based access**: Implement proper role-based access control
|
|
213
|
-
- **Shared vault policies**: Define clear policies for shared vaults
|
|
214
|
-
- **Regular audits**: Perform regular security audits
|
|
215
|
-
- **Access reviews**: Review user access regularly
|
|
216
|
-
- **Incident response**: Have incident response procedures
|
|
217
|
-
|
|
218
|
-
## 🔍 **Troubleshooting**
|
|
219
|
-
|
|
220
|
-
### **Common Issues:**
|
|
221
|
-
|
|
222
|
-
#### **Connection Issues:**
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# Test server connectivity
|
|
226
|
-
curl -I https://vault.yourdomain.com
|
|
227
|
-
|
|
228
|
-
# Check Bitwarden CLI configuration
|
|
229
|
-
bw config
|
|
230
|
-
|
|
231
|
-
# Verify server URL
|
|
232
|
-
bw config server https://vault.yourdomain.com
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
#### **Authentication Issues:**
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
# Check login status
|
|
239
|
-
bw status
|
|
240
|
-
|
|
241
|
-
# Re-login if needed
|
|
242
|
-
bw logout
|
|
243
|
-
bw login user@example.com
|
|
244
|
-
|
|
245
|
-
# Unlock vault
|
|
246
|
-
bw unlock
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
#### **Sync Issues:**
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
# Force sync with server
|
|
253
|
-
bw sync --force
|
|
254
|
-
|
|
255
|
-
# Check sync status
|
|
256
|
-
bw status
|
|
257
|
-
|
|
258
|
-
# Clear local cache if needed
|
|
259
|
-
bw logout
|
|
260
|
-
bw login user@example.com
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
## 📊 **MCP Integration**
|
|
264
|
-
|
|
265
|
-
### **Bitwarden MCP Server:**
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
# Start Bitwarden MCP server
|
|
269
|
-
./.agent/scripts/vaultwarden-helper.sh start-mcp production 3002
|
|
270
|
-
|
|
271
|
-
# Test MCP server
|
|
272
|
-
./.agent/scripts/vaultwarden-helper.sh test-mcp 3002
|
|
273
|
-
|
|
274
|
-
# Configure in AI assistant
|
|
275
|
-
# Add to MCP servers configuration:
|
|
276
|
-
{
|
|
277
|
-
"bitwarden": {
|
|
278
|
-
"command": "bitwarden-mcp-server",
|
|
279
|
-
"args": ["--port", "3002"],
|
|
280
|
-
"env": {
|
|
281
|
-
"BW_SERVER": "https://vault.yourdomain.com"
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### **AI Assistant Integration:**
|
|
288
|
-
|
|
289
|
-
The MCP server enables AI assistants to:
|
|
290
|
-
|
|
291
|
-
- **Retrieve credentials** securely for automation tasks
|
|
292
|
-
- **Generate secure passwords** with custom policies
|
|
293
|
-
- **Audit vault security** and identify weak passwords
|
|
294
|
-
- **Manage vault items** with proper authentication
|
|
295
|
-
- **Access shared organization** vaults for team credentials
|
|
296
|
-
|
|
297
|
-
## 🔄 **Backup & Recovery**
|
|
298
|
-
|
|
299
|
-
### **Vault Backup:**
|
|
300
|
-
|
|
301
|
-
```bash
|
|
302
|
-
# Export encrypted vault
|
|
303
|
-
./.agent/scripts/vaultwarden-helper.sh export production json vault-backup-$(date +%Y%m%d).json
|
|
304
|
-
|
|
305
|
-
# Secure backup file
|
|
306
|
-
chmod 600 vault-backup-*.json
|
|
307
|
-
|
|
308
|
-
# Store backup securely (encrypted storage recommended)
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### **Automated Backup:**
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
#!/bin/bash
|
|
315
|
-
# Automated vault backup script
|
|
316
|
-
INSTANCE="production"
|
|
317
|
-
BACKUP_DIR="/secure/backups/vaultwarden"
|
|
318
|
-
DATE=$(date +%Y%m%d-%H%M%S)
|
|
319
|
-
|
|
320
|
-
# Create backup
|
|
321
|
-
./.agent/scripts/vaultwarden-helper.sh export $INSTANCE json "$BACKUP_DIR/vault-$DATE.json"
|
|
322
|
-
|
|
323
|
-
# Encrypt backup
|
|
324
|
-
gpg --cipher-algo AES256 --compress-algo 1 --s2k-mode 3 \
|
|
325
|
-
--s2k-digest-algo SHA512 --s2k-count 65536 --symmetric \
|
|
326
|
-
"$BACKUP_DIR/vault-$DATE.json"
|
|
327
|
-
|
|
328
|
-
# Remove unencrypted backup
|
|
329
|
-
rm "$BACKUP_DIR/vault-$DATE.json"
|
|
330
|
-
|
|
331
|
-
# Cleanup old backups (keep 30 days)
|
|
332
|
-
find "$BACKUP_DIR" -name "vault-*.json.gpg" -mtime +30 -delete
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
## 📚 **Best Practices**
|
|
336
|
-
|
|
337
|
-
### **Vault Organization:**
|
|
338
|
-
|
|
339
|
-
1. **Logical categorization**: Organize items by service, environment, or team
|
|
340
|
-
2. **Consistent naming**: Use consistent naming conventions
|
|
341
|
-
3. **Regular cleanup**: Remove unused or outdated credentials
|
|
342
|
-
4. **Documentation**: Document credential purposes and rotation schedules
|
|
343
|
-
5. **Access control**: Implement proper access controls for shared items
|
|
344
|
-
|
|
345
|
-
### **Password Management:**
|
|
346
|
-
|
|
347
|
-
- **Strong passwords**: Use generated passwords with high entropy
|
|
348
|
-
- **Regular rotation**: Rotate passwords regularly, especially for critical services
|
|
349
|
-
- **Unique passwords**: Never reuse passwords across services
|
|
350
|
-
- **Secure sharing**: Use organization vaults for team credential sharing
|
|
351
|
-
- **Audit regularly**: Regular security audits to identify weak passwords
|
|
352
|
-
|
|
353
|
-
### **Automation Integration:**
|
|
354
|
-
|
|
355
|
-
- **API access**: Use API access for automated credential retrieval
|
|
356
|
-
- **Session management**: Properly manage CLI sessions and tokens
|
|
357
|
-
- **Error handling**: Implement proper error handling for automation
|
|
358
|
-
- **Logging**: Log credential access for audit purposes
|
|
359
|
-
- **Rate limiting**: Respect API rate limits in automation
|
|
360
|
-
|
|
361
|
-
## 🎯 **AI Assistant Integration**
|
|
362
|
-
|
|
363
|
-
### **Automated Credential Management:**
|
|
364
|
-
|
|
365
|
-
- **Secure retrieval**: AI can securely retrieve credentials for automation
|
|
366
|
-
- **Password generation**: AI can generate secure passwords with policies
|
|
367
|
-
- **Vault auditing**: AI can audit vault security and identify issues
|
|
368
|
-
- **Credential rotation**: AI can assist with credential rotation workflows
|
|
369
|
-
- **Access monitoring**: AI can monitor and report on credential access
|
|
370
|
-
|
|
371
|
-
### **DevOps Workflows:**
|
|
372
|
-
|
|
373
|
-
- **Infrastructure deployment**: Secure credential access for deployments
|
|
374
|
-
- **CI/CD integration**: Secure credential injection into pipelines
|
|
375
|
-
- **Service configuration**: Automated service configuration with credentials
|
|
376
|
-
- **Monitoring integration**: Secure access to monitoring service credentials
|
|
377
|
-
- **Incident response**: Quick access to emergency credentials
|
|
378
|
-
|
|
379
|
-
task: true
|
|
380
|
-
---
|
|
381
|
-
|
|
382
|
-
**Vaultwarden provides enterprise-grade password and secrets management with comprehensive API access, making it ideal for secure DevOps workflows and AI-assisted credential management.** 🚀
|