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,469 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
|
|
3
|
-
|
|
4
|
-
# TOON Format Helper for AI DevOps Framework
|
|
5
|
-
# Token-Oriented Object Notation (TOON) - Compact, human-readable, schema-aware JSON for LLM prompts
|
|
6
|
-
#
|
|
7
|
-
# Author: AI DevOps Framework
|
|
8
|
-
# Version: 1.0.0
|
|
9
|
-
|
|
10
|
-
# Colors for output
|
|
11
|
-
readonly GREEN='\033[0;32m'
|
|
12
|
-
readonly BLUE='\033[0;34m'
|
|
13
|
-
readonly YELLOW='\033[1;33m'
|
|
14
|
-
readonly RED='\033[0;31m'
|
|
15
|
-
readonly NC='\033[0m' # No Color
|
|
16
|
-
|
|
17
|
-
print_info() { local msg="$1"; echo -e "${BLUE}[INFO]${NC} $msg"; return 0; }
|
|
18
|
-
print_success() { local msg="$1"; echo -e "${GREEN}[SUCCESS]${NC} $msg"; return 0; }
|
|
19
|
-
print_warning() { local msg="$1"; echo -e "${YELLOW}[WARNING]${NC} $msg"; return 0; }
|
|
20
|
-
print_error() { local msg="$1"; echo -e "${RED}[ERROR]${NC} $msg" >&2; return 0; }
|
|
21
|
-
|
|
22
|
-
# Determine package runner (bun x or npx)
|
|
23
|
-
get_pkg_runner() {
|
|
24
|
-
if command -v bun &> /dev/null; then
|
|
25
|
-
echo "bun x"
|
|
26
|
-
elif command -v npx &> /dev/null; then
|
|
27
|
-
echo "npx"
|
|
28
|
-
else
|
|
29
|
-
echo ""
|
|
30
|
-
fi
|
|
31
|
-
return 0
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
PKG_RUNNER=""
|
|
35
|
-
|
|
36
|
-
# Check if TOON CLI is available
|
|
37
|
-
check_toon() {
|
|
38
|
-
PKG_RUNNER=$(get_pkg_runner)
|
|
39
|
-
|
|
40
|
-
if [[ -z "$PKG_RUNNER" ]]; then
|
|
41
|
-
print_error "bun or npx is required. Install Bun (recommended):"
|
|
42
|
-
echo ""
|
|
43
|
-
echo "Bun: curl -fsSL https://bun.sh/install | bash"
|
|
44
|
-
echo ""
|
|
45
|
-
echo "Or Node.js:"
|
|
46
|
-
echo "macOS: brew install node"
|
|
47
|
-
echo "Ubuntu: sudo apt-get install nodejs npm"
|
|
48
|
-
return 1
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
# Test TOON CLI availability
|
|
52
|
-
if ! $PKG_RUNNER @toon-format/cli --help &> /dev/null; then
|
|
53
|
-
print_warning "TOON CLI not found, will install on first use"
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
return 0
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# Convert JSON to TOON format
|
|
60
|
-
json_to_toon() {
|
|
61
|
-
local input_file="$command"
|
|
62
|
-
local output_file="$account_name"
|
|
63
|
-
local delimiter="${3:-,}"
|
|
64
|
-
local show_stats="${4:-false}"
|
|
65
|
-
|
|
66
|
-
if [[ -z "$input_file" ]]; then
|
|
67
|
-
print_error "Input file is required"
|
|
68
|
-
return 1
|
|
69
|
-
fi
|
|
70
|
-
|
|
71
|
-
if [[ ! -f "$input_file" ]]; then
|
|
72
|
-
print_error "Input file not found: $input_file"
|
|
73
|
-
return 1
|
|
74
|
-
fi
|
|
75
|
-
|
|
76
|
-
local cmd_args=()
|
|
77
|
-
# Handle tab delimiter properly
|
|
78
|
-
if [[ "$delimiter" == "\\t" || "$delimiter" == "\t" ]]; then
|
|
79
|
-
cmd_args+=("--delimiter" $'\t')
|
|
80
|
-
else
|
|
81
|
-
cmd_args+=("--delimiter" "$delimiter")
|
|
82
|
-
fi
|
|
83
|
-
|
|
84
|
-
if [[ "$show_stats" == "true" ]]; then
|
|
85
|
-
cmd_args+=("--stats")
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
if [[ -n "$output_file" ]]; then
|
|
89
|
-
cmd_args+=("-o" "$output_file")
|
|
90
|
-
fi
|
|
91
|
-
|
|
92
|
-
print_info "Converting JSON to TOON format..."
|
|
93
|
-
if $PKG_RUNNER @toon-format/cli "${cmd_args[@]}" "$input_file"; then
|
|
94
|
-
if [[ -n "$output_file" ]]; then
|
|
95
|
-
print_success "Converted to TOON: $output_file"
|
|
96
|
-
else
|
|
97
|
-
print_success "Conversion completed"
|
|
98
|
-
fi
|
|
99
|
-
return 0
|
|
100
|
-
else
|
|
101
|
-
print_error "Failed to convert JSON to TOON"
|
|
102
|
-
return 1
|
|
103
|
-
fi
|
|
104
|
-
return 0
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
# Convert TOON to JSON format
|
|
108
|
-
toon_to_json() {
|
|
109
|
-
local input_file="$command"
|
|
110
|
-
local output_file="$account_name"
|
|
111
|
-
local strict_mode="${3:-true}"
|
|
112
|
-
|
|
113
|
-
if [[ -z "$input_file" ]]; then
|
|
114
|
-
print_error "Input file is required"
|
|
115
|
-
return 1
|
|
116
|
-
fi
|
|
117
|
-
|
|
118
|
-
if [[ ! -f "$input_file" ]]; then
|
|
119
|
-
print_error "Input file not found: $input_file"
|
|
120
|
-
return 1
|
|
121
|
-
fi
|
|
122
|
-
|
|
123
|
-
local cmd_args=("--decode")
|
|
124
|
-
|
|
125
|
-
if [[ "$strict_mode" == "false" ]]; then
|
|
126
|
-
cmd_args+=("--no-strict")
|
|
127
|
-
fi
|
|
128
|
-
|
|
129
|
-
if [[ -n "$output_file" ]]; then
|
|
130
|
-
cmd_args+=("-o" "$output_file")
|
|
131
|
-
fi
|
|
132
|
-
|
|
133
|
-
print_info "Converting TOON to JSON format..."
|
|
134
|
-
if $PKG_RUNNER @toon-format/cli "${cmd_args[@]}" "$input_file"; then
|
|
135
|
-
if [[ -n "$output_file" ]]; then
|
|
136
|
-
print_success "Converted to JSON: $output_file"
|
|
137
|
-
else
|
|
138
|
-
print_success "Conversion completed"
|
|
139
|
-
fi
|
|
140
|
-
return 0
|
|
141
|
-
else
|
|
142
|
-
print_error "Failed to convert TOON to JSON"
|
|
143
|
-
return 1
|
|
144
|
-
fi
|
|
145
|
-
return 0
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
# Convert from stdin
|
|
149
|
-
convert_stdin() {
|
|
150
|
-
local format="$command"
|
|
151
|
-
local delimiter="${2:-,}"
|
|
152
|
-
local show_stats="${3:-false}"
|
|
153
|
-
|
|
154
|
-
local cmd_args=()
|
|
155
|
-
|
|
156
|
-
case "$format" in
|
|
157
|
-
"encode"|"json-to-toon")
|
|
158
|
-
cmd_args+=("--encode")
|
|
159
|
-
# Handle tab delimiter properly
|
|
160
|
-
if [[ "$delimiter" == "\\t" || "$delimiter" == "\t" ]]; then
|
|
161
|
-
cmd_args+=("--delimiter" $'\t')
|
|
162
|
-
else
|
|
163
|
-
cmd_args+=("--delimiter" "$delimiter")
|
|
164
|
-
fi
|
|
165
|
-
if [[ "$show_stats" == "true" ]]; then
|
|
166
|
-
cmd_args+=("--stats")
|
|
167
|
-
fi
|
|
168
|
-
;;
|
|
169
|
-
"decode"|"toon-to-json")
|
|
170
|
-
cmd_args+=("--decode")
|
|
171
|
-
;;
|
|
172
|
-
*)
|
|
173
|
-
print_error "Invalid format: $format. Use 'encode' or 'decode'"
|
|
174
|
-
return 1
|
|
175
|
-
;;
|
|
176
|
-
esac
|
|
177
|
-
|
|
178
|
-
print_info "Converting from stdin..."
|
|
179
|
-
if $PKG_RUNNER @toon-format/cli "${cmd_args[@]}"; then
|
|
180
|
-
print_success "Conversion completed"
|
|
181
|
-
return 0
|
|
182
|
-
else
|
|
183
|
-
print_error "Failed to convert from stdin"
|
|
184
|
-
return 1
|
|
185
|
-
fi
|
|
186
|
-
return 0
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
# Batch convert directory
|
|
190
|
-
batch_convert() {
|
|
191
|
-
local source_dir="$command"
|
|
192
|
-
local target_dir="$account_name"
|
|
193
|
-
local format="$target"
|
|
194
|
-
local delimiter="${4:-,}"
|
|
195
|
-
|
|
196
|
-
if [[ -z "$source_dir" || -z "$target_dir" || -z "$format" ]]; then
|
|
197
|
-
print_error "Usage: batch_convert <source_dir> <target_dir> <json-to-toon|toon-to-json> [delimiter]"
|
|
198
|
-
return 1
|
|
199
|
-
fi
|
|
200
|
-
|
|
201
|
-
if [[ ! -d "$source_dir" ]]; then
|
|
202
|
-
print_error "Source directory not found: $source_dir"
|
|
203
|
-
return 1
|
|
204
|
-
fi
|
|
205
|
-
|
|
206
|
-
mkdir -p "$target_dir"
|
|
207
|
-
|
|
208
|
-
local count=0
|
|
209
|
-
local success_count=0
|
|
210
|
-
|
|
211
|
-
case "$format" in
|
|
212
|
-
"json-to-toon")
|
|
213
|
-
for file in "$source_dir"/*.json; do
|
|
214
|
-
if [[ -f "$file" ]]; then
|
|
215
|
-
local basename
|
|
216
|
-
basename=$(basename "$file" .json)
|
|
217
|
-
local target_file="$target_dir/$basename.toon"
|
|
218
|
-
|
|
219
|
-
((count++))
|
|
220
|
-
if json_to_toon "$file" "$target_file" "$delimiter" "false"; then
|
|
221
|
-
((success_count++))
|
|
222
|
-
fi
|
|
223
|
-
fi
|
|
224
|
-
done
|
|
225
|
-
;;
|
|
226
|
-
"toon-to-json")
|
|
227
|
-
for file in "$source_dir"/*.toon; do
|
|
228
|
-
if [[ -f "$file" ]]; then
|
|
229
|
-
local basename
|
|
230
|
-
basename=$(basename "$file" .toon)
|
|
231
|
-
local target_file="$target_dir/$basename.json"
|
|
232
|
-
|
|
233
|
-
((count++))
|
|
234
|
-
if toon_to_json "$file" "$target_file" "true"; then
|
|
235
|
-
((success_count++))
|
|
236
|
-
fi
|
|
237
|
-
fi
|
|
238
|
-
done
|
|
239
|
-
;;
|
|
240
|
-
*)
|
|
241
|
-
print_error "Invalid format: $format. Use 'json-to-toon' or 'toon-to-json'"
|
|
242
|
-
return 1
|
|
243
|
-
;;
|
|
244
|
-
esac
|
|
245
|
-
|
|
246
|
-
print_success "Batch conversion completed: $success_count/$count files converted"
|
|
247
|
-
return 0
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
# Compare token efficiency
|
|
251
|
-
compare_formats() {
|
|
252
|
-
local input_file="$command"
|
|
253
|
-
|
|
254
|
-
if [[ -z "$input_file" ]]; then
|
|
255
|
-
print_error "Input file is required"
|
|
256
|
-
return 1
|
|
257
|
-
fi
|
|
258
|
-
|
|
259
|
-
if [[ ! -f "$input_file" ]]; then
|
|
260
|
-
print_error "Input file not found: $input_file"
|
|
261
|
-
return 1
|
|
262
|
-
fi
|
|
263
|
-
|
|
264
|
-
print_info "Comparing token efficiency for: $input_file"
|
|
265
|
-
echo ""
|
|
266
|
-
|
|
267
|
-
# Show TOON with stats
|
|
268
|
-
print_info "TOON format with token statistics:"
|
|
269
|
-
$PKG_RUNNER @toon-format/cli --stats "$input_file"
|
|
270
|
-
|
|
271
|
-
return 0
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
# Validate TOON format
|
|
275
|
-
validate_toon() {
|
|
276
|
-
local input_file="$command"
|
|
277
|
-
|
|
278
|
-
if [[ -z "$input_file" ]]; then
|
|
279
|
-
print_error "Input file is required"
|
|
280
|
-
return 1
|
|
281
|
-
fi
|
|
282
|
-
|
|
283
|
-
if [[ ! -f "$input_file" ]]; then
|
|
284
|
-
print_error "Input file not found: $input_file"
|
|
285
|
-
return 1
|
|
286
|
-
fi
|
|
287
|
-
|
|
288
|
-
print_info "Validating TOON format: $input_file"
|
|
289
|
-
|
|
290
|
-
# Try to decode with strict validation
|
|
291
|
-
if $PKG_RUNNER @toon-format/cli --decode "$input_file" > /dev/null 2>&1; then
|
|
292
|
-
print_success "TOON format is valid"
|
|
293
|
-
return 0
|
|
294
|
-
else
|
|
295
|
-
print_error "TOON format validation failed"
|
|
296
|
-
return 1
|
|
297
|
-
fi
|
|
298
|
-
return 0
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
# Show TOON CLI version and info
|
|
302
|
-
show_info() {
|
|
303
|
-
print_info "TOON Format Helper - AI DevOps Framework Integration"
|
|
304
|
-
echo ""
|
|
305
|
-
|
|
306
|
-
if check_toon; then
|
|
307
|
-
print_info "TOON CLI version:"
|
|
308
|
-
$PKG_RUNNER @toon-format/cli --help | head -1
|
|
309
|
-
echo ""
|
|
310
|
-
|
|
311
|
-
print_info "TOON Format Benefits:"
|
|
312
|
-
echo "• 20-60% token reduction vs JSON"
|
|
313
|
-
echo "• Human-readable tabular format"
|
|
314
|
-
echo "• Schema-aware with explicit array lengths"
|
|
315
|
-
echo "• Better LLM comprehension and generation"
|
|
316
|
-
echo "• Supports nested structures and mixed data"
|
|
317
|
-
echo ""
|
|
318
|
-
|
|
319
|
-
print_info "Use cases in AI DevOps:"
|
|
320
|
-
echo "• Configuration data for LLM prompts"
|
|
321
|
-
echo "• API response formatting"
|
|
322
|
-
echo "• Data exchange between AI tools"
|
|
323
|
-
echo "• Structured logging and reports"
|
|
324
|
-
echo "• Database exports for AI analysis"
|
|
325
|
-
fi
|
|
326
|
-
|
|
327
|
-
return 0
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
# Show help
|
|
331
|
-
show_help() {
|
|
332
|
-
echo "TOON Format Helper Script"
|
|
333
|
-
echo "Usage: $0 [command] [options...]"
|
|
334
|
-
echo ""
|
|
335
|
-
echo "Commands:"
|
|
336
|
-
echo " encode <input.json> [output.toon] [delimiter] [show_stats]"
|
|
337
|
-
echo " - Convert JSON to TOON format"
|
|
338
|
-
printf " - delimiter: ',' (default), '\\t' (tab), '|' (pipe)\\n"
|
|
339
|
-
echo " - show_stats: true/false (default: false)"
|
|
340
|
-
echo ""
|
|
341
|
-
echo " decode <input.toon> [output.json] [strict_mode]"
|
|
342
|
-
echo " - Convert TOON to JSON format"
|
|
343
|
-
echo " - strict_mode: true (default)/false"
|
|
344
|
-
echo ""
|
|
345
|
-
echo " stdin-encode [delimiter] [show_stats]"
|
|
346
|
-
echo " - Convert JSON from stdin to TOON"
|
|
347
|
-
echo ""
|
|
348
|
-
echo " stdin-decode"
|
|
349
|
-
echo " - Convert TOON from stdin to JSON"
|
|
350
|
-
echo ""
|
|
351
|
-
echo " batch <source_dir> <target_dir> <json-to-toon|toon-to-json> [delimiter]"
|
|
352
|
-
echo " - Batch convert directory of files"
|
|
353
|
-
echo ""
|
|
354
|
-
echo " compare <input.json>"
|
|
355
|
-
echo " - Show token efficiency comparison"
|
|
356
|
-
echo ""
|
|
357
|
-
echo " validate <input.toon>"
|
|
358
|
-
echo " - Validate TOON format"
|
|
359
|
-
echo ""
|
|
360
|
-
echo " info"
|
|
361
|
-
echo " - Show TOON format information"
|
|
362
|
-
echo ""
|
|
363
|
-
echo " help"
|
|
364
|
-
echo " - Show this help message"
|
|
365
|
-
echo ""
|
|
366
|
-
echo "Examples:"
|
|
367
|
-
echo " $0 encode data.json output.toon"
|
|
368
|
-
printf " %s encode data.json output.toon '\\t' true\\n" "$0"
|
|
369
|
-
echo " $0 decode data.toon output.json"
|
|
370
|
-
echo " $0 batch ./json-files ./toon-files json-to-toon"
|
|
371
|
-
echo " cat data.json | $0 stdin-encode"
|
|
372
|
-
printf " cat data.json | %s stdin-encode \$'\\t' true # Tab delimiter\\n" "$0"
|
|
373
|
-
echo " $0 compare large-dataset.json"
|
|
374
|
-
echo " $0 validate data.toon"
|
|
375
|
-
|
|
376
|
-
return 0
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
# Main script logic
|
|
380
|
-
main() {
|
|
381
|
-
# Assign positional parameters to local variables
|
|
382
|
-
local command="${1:-help}"
|
|
383
|
-
local account_name="$account_name"
|
|
384
|
-
local target="$target"
|
|
385
|
-
local options="$options"
|
|
386
|
-
# Assign positional parameters to local variables
|
|
387
|
-
local command="${1:-help}"
|
|
388
|
-
local account_name="$account_name"
|
|
389
|
-
local target="$target"
|
|
390
|
-
local options="$options"
|
|
391
|
-
# Assign positional parameters to local variables
|
|
392
|
-
local command="${1:-help}"
|
|
393
|
-
local account_name="$account_name"
|
|
394
|
-
local target="$target"
|
|
395
|
-
local options="$options"
|
|
396
|
-
# Assign positional parameters to local variables
|
|
397
|
-
|
|
398
|
-
case "$command" in
|
|
399
|
-
"encode"|"json-to-toon")
|
|
400
|
-
local input_file="$account_name"
|
|
401
|
-
local output_file="$target"
|
|
402
|
-
local delimiter="${4:-,}"
|
|
403
|
-
local show_stats="${5:-false}"
|
|
404
|
-
|
|
405
|
-
if check_toon; then
|
|
406
|
-
json_to_toon "$input_file" "$output_file" "$delimiter" "$show_stats"
|
|
407
|
-
fi
|
|
408
|
-
;;
|
|
409
|
-
"decode"|"toon-to-json")
|
|
410
|
-
local input_file="$account_name"
|
|
411
|
-
local output_file="$target"
|
|
412
|
-
local strict_mode="${4:-true}"
|
|
413
|
-
|
|
414
|
-
if check_toon; then
|
|
415
|
-
toon_to_json "$input_file" "$output_file" "$strict_mode"
|
|
416
|
-
fi
|
|
417
|
-
;;
|
|
418
|
-
"stdin-encode")
|
|
419
|
-
local delimiter="${2:-,}"
|
|
420
|
-
local show_stats="${3:-false}"
|
|
421
|
-
|
|
422
|
-
if check_toon; then
|
|
423
|
-
convert_stdin "encode" "$delimiter" "$show_stats"
|
|
424
|
-
fi
|
|
425
|
-
;;
|
|
426
|
-
"stdin-decode")
|
|
427
|
-
if check_toon; then
|
|
428
|
-
convert_stdin "decode"
|
|
429
|
-
fi
|
|
430
|
-
;;
|
|
431
|
-
"batch")
|
|
432
|
-
local source_dir="$account_name"
|
|
433
|
-
local target_dir="$target"
|
|
434
|
-
local format="$options"
|
|
435
|
-
local delimiter="${5:-,}"
|
|
436
|
-
|
|
437
|
-
if check_toon; then
|
|
438
|
-
batch_convert "$source_dir" "$target_dir" "$format" "$delimiter"
|
|
439
|
-
fi
|
|
440
|
-
;;
|
|
441
|
-
"compare")
|
|
442
|
-
local input_file="$account_name"
|
|
443
|
-
|
|
444
|
-
if check_toon; then
|
|
445
|
-
compare_formats "$input_file"
|
|
446
|
-
fi
|
|
447
|
-
;;
|
|
448
|
-
"validate")
|
|
449
|
-
local input_file="$account_name"
|
|
450
|
-
|
|
451
|
-
if check_toon; then
|
|
452
|
-
validate_toon "$input_file"
|
|
453
|
-
fi
|
|
454
|
-
;;
|
|
455
|
-
"info")
|
|
456
|
-
show_info
|
|
457
|
-
;;
|
|
458
|
-
"help"|*)
|
|
459
|
-
show_help
|
|
460
|
-
;;
|
|
461
|
-
esac
|
|
462
|
-
|
|
463
|
-
return 0
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
# Execute main function with all arguments
|
|
467
|
-
main "$@"
|
|
468
|
-
|
|
469
|
-
return 0
|