aidevops 2.52.1 → 2.53.2
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,706 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# shellcheck disable=SC2034,SC2155
|
|
3
|
-
|
|
4
|
-
# Onboarding Helper - Interactive setup and service status for aidevops
|
|
5
|
-
#
|
|
6
|
-
# This script provides:
|
|
7
|
-
# 1. Service status detection (what's configured vs needs setup)
|
|
8
|
-
# 2. Personalized recommendations based on user's work type
|
|
9
|
-
# 3. Setup guidance with links and commands
|
|
10
|
-
#
|
|
11
|
-
# Usage: ./onboarding-helper.sh [command]
|
|
12
|
-
# Commands:
|
|
13
|
-
# status - Show all services and their configuration status
|
|
14
|
-
# recommend - Get personalized service recommendations
|
|
15
|
-
# guide - Show setup guide for a specific service
|
|
16
|
-
# json - Output status as JSON
|
|
17
|
-
# help - Show this help message
|
|
18
|
-
#
|
|
19
|
-
# Author: AI DevOps Framework
|
|
20
|
-
# Version: 1.0.0
|
|
21
|
-
|
|
22
|
-
set -euo pipefail
|
|
23
|
-
|
|
24
|
-
# Colors for output
|
|
25
|
-
readonly GREEN='\033[0;32m'
|
|
26
|
-
readonly BLUE='\033[0;34m'
|
|
27
|
-
readonly YELLOW='\033[1;33m'
|
|
28
|
-
readonly RED='\033[0;31m'
|
|
29
|
-
readonly PURPLE='\033[0;35m'
|
|
30
|
-
readonly DIM='\033[2m'
|
|
31
|
-
readonly NC='\033[0m'
|
|
32
|
-
|
|
33
|
-
# Credential file locations
|
|
34
|
-
readonly MCP_ENV_FILE="$HOME/.config/aidevops/mcp-env.sh"
|
|
35
|
-
readonly CODERABBIT_KEY_FILE="$HOME/.config/coderabbit/api_key"
|
|
36
|
-
|
|
37
|
-
# Source mcp-env.sh if it exists
|
|
38
|
-
if [[ -f "$MCP_ENV_FILE" ]]; then
|
|
39
|
-
# shellcheck source=/dev/null
|
|
40
|
-
source "$MCP_ENV_FILE"
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
# Check if an environment variable is set and not a placeholder
|
|
44
|
-
is_configured() {
|
|
45
|
-
local var_name="$1"
|
|
46
|
-
local value="${!var_name:-}"
|
|
47
|
-
|
|
48
|
-
if [[ -z "$value" ]]; then
|
|
49
|
-
return 1
|
|
50
|
-
fi
|
|
51
|
-
|
|
52
|
-
# Check for placeholder patterns
|
|
53
|
-
local lower_value
|
|
54
|
-
lower_value=$(echo "$value" | tr '[:upper:]' '[:lower:]')
|
|
55
|
-
|
|
56
|
-
case "$lower_value" in
|
|
57
|
-
*your*|*replace*|*changeme*|*example*|*placeholder*|xxx*|none|null)
|
|
58
|
-
return 1 ;;
|
|
59
|
-
*)
|
|
60
|
-
return 0 ;;
|
|
61
|
-
esac
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
# Check if a CLI tool is authenticated
|
|
65
|
-
is_cli_authenticated() {
|
|
66
|
-
local cli="$1"
|
|
67
|
-
|
|
68
|
-
case "$cli" in
|
|
69
|
-
gh)
|
|
70
|
-
gh auth status &>/dev/null && return 0 || return 1
|
|
71
|
-
;;
|
|
72
|
-
glab)
|
|
73
|
-
glab auth status &>/dev/null && return 0 || return 1
|
|
74
|
-
;;
|
|
75
|
-
tea)
|
|
76
|
-
tea login list 2>/dev/null | grep -q "Name:" && return 0 || return 1
|
|
77
|
-
;;
|
|
78
|
-
auggie)
|
|
79
|
-
auggie token print &>/dev/null && return 0 || return 1
|
|
80
|
-
;;
|
|
81
|
-
*)
|
|
82
|
-
return 1
|
|
83
|
-
;;
|
|
84
|
-
esac
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
# Check if a tool is installed
|
|
88
|
-
is_installed() {
|
|
89
|
-
local tool="$1"
|
|
90
|
-
command -v "$tool" &>/dev/null
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
# Print service status
|
|
94
|
-
print_service() {
|
|
95
|
-
local name="$1"
|
|
96
|
-
local status="$2"
|
|
97
|
-
local details="${3:-}"
|
|
98
|
-
|
|
99
|
-
local icon status_color
|
|
100
|
-
case "$status" in
|
|
101
|
-
"ready")
|
|
102
|
-
icon="✓"
|
|
103
|
-
status_color="${GREEN}"
|
|
104
|
-
;;
|
|
105
|
-
"partial")
|
|
106
|
-
icon="◐"
|
|
107
|
-
status_color="${YELLOW}"
|
|
108
|
-
;;
|
|
109
|
-
"needs-setup")
|
|
110
|
-
icon="○"
|
|
111
|
-
status_color="${RED}"
|
|
112
|
-
;;
|
|
113
|
-
"optional")
|
|
114
|
-
icon="·"
|
|
115
|
-
status_color="${DIM}"
|
|
116
|
-
;;
|
|
117
|
-
*)
|
|
118
|
-
icon="?"
|
|
119
|
-
status_color="${NC}"
|
|
120
|
-
;;
|
|
121
|
-
esac
|
|
122
|
-
|
|
123
|
-
if [[ -n "$details" ]]; then
|
|
124
|
-
echo -e " ${status_color}${icon}${NC} ${name} ${DIM}(${details})${NC}"
|
|
125
|
-
else
|
|
126
|
-
echo -e " ${status_color}${icon}${NC} ${name}"
|
|
127
|
-
fi
|
|
128
|
-
return 0
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
# Check AI providers
|
|
132
|
-
check_ai_providers() {
|
|
133
|
-
echo -e "${BLUE}AI Providers${NC}"
|
|
134
|
-
|
|
135
|
-
if is_configured "OPENAI_API_KEY"; then
|
|
136
|
-
print_service "OpenAI" "ready" "API key configured"
|
|
137
|
-
else
|
|
138
|
-
print_service "OpenAI" "needs-setup" "OPENAI_API_KEY not set"
|
|
139
|
-
fi
|
|
140
|
-
|
|
141
|
-
if is_configured "ANTHROPIC_API_KEY"; then
|
|
142
|
-
print_service "Anthropic" "ready" "API key configured"
|
|
143
|
-
else
|
|
144
|
-
print_service "Anthropic" "needs-setup" "ANTHROPIC_API_KEY not set"
|
|
145
|
-
fi
|
|
146
|
-
|
|
147
|
-
echo ""
|
|
148
|
-
return 0
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
# Check Git platforms
|
|
152
|
-
check_git_platforms() {
|
|
153
|
-
echo -e "${BLUE}Git Platforms${NC}"
|
|
154
|
-
|
|
155
|
-
if is_installed "gh"; then
|
|
156
|
-
if is_cli_authenticated "gh"; then
|
|
157
|
-
print_service "GitHub CLI" "ready" "authenticated"
|
|
158
|
-
else
|
|
159
|
-
print_service "GitHub CLI" "partial" "installed, needs auth"
|
|
160
|
-
fi
|
|
161
|
-
else
|
|
162
|
-
print_service "GitHub CLI" "needs-setup" "not installed"
|
|
163
|
-
fi
|
|
164
|
-
|
|
165
|
-
if is_installed "glab"; then
|
|
166
|
-
if is_cli_authenticated "glab"; then
|
|
167
|
-
print_service "GitLab CLI" "ready" "authenticated"
|
|
168
|
-
else
|
|
169
|
-
print_service "GitLab CLI" "partial" "installed, needs auth"
|
|
170
|
-
fi
|
|
171
|
-
else
|
|
172
|
-
print_service "GitLab CLI" "optional" "not installed"
|
|
173
|
-
fi
|
|
174
|
-
|
|
175
|
-
if is_installed "tea"; then
|
|
176
|
-
if is_cli_authenticated "tea"; then
|
|
177
|
-
print_service "Gitea CLI" "ready" "authenticated"
|
|
178
|
-
else
|
|
179
|
-
print_service "Gitea CLI" "partial" "installed, needs auth"
|
|
180
|
-
fi
|
|
181
|
-
else
|
|
182
|
-
print_service "Gitea CLI" "optional" "not installed"
|
|
183
|
-
fi
|
|
184
|
-
|
|
185
|
-
echo ""
|
|
186
|
-
return 0
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
# Check hosting providers
|
|
190
|
-
check_hosting() {
|
|
191
|
-
echo -e "${BLUE}Hosting Providers${NC}"
|
|
192
|
-
|
|
193
|
-
# Hetzner - check for any HCLOUD_TOKEN_* variable
|
|
194
|
-
local hetzner_configured=false
|
|
195
|
-
for var in $(env | grep -o '^HCLOUD_TOKEN_[A-Z_]*' 2>/dev/null || true); do
|
|
196
|
-
if is_configured "$var"; then
|
|
197
|
-
hetzner_configured=true
|
|
198
|
-
break
|
|
199
|
-
fi
|
|
200
|
-
done
|
|
201
|
-
if [[ "$hetzner_configured" == "true" ]]; then
|
|
202
|
-
print_service "Hetzner Cloud" "ready" "API token configured"
|
|
203
|
-
else
|
|
204
|
-
print_service "Hetzner Cloud" "needs-setup" "HCLOUD_TOKEN_* not set"
|
|
205
|
-
fi
|
|
206
|
-
|
|
207
|
-
if is_configured "CLOUDFLARE_API_TOKEN"; then
|
|
208
|
-
print_service "Cloudflare" "ready" "API token configured"
|
|
209
|
-
else
|
|
210
|
-
print_service "Cloudflare" "needs-setup" "CLOUDFLARE_API_TOKEN not set"
|
|
211
|
-
fi
|
|
212
|
-
|
|
213
|
-
if is_configured "COOLIFY_API_TOKEN"; then
|
|
214
|
-
print_service "Coolify" "ready" "API token configured"
|
|
215
|
-
else
|
|
216
|
-
print_service "Coolify" "optional" "COOLIFY_API_TOKEN not set"
|
|
217
|
-
fi
|
|
218
|
-
|
|
219
|
-
if is_configured "VERCEL_TOKEN"; then
|
|
220
|
-
print_service "Vercel" "ready" "token configured"
|
|
221
|
-
else
|
|
222
|
-
print_service "Vercel" "optional" "VERCEL_TOKEN not set"
|
|
223
|
-
fi
|
|
224
|
-
|
|
225
|
-
echo ""
|
|
226
|
-
return 0
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
# Check code quality services
|
|
230
|
-
check_code_quality() {
|
|
231
|
-
echo -e "${BLUE}Code Quality${NC}"
|
|
232
|
-
|
|
233
|
-
if is_configured "SONAR_TOKEN"; then
|
|
234
|
-
print_service "SonarCloud" "ready" "token configured"
|
|
235
|
-
else
|
|
236
|
-
print_service "SonarCloud" "needs-setup" "SONAR_TOKEN not set"
|
|
237
|
-
fi
|
|
238
|
-
|
|
239
|
-
if is_configured "CODACY_PROJECT_TOKEN"; then
|
|
240
|
-
print_service "Codacy" "ready" "token configured"
|
|
241
|
-
else
|
|
242
|
-
print_service "Codacy" "optional" "CODACY_PROJECT_TOKEN not set"
|
|
243
|
-
fi
|
|
244
|
-
|
|
245
|
-
if [[ -f "$CODERABBIT_KEY_FILE" ]]; then
|
|
246
|
-
print_service "CodeRabbit" "ready" "API key file exists"
|
|
247
|
-
elif is_configured "CODERABBIT_API_KEY"; then
|
|
248
|
-
print_service "CodeRabbit" "ready" "API key configured"
|
|
249
|
-
else
|
|
250
|
-
print_service "CodeRabbit" "optional" "not configured"
|
|
251
|
-
fi
|
|
252
|
-
|
|
253
|
-
if is_configured "SNYK_TOKEN"; then
|
|
254
|
-
print_service "Snyk" "ready" "token configured"
|
|
255
|
-
else
|
|
256
|
-
print_service "Snyk" "optional" "SNYK_TOKEN not set"
|
|
257
|
-
fi
|
|
258
|
-
|
|
259
|
-
echo ""
|
|
260
|
-
return 0
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
# Check SEO services
|
|
264
|
-
check_seo() {
|
|
265
|
-
echo -e "${BLUE}SEO & Research${NC}"
|
|
266
|
-
|
|
267
|
-
if is_configured "DATAFORSEO_USERNAME" && is_configured "DATAFORSEO_PASSWORD"; then
|
|
268
|
-
print_service "DataForSEO" "ready" "credentials configured"
|
|
269
|
-
else
|
|
270
|
-
print_service "DataForSEO" "needs-setup" "credentials not set"
|
|
271
|
-
fi
|
|
272
|
-
|
|
273
|
-
if is_configured "SERPER_API_KEY"; then
|
|
274
|
-
print_service "Serper" "ready" "API key configured"
|
|
275
|
-
else
|
|
276
|
-
print_service "Serper" "optional" "SERPER_API_KEY not set"
|
|
277
|
-
fi
|
|
278
|
-
|
|
279
|
-
if is_configured "OUTSCRAPER_API_KEY"; then
|
|
280
|
-
print_service "Outscraper" "ready" "API key configured"
|
|
281
|
-
else
|
|
282
|
-
print_service "Outscraper" "optional" "OUTSCRAPER_API_KEY not set"
|
|
283
|
-
fi
|
|
284
|
-
|
|
285
|
-
echo ""
|
|
286
|
-
return 0
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
# Check context tools
|
|
290
|
-
check_context_tools() {
|
|
291
|
-
echo -e "${BLUE}Context & Semantic Search${NC}"
|
|
292
|
-
|
|
293
|
-
if is_installed "auggie"; then
|
|
294
|
-
if is_cli_authenticated "auggie"; then
|
|
295
|
-
print_service "Augment Context Engine" "ready" "authenticated"
|
|
296
|
-
else
|
|
297
|
-
print_service "Augment Context Engine" "partial" "installed, needs login"
|
|
298
|
-
fi
|
|
299
|
-
else
|
|
300
|
-
print_service "Augment Context Engine" "needs-setup" "auggie not installed"
|
|
301
|
-
fi
|
|
302
|
-
|
|
303
|
-
if is_installed "osgrep"; then
|
|
304
|
-
print_service "osgrep" "ready" "installed (local)"
|
|
305
|
-
else
|
|
306
|
-
print_service "osgrep" "optional" "not installed"
|
|
307
|
-
fi
|
|
308
|
-
|
|
309
|
-
# Context7 is MCP-only, no auth needed
|
|
310
|
-
print_service "Context7" "ready" "MCP (no auth needed)"
|
|
311
|
-
|
|
312
|
-
echo ""
|
|
313
|
-
return 0
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
# Check browser automation
|
|
317
|
-
check_browser() {
|
|
318
|
-
echo -e "${BLUE}Browser Automation${NC}"
|
|
319
|
-
|
|
320
|
-
if is_installed "npx" && npx playwright --version &>/dev/null 2>&1; then
|
|
321
|
-
print_service "Playwright" "ready" "installed"
|
|
322
|
-
else
|
|
323
|
-
print_service "Playwright" "optional" "not installed"
|
|
324
|
-
fi
|
|
325
|
-
|
|
326
|
-
# Stagehand needs OpenAI or Anthropic key
|
|
327
|
-
if is_configured "OPENAI_API_KEY" || is_configured "ANTHROPIC_API_KEY"; then
|
|
328
|
-
print_service "Stagehand" "ready" "AI key available"
|
|
329
|
-
else
|
|
330
|
-
print_service "Stagehand" "needs-setup" "needs AI API key"
|
|
331
|
-
fi
|
|
332
|
-
|
|
333
|
-
print_service "Chrome DevTools" "ready" "MCP (no auth needed)"
|
|
334
|
-
print_service "Playwriter" "optional" "browser extension"
|
|
335
|
-
|
|
336
|
-
echo ""
|
|
337
|
-
return 0
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
# Check AWS services
|
|
341
|
-
check_aws() {
|
|
342
|
-
echo -e "${BLUE}AWS Services${NC}"
|
|
343
|
-
|
|
344
|
-
if is_configured "AWS_ACCESS_KEY_ID" && is_configured "AWS_SECRET_ACCESS_KEY"; then
|
|
345
|
-
print_service "AWS" "ready" "credentials configured"
|
|
346
|
-
|
|
347
|
-
if is_configured "AWS_DEFAULT_REGION"; then
|
|
348
|
-
print_service " Region" "ready" "${AWS_DEFAULT_REGION:-}"
|
|
349
|
-
else
|
|
350
|
-
print_service " Region" "partial" "AWS_DEFAULT_REGION not set"
|
|
351
|
-
fi
|
|
352
|
-
else
|
|
353
|
-
print_service "AWS" "optional" "credentials not set"
|
|
354
|
-
fi
|
|
355
|
-
|
|
356
|
-
echo ""
|
|
357
|
-
return 0
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
# Check WordPress tools
|
|
361
|
-
check_wordpress() {
|
|
362
|
-
echo -e "${BLUE}WordPress${NC}"
|
|
363
|
-
|
|
364
|
-
if is_installed "wp"; then
|
|
365
|
-
print_service "WP-CLI" "ready" "installed"
|
|
366
|
-
else
|
|
367
|
-
print_service "WP-CLI" "optional" "not installed"
|
|
368
|
-
fi
|
|
369
|
-
|
|
370
|
-
# Check for LocalWP
|
|
371
|
-
if [[ -d "/Applications/Local.app" ]] || [[ -d "$HOME/Applications/Local.app" ]]; then
|
|
372
|
-
print_service "LocalWP" "ready" "installed"
|
|
373
|
-
else
|
|
374
|
-
print_service "LocalWP" "optional" "not installed"
|
|
375
|
-
fi
|
|
376
|
-
|
|
377
|
-
# MainWP config check
|
|
378
|
-
if [[ -f "$HOME/Git/aidevops/configs/mainwp-config.json" ]]; then
|
|
379
|
-
print_service "MainWP" "ready" "config exists"
|
|
380
|
-
else
|
|
381
|
-
print_service "MainWP" "optional" "not configured"
|
|
382
|
-
fi
|
|
383
|
-
|
|
384
|
-
echo ""
|
|
385
|
-
return 0
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
# Show full status
|
|
389
|
-
show_status() {
|
|
390
|
-
echo ""
|
|
391
|
-
echo -e "${BLUE}aidevops Service Status${NC}"
|
|
392
|
-
echo "========================"
|
|
393
|
-
echo ""
|
|
394
|
-
echo -e "${DIM}Legend: ${GREEN}✓${NC}${DIM} ready ${YELLOW}◐${NC}${DIM} partial ${RED}○${NC}${DIM} needs setup ${DIM}·${NC}${DIM} optional${NC}"
|
|
395
|
-
echo ""
|
|
396
|
-
|
|
397
|
-
check_ai_providers
|
|
398
|
-
check_git_platforms
|
|
399
|
-
check_hosting
|
|
400
|
-
check_code_quality
|
|
401
|
-
check_seo
|
|
402
|
-
check_context_tools
|
|
403
|
-
check_browser
|
|
404
|
-
check_aws
|
|
405
|
-
check_wordpress
|
|
406
|
-
|
|
407
|
-
echo -e "${DIM}---${NC}"
|
|
408
|
-
echo -e "Run ${BLUE}~/.aidevops/agents/scripts/list-keys-helper.sh${NC} for detailed key status"
|
|
409
|
-
echo -e "Run ${BLUE}/onboarding${NC} in OpenCode for interactive setup guidance"
|
|
410
|
-
echo ""
|
|
411
|
-
return 0
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
# Show recommendations based on work type
|
|
415
|
-
show_recommendations() {
|
|
416
|
-
local work_type="${1:-}"
|
|
417
|
-
|
|
418
|
-
echo ""
|
|
419
|
-
echo -e "${PURPLE}Recommended Services${NC}"
|
|
420
|
-
echo "===================="
|
|
421
|
-
echo ""
|
|
422
|
-
|
|
423
|
-
case "$work_type" in
|
|
424
|
-
web|webdev|"web development"|1)
|
|
425
|
-
echo -e "${BLUE}For Web Development:${NC}"
|
|
426
|
-
echo ""
|
|
427
|
-
echo "Essential:"
|
|
428
|
-
echo " • GitHub CLI (gh) - Repository management"
|
|
429
|
-
echo " • OpenAI API - AI-powered coding assistance"
|
|
430
|
-
echo " • Augment Context Engine - Semantic codebase search"
|
|
431
|
-
echo " • Playwright - Browser testing"
|
|
432
|
-
echo ""
|
|
433
|
-
echo "Recommended:"
|
|
434
|
-
echo " • Vercel or Coolify - Deployment"
|
|
435
|
-
echo " • Cloudflare - DNS and CDN"
|
|
436
|
-
echo " • SonarCloud - Code quality"
|
|
437
|
-
;;
|
|
438
|
-
devops|infrastructure|2)
|
|
439
|
-
echo -e "${BLUE}For DevOps & Infrastructure:${NC}"
|
|
440
|
-
echo ""
|
|
441
|
-
echo "Essential:"
|
|
442
|
-
echo " • GitHub/GitLab CLI - Repository management"
|
|
443
|
-
echo " • Hetzner Cloud - VPS servers"
|
|
444
|
-
echo " • Cloudflare - DNS management"
|
|
445
|
-
echo " • Coolify - Self-hosted PaaS"
|
|
446
|
-
echo ""
|
|
447
|
-
echo "Recommended:"
|
|
448
|
-
echo " • SonarCloud + Codacy - Code quality"
|
|
449
|
-
echo " • Snyk - Security scanning"
|
|
450
|
-
echo " • AWS - Cloud services"
|
|
451
|
-
;;
|
|
452
|
-
seo|marketing|"content marketing"|3)
|
|
453
|
-
echo -e "${BLUE}For SEO & Content Marketing:${NC}"
|
|
454
|
-
echo ""
|
|
455
|
-
echo "Essential:"
|
|
456
|
-
echo " • DataForSEO - Keyword research, SERP analysis"
|
|
457
|
-
echo " • Serper - Google Search API"
|
|
458
|
-
echo " • Google Search Console - Search performance"
|
|
459
|
-
echo ""
|
|
460
|
-
echo "Recommended:"
|
|
461
|
-
echo " • Outscraper - Business data extraction"
|
|
462
|
-
echo " • Stagehand - Browser automation for research"
|
|
463
|
-
;;
|
|
464
|
-
wordpress|clients|"multiple sites"|4)
|
|
465
|
-
echo -e "${BLUE}For WordPress & Client Management:${NC}"
|
|
466
|
-
echo ""
|
|
467
|
-
echo "Essential:"
|
|
468
|
-
echo " • LocalWP - Local WordPress development"
|
|
469
|
-
echo " • MainWP - Fleet management"
|
|
470
|
-
echo " • GitHub CLI - Version control"
|
|
471
|
-
echo ""
|
|
472
|
-
echo "Recommended:"
|
|
473
|
-
echo " • Hostinger or Hetzner - Hosting"
|
|
474
|
-
echo " • Cloudflare - DNS and security"
|
|
475
|
-
echo " • DataForSEO - SEO analysis"
|
|
476
|
-
;;
|
|
477
|
-
*)
|
|
478
|
-
echo -e "${BLUE}General Recommendations:${NC}"
|
|
479
|
-
echo ""
|
|
480
|
-
echo "Start with these core services:"
|
|
481
|
-
echo " 1. GitHub CLI (gh auth login)"
|
|
482
|
-
echo " 2. OpenAI or Anthropic API key"
|
|
483
|
-
echo " 3. Augment Context Engine (semantic search)"
|
|
484
|
-
echo ""
|
|
485
|
-
echo "Then add based on your needs:"
|
|
486
|
-
echo " • Hosting: Hetzner, Cloudflare, Coolify, Vercel"
|
|
487
|
-
echo " • Quality: SonarCloud, Codacy, CodeRabbit"
|
|
488
|
-
echo " • SEO: DataForSEO, Serper"
|
|
489
|
-
echo " • WordPress: LocalWP, MainWP"
|
|
490
|
-
;;
|
|
491
|
-
esac
|
|
492
|
-
|
|
493
|
-
echo ""
|
|
494
|
-
return 0
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
# Show setup guide for a specific service
|
|
498
|
-
show_guide() {
|
|
499
|
-
local service="${1:-}"
|
|
500
|
-
|
|
501
|
-
echo ""
|
|
502
|
-
|
|
503
|
-
case "$service" in
|
|
504
|
-
github|gh)
|
|
505
|
-
echo -e "${BLUE}GitHub CLI Setup${NC}"
|
|
506
|
-
echo ""
|
|
507
|
-
echo "1. Install: brew install gh"
|
|
508
|
-
echo "2. Authenticate: gh auth login"
|
|
509
|
-
echo "3. Verify: gh auth status"
|
|
510
|
-
;;
|
|
511
|
-
openai)
|
|
512
|
-
echo -e "${BLUE}OpenAI API Setup${NC}"
|
|
513
|
-
echo ""
|
|
514
|
-
echo "1. Get API key: https://platform.openai.com/api-keys"
|
|
515
|
-
echo "2. Store key:"
|
|
516
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set OPENAI_API_KEY \"sk-...\""
|
|
517
|
-
echo "3. Restart terminal or: source ~/.config/aidevops/mcp-env.sh"
|
|
518
|
-
;;
|
|
519
|
-
anthropic)
|
|
520
|
-
echo -e "${BLUE}Anthropic API Setup${NC}"
|
|
521
|
-
echo ""
|
|
522
|
-
echo "1. Get API key: https://console.anthropic.com/settings/keys"
|
|
523
|
-
echo "2. Store key:"
|
|
524
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set ANTHROPIC_API_KEY \"sk-ant-...\""
|
|
525
|
-
echo "3. Restart terminal or: source ~/.config/aidevops/mcp-env.sh"
|
|
526
|
-
;;
|
|
527
|
-
hetzner)
|
|
528
|
-
echo -e "${BLUE}Hetzner Cloud Setup${NC}"
|
|
529
|
-
echo ""
|
|
530
|
-
echo "1. Create account: https://www.hetzner.com/cloud"
|
|
531
|
-
echo "2. Go to: Security -> API Tokens"
|
|
532
|
-
echo "3. Generate token with Read & Write permissions"
|
|
533
|
-
echo "4. Store token:"
|
|
534
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set HCLOUD_TOKEN_MAIN \"your-token\""
|
|
535
|
-
;;
|
|
536
|
-
cloudflare)
|
|
537
|
-
echo -e "${BLUE}Cloudflare Setup${NC}"
|
|
538
|
-
echo ""
|
|
539
|
-
echo "1. Create account: https://cloudflare.com"
|
|
540
|
-
echo "2. Go to: My Profile -> API Tokens"
|
|
541
|
-
echo "3. Create token with Zone:Read, DNS:Edit permissions"
|
|
542
|
-
echo "4. Store token:"
|
|
543
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set CLOUDFLARE_API_TOKEN \"your-token\""
|
|
544
|
-
;;
|
|
545
|
-
dataforseo)
|
|
546
|
-
echo -e "${BLUE}DataForSEO Setup${NC}"
|
|
547
|
-
echo ""
|
|
548
|
-
echo "1. Create account: https://app.dataforseo.com"
|
|
549
|
-
echo "2. Go to: API Access"
|
|
550
|
-
echo "3. Store credentials:"
|
|
551
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set DATAFORSEO_USERNAME \"your-email\""
|
|
552
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set DATAFORSEO_PASSWORD \"your-password\""
|
|
553
|
-
;;
|
|
554
|
-
augment|auggie)
|
|
555
|
-
echo -e "${BLUE}Augment Context Engine Setup${NC}"
|
|
556
|
-
echo ""
|
|
557
|
-
echo "1. Install: npm install -g @augmentcode/auggie@prerelease"
|
|
558
|
-
echo "2. Login: auggie login (opens browser)"
|
|
559
|
-
echo "3. Verify: auggie token print"
|
|
560
|
-
;;
|
|
561
|
-
sonarcloud|sonar)
|
|
562
|
-
echo -e "${BLUE}SonarCloud Setup${NC}"
|
|
563
|
-
echo ""
|
|
564
|
-
echo "1. Create account: https://sonarcloud.io"
|
|
565
|
-
echo "2. Go to: My Account -> Security"
|
|
566
|
-
echo "3. Generate token"
|
|
567
|
-
echo "4. Store token:"
|
|
568
|
-
echo " ~/.aidevops/agents/scripts/setup-local-api-keys.sh set SONAR_TOKEN \"your-token\""
|
|
569
|
-
;;
|
|
570
|
-
*)
|
|
571
|
-
echo "Available guides: github, openai, anthropic, hetzner, cloudflare,"
|
|
572
|
-
echo " dataforseo, augment, sonarcloud"
|
|
573
|
-
echo ""
|
|
574
|
-
echo "Usage: $0 guide <service>"
|
|
575
|
-
;;
|
|
576
|
-
esac
|
|
577
|
-
|
|
578
|
-
echo ""
|
|
579
|
-
return 0
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
# Show help
|
|
583
|
-
show_help() {
|
|
584
|
-
echo "Onboarding Helper - Interactive setup and service status for aidevops"
|
|
585
|
-
echo ""
|
|
586
|
-
echo "Usage: $0 [command] [args]"
|
|
587
|
-
echo ""
|
|
588
|
-
echo "Commands:"
|
|
589
|
-
echo " status - Show all services and their configuration status (default)"
|
|
590
|
-
echo " recommend [type] - Get personalized recommendations"
|
|
591
|
-
echo " Types: web, devops, seo, wordpress, or leave blank"
|
|
592
|
-
echo " guide <service> - Show setup guide for a specific service"
|
|
593
|
-
echo " Services: github, openai, anthropic, hetzner, cloudflare,"
|
|
594
|
-
echo " dataforseo, augment, sonarcloud"
|
|
595
|
-
echo " json - Output status as JSON for programmatic use"
|
|
596
|
-
echo " help - Show this help message"
|
|
597
|
-
echo ""
|
|
598
|
-
echo "Examples:"
|
|
599
|
-
echo " $0 status"
|
|
600
|
-
echo " $0 recommend devops"
|
|
601
|
-
echo " $0 guide openai"
|
|
602
|
-
echo ""
|
|
603
|
-
echo "Use /onboarding in OpenCode for the full interactive experience."
|
|
604
|
-
return 0
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
# Output status as JSON
|
|
608
|
-
output_json() {
|
|
609
|
-
local json="{"
|
|
610
|
-
|
|
611
|
-
# AI Providers
|
|
612
|
-
json+='"ai_providers":{'
|
|
613
|
-
json+='"openai":{"configured":'
|
|
614
|
-
is_configured "OPENAI_API_KEY" && json+='true' || json+='false'
|
|
615
|
-
json+='},"anthropic":{"configured":'
|
|
616
|
-
is_configured "ANTHROPIC_API_KEY" && json+='true' || json+='false'
|
|
617
|
-
json+='}},'
|
|
618
|
-
|
|
619
|
-
# Git Platforms
|
|
620
|
-
json+='"git_platforms":{'
|
|
621
|
-
json+='"github":{"installed":'
|
|
622
|
-
is_installed "gh" && json+='true' || json+='false'
|
|
623
|
-
json+=',"authenticated":'
|
|
624
|
-
is_cli_authenticated "gh" && json+='true' || json+='false'
|
|
625
|
-
json+='},"gitlab":{"installed":'
|
|
626
|
-
is_installed "glab" && json+='true' || json+='false'
|
|
627
|
-
json+=',"authenticated":'
|
|
628
|
-
is_cli_authenticated "glab" && json+='true' || json+='false'
|
|
629
|
-
json+='}},'
|
|
630
|
-
|
|
631
|
-
# Hosting
|
|
632
|
-
json+='"hosting":{'
|
|
633
|
-
json+='"cloudflare":{"configured":'
|
|
634
|
-
is_configured "CLOUDFLARE_API_TOKEN" && json+='true' || json+='false'
|
|
635
|
-
json+='},"coolify":{"configured":'
|
|
636
|
-
is_configured "COOLIFY_API_TOKEN" && json+='true' || json+='false'
|
|
637
|
-
json+='},"vercel":{"configured":'
|
|
638
|
-
is_configured "VERCEL_TOKEN" && json+='true' || json+='false'
|
|
639
|
-
json+='}},'
|
|
640
|
-
|
|
641
|
-
# Code Quality
|
|
642
|
-
json+='"code_quality":{'
|
|
643
|
-
json+='"sonarcloud":{"configured":'
|
|
644
|
-
is_configured "SONAR_TOKEN" && json+='true' || json+='false'
|
|
645
|
-
json+='},"codacy":{"configured":'
|
|
646
|
-
is_configured "CODACY_PROJECT_TOKEN" && json+='true' || json+='false'
|
|
647
|
-
json+='},"coderabbit":{"configured":'
|
|
648
|
-
[[ -f "$CODERABBIT_KEY_FILE" ]] || is_configured "CODERABBIT_API_KEY" && json+='true' || json+='false'
|
|
649
|
-
json+='}},'
|
|
650
|
-
|
|
651
|
-
# SEO
|
|
652
|
-
json+='"seo":{'
|
|
653
|
-
json+='"dataforseo":{"configured":'
|
|
654
|
-
is_configured "DATAFORSEO_USERNAME" && is_configured "DATAFORSEO_PASSWORD" && json+='true' || json+='false'
|
|
655
|
-
json+='},"serper":{"configured":'
|
|
656
|
-
is_configured "SERPER_API_KEY" && json+='true' || json+='false'
|
|
657
|
-
json+='}},'
|
|
658
|
-
|
|
659
|
-
# Context Tools
|
|
660
|
-
json+='"context":{'
|
|
661
|
-
json+='"augment":{"installed":'
|
|
662
|
-
is_installed "auggie" && json+='true' || json+='false'
|
|
663
|
-
json+=',"authenticated":'
|
|
664
|
-
is_cli_authenticated "auggie" && json+='true' || json+='false'
|
|
665
|
-
json+='},"osgrep":{"installed":'
|
|
666
|
-
is_installed "osgrep" && json+='true' || json+='false'
|
|
667
|
-
json+='}}'
|
|
668
|
-
|
|
669
|
-
json+='}'
|
|
670
|
-
|
|
671
|
-
echo "$json" | jq .
|
|
672
|
-
return 0
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
# Main
|
|
676
|
-
main() {
|
|
677
|
-
local command="${1:-status}"
|
|
678
|
-
local arg="${2:-}"
|
|
679
|
-
|
|
680
|
-
case "$command" in
|
|
681
|
-
status)
|
|
682
|
-
show_status
|
|
683
|
-
;;
|
|
684
|
-
recommend|recommendations)
|
|
685
|
-
show_recommendations "$arg"
|
|
686
|
-
;;
|
|
687
|
-
guide|setup)
|
|
688
|
-
show_guide "$arg"
|
|
689
|
-
;;
|
|
690
|
-
json)
|
|
691
|
-
output_json
|
|
692
|
-
;;
|
|
693
|
-
help|--help|-h)
|
|
694
|
-
show_help
|
|
695
|
-
;;
|
|
696
|
-
*)
|
|
697
|
-
echo "Unknown command: $command"
|
|
698
|
-
echo "Use '$0 help' for usage information"
|
|
699
|
-
return 1
|
|
700
|
-
;;
|
|
701
|
-
esac
|
|
702
|
-
|
|
703
|
-
return 0
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
main "$@"
|