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,578 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Error checking, debugging, and feedback loops for CI/CD
|
|
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
|
-
# Error Checking and Feedback Loops
|
|
16
|
-
|
|
17
|
-
This document outlines processes for error checking, debugging, and establishing feedback loops for autonomous CI/CD operation.
|
|
18
|
-
|
|
19
|
-
The goal is to enable AI assistants to identify, diagnose, and fix issues with minimal human intervention.
|
|
20
|
-
|
|
21
|
-
## Table of Contents
|
|
22
|
-
|
|
23
|
-
- [GitHub Actions Workflow Monitoring](#github-actions-workflow-monitoring)
|
|
24
|
-
- [Local Build and Test Feedback](#local-build-and-test-feedback)
|
|
25
|
-
- [Code Quality Tool Integration](#code-quality-tool-integration)
|
|
26
|
-
- [Automated Error Resolution](#automated-error-resolution)
|
|
27
|
-
- [Feedback Loop Architecture](#feedback-loop-architecture)
|
|
28
|
-
- [When to Consult Humans](#when-to-consult-humans)
|
|
29
|
-
|
|
30
|
-
## GitHub Actions Workflow Monitoring
|
|
31
|
-
|
|
32
|
-
### Checking Workflow Status via GitHub CLI
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Get recent workflow runs
|
|
36
|
-
gh run list --limit 10
|
|
37
|
-
|
|
38
|
-
# Get failed runs only
|
|
39
|
-
gh run list --status failure --limit 5
|
|
40
|
-
|
|
41
|
-
# Get details for a specific run
|
|
42
|
-
gh run view {run_id}
|
|
43
|
-
|
|
44
|
-
# Get logs for a failed run
|
|
45
|
-
gh run view {run_id} --log-failed
|
|
46
|
-
|
|
47
|
-
# Watch a running workflow
|
|
48
|
-
gh run watch {run_id}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Checking via GitHub API
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
# Get recent workflow runs
|
|
55
|
-
gh api repos/{owner}/{repo}/actions/runs --jq '.workflow_runs[:5] | .[] | "\(.name): \(.conclusion // .status)"'
|
|
56
|
-
|
|
57
|
-
# Get failed runs
|
|
58
|
-
gh api repos/{owner}/{repo}/actions/runs?status=failure
|
|
59
|
-
|
|
60
|
-
# Get jobs for a specific run
|
|
61
|
-
gh api repos/{owner}/{repo}/actions/runs/{run_id}/jobs
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Common GitHub Actions Errors and Solutions
|
|
65
|
-
|
|
66
|
-
| Error | Solution |
|
|
67
|
-
|-------|----------|
|
|
68
|
-
| Missing action version | Update to latest: `uses: actions/checkout@v4` |
|
|
69
|
-
| Deprecated action | Replace with recommended alternative |
|
|
70
|
-
| Secret not found | Verify secret name in repository settings |
|
|
71
|
-
| Permission denied | Check workflow permissions or GITHUB_TOKEN scope |
|
|
72
|
-
| Timeout | Increase timeout or optimize slow steps |
|
|
73
|
-
| Cache miss | Verify cache keys and paths |
|
|
74
|
-
|
|
75
|
-
#### Example Fixes
|
|
76
|
-
|
|
77
|
-
**Outdated Action:**
|
|
78
|
-
|
|
79
|
-
```yaml
|
|
80
|
-
# Before
|
|
81
|
-
uses: actions/upload-artifact@v3
|
|
82
|
-
|
|
83
|
-
# After
|
|
84
|
-
uses: actions/upload-artifact@v4
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**Concurrency Control:**
|
|
88
|
-
|
|
89
|
-
```yaml
|
|
90
|
-
concurrency:
|
|
91
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
92
|
-
cancel-in-progress: true
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Local Build and Test Feedback
|
|
96
|
-
|
|
97
|
-
### Running Local Tests
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
# JavaScript/Node.js
|
|
101
|
-
npm test
|
|
102
|
-
npm run test:coverage
|
|
103
|
-
|
|
104
|
-
# Python
|
|
105
|
-
pytest
|
|
106
|
-
pytest --cov=module/
|
|
107
|
-
|
|
108
|
-
# PHP
|
|
109
|
-
composer test
|
|
110
|
-
vendor/bin/phpunit
|
|
111
|
-
|
|
112
|
-
# Go
|
|
113
|
-
go test ./...
|
|
114
|
-
|
|
115
|
-
# Rust
|
|
116
|
-
cargo test
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### Capturing Test Output
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
# Capture output for analysis
|
|
123
|
-
npm test > test-output.log 2>&1
|
|
124
|
-
|
|
125
|
-
# Parse for errors
|
|
126
|
-
grep -i 'error\|fail\|exception' test-output.log
|
|
127
|
-
|
|
128
|
-
# Get structured results (if available)
|
|
129
|
-
cat test-results.json | jq '.failures'
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Common Local Test Errors
|
|
133
|
-
|
|
134
|
-
| Error Type | Diagnosis | Solution |
|
|
135
|
-
|------------|-----------|----------|
|
|
136
|
-
| Dependency missing | Check error for package name | `npm install` / `pip install` |
|
|
137
|
-
| Port in use | Check error for port number | Kill process or use different port |
|
|
138
|
-
| Timeout | Test takes too long | Increase timeout or optimize |
|
|
139
|
-
| Database connection | DB not running | Start database service |
|
|
140
|
-
| Permission denied | File/directory access | Check permissions, run with proper user |
|
|
141
|
-
|
|
142
|
-
## Code Quality Tool Integration
|
|
143
|
-
|
|
144
|
-
### Running Quality Checks
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# Universal quality check (aidevops)
|
|
148
|
-
bash ~/Git/aidevops/.agent/scripts/linters-local.sh
|
|
149
|
-
|
|
150
|
-
# ShellCheck (bash scripts)
|
|
151
|
-
shellcheck script.sh
|
|
152
|
-
|
|
153
|
-
# ESLint (JavaScript)
|
|
154
|
-
npx eslint . --format json
|
|
155
|
-
|
|
156
|
-
# Pylint (Python)
|
|
157
|
-
pylint module/ --output-format=json
|
|
158
|
-
|
|
159
|
-
# PHP CodeSniffer
|
|
160
|
-
composer phpcs
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Auto-Fixing Issues
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
# Codacy auto-fix
|
|
167
|
-
bash ~/Git/aidevops/.agent/scripts/codacy-cli.sh analyze --fix
|
|
168
|
-
|
|
169
|
-
# Qlty auto-format
|
|
170
|
-
bash ~/Git/aidevops/.agent/scripts/qlty-cli.sh fmt --all
|
|
171
|
-
|
|
172
|
-
# ESLint auto-fix
|
|
173
|
-
npx eslint . --fix
|
|
174
|
-
|
|
175
|
-
# PHP Code Beautifier
|
|
176
|
-
composer phpcbf
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Monitoring PR Feedback
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
# Get PR comments
|
|
183
|
-
gh pr view {pr_number} --comments
|
|
184
|
-
|
|
185
|
-
# Get PR reviews
|
|
186
|
-
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews
|
|
187
|
-
|
|
188
|
-
# Get check runs for PR
|
|
189
|
-
gh pr checks {pr_number}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### Efficient Quality Tool Feedback via GitHub API
|
|
193
|
-
|
|
194
|
-
**Why use the API directly?** The GitHub Checks API provides structured access to all code quality tool feedback (Codacy, CodeFactor, SonarCloud, CodeRabbit, etc.) without needing to visit each tool's dashboard. This enables rapid iteration.
|
|
195
|
-
|
|
196
|
-
#### Get All Check Runs for a PR/Commit
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
# Get check runs for latest commit on current branch
|
|
200
|
-
gh api repos/{owner}/{repo}/commits/$(git rev-parse HEAD)/check-runs \
|
|
201
|
-
--jq '.check_runs[] | {name: .name, status: .status, conclusion: .conclusion}'
|
|
202
|
-
|
|
203
|
-
# Get check runs for a specific PR
|
|
204
|
-
gh api repos/{owner}/{repo}/commits/$(gh pr view {pr_number} --json headRefOid -q .headRefOid)/check-runs \
|
|
205
|
-
--jq '.check_runs[] | {name: .name, conclusion: .conclusion, url: .html_url}'
|
|
206
|
-
|
|
207
|
-
# Filter for failed checks only
|
|
208
|
-
gh api repos/{owner}/{repo}/commits/$(git rev-parse HEAD)/check-runs \
|
|
209
|
-
--jq '.check_runs[] | select(.conclusion == "failure" or .conclusion == "action_required") | {name: .name, conclusion: .conclusion}'
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
#### Get Detailed Annotations (Line-Level Issues)
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
# Get annotations from a specific check run (e.g., Codacy)
|
|
216
|
-
gh api repos/{owner}/{repo}/check-runs/{check_run_id}/annotations \
|
|
217
|
-
--jq '.[] | {path: .path, line: .start_line, level: .annotation_level, message: .message}'
|
|
218
|
-
|
|
219
|
-
# Get all annotations from all check runs for a commit
|
|
220
|
-
for id in $(gh api repos/{owner}/{repo}/commits/$(git rev-parse HEAD)/check-runs --jq '.check_runs[].id'); do
|
|
221
|
-
echo "=== Check Run $id ==="
|
|
222
|
-
gh api repos/{owner}/{repo}/check-runs/$id/annotations --jq '.[] | "\(.path):\(.start_line) [\(.annotation_level)] \(.message)"' 2>/dev/null
|
|
223
|
-
done
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
#### Quick Status Check Script
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
#!/bin/bash
|
|
230
|
-
# Quick quality check status for current branch
|
|
231
|
-
|
|
232
|
-
REPO="${GITHUB_REPOSITORY:-$(gh repo view --json nameWithOwner -q .nameWithOwner)}"
|
|
233
|
-
COMMIT=$(git rev-parse HEAD)
|
|
234
|
-
|
|
235
|
-
echo "=== Quality Check Status for $COMMIT ==="
|
|
236
|
-
gh api "repos/$REPO/commits/$COMMIT/check-runs" \
|
|
237
|
-
--jq '.check_runs[] | "\(.conclusion // .status | ascii_upcase)\t\(.name)"' | sort
|
|
238
|
-
|
|
239
|
-
echo ""
|
|
240
|
-
echo "=== Failed Checks Details ==="
|
|
241
|
-
gh api "repos/$REPO/commits/$COMMIT/check-runs" \
|
|
242
|
-
--jq '.check_runs[] | select(.conclusion == "failure") | "❌ \(.name): \(.output.summary // "See details")"'
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
#### Tool-Specific API Access
|
|
246
|
-
|
|
247
|
-
**Codacy:**
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
# Get Codacy check run details
|
|
251
|
-
gh api repos/{owner}/{repo}/commits/{sha}/check-runs \
|
|
252
|
-
--jq '.check_runs[] | select(.app.slug == "codacy-production") | {conclusion: .conclusion, summary: .output.summary}'
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**CodeRabbit:**
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
# Get CodeRabbit review comments
|
|
259
|
-
gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
|
|
260
|
-
--jq '.[] | select(.user.login | contains("coderabbit")) | {path: .path, line: .line, body: .body}'
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**SonarCloud:**
|
|
264
|
-
|
|
265
|
-
```bash
|
|
266
|
-
# Get SonarCloud check run
|
|
267
|
-
gh api repos/{owner}/{repo}/commits/{sha}/check-runs \
|
|
268
|
-
--jq '.check_runs[] | select(.name | contains("SonarCloud")) | {conclusion: .conclusion, url: .details_url}'
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
#### Automated Feedback Loop Pattern
|
|
272
|
-
|
|
273
|
-
```bash
|
|
274
|
-
#!/bin/bash
|
|
275
|
-
# Automated quality feedback loop
|
|
276
|
-
|
|
277
|
-
check_and_report() {
|
|
278
|
-
local repo="$1"
|
|
279
|
-
local sha="$2"
|
|
280
|
-
|
|
281
|
-
echo "Checking quality status..."
|
|
282
|
-
|
|
283
|
-
# Get all check conclusions
|
|
284
|
-
local checks
|
|
285
|
-
checks=$(gh api "repos/$repo/commits/$sha/check-runs" \
|
|
286
|
-
--jq '.check_runs[] | {name: .name, conclusion: .conclusion, id: .id}')
|
|
287
|
-
|
|
288
|
-
# Report failures with details
|
|
289
|
-
echo "$checks" | jq -r 'select(.conclusion == "failure") | .id' | while read -r id; do
|
|
290
|
-
echo "=== Failure in check $id ==="
|
|
291
|
-
gh api "repos/$repo/check-runs/$id/annotations" \
|
|
292
|
-
--jq '.[] | " \(.path):\(.start_line) - \(.message)"'
|
|
293
|
-
done
|
|
294
|
-
|
|
295
|
-
# Summary
|
|
296
|
-
local passed failed
|
|
297
|
-
passed=$(echo "$checks" | jq -r 'select(.conclusion == "success") | .name' | wc -l)
|
|
298
|
-
failed=$(echo "$checks" | jq -r 'select(.conclusion == "failure") | .name' | wc -l)
|
|
299
|
-
|
|
300
|
-
echo ""
|
|
301
|
-
echo "Summary: $passed passed, $failed failed"
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
# Usage
|
|
305
|
-
check_and_report "owner/repo" "$(git rev-parse HEAD)"
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Processing Code Quality Feedback
|
|
309
|
-
|
|
310
|
-
1. **Collect all feedback:**
|
|
311
|
-
|
|
312
|
-
```bash
|
|
313
|
-
gh pr view {number} --comments --json comments
|
|
314
|
-
gh api repos/{owner}/{repo}/pulls/{number}/reviews
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
2. **Categorize issues:**
|
|
318
|
-
- Critical: Security, breaking bugs
|
|
319
|
-
- High: Quality violations, potential bugs
|
|
320
|
-
- Medium: Style issues, best practices
|
|
321
|
-
- Low: Documentation, minor improvements
|
|
322
|
-
|
|
323
|
-
3. **Prioritize fixes:**
|
|
324
|
-
- Address critical issues first
|
|
325
|
-
- Group related issues for efficient fixing
|
|
326
|
-
- Consider dependencies between issues
|
|
327
|
-
|
|
328
|
-
## Automated Error Resolution
|
|
329
|
-
|
|
330
|
-
### Error Resolution Workflow
|
|
331
|
-
|
|
332
|
-
```text
|
|
333
|
-
1. Identify Error
|
|
334
|
-
↓
|
|
335
|
-
2. Categorize Error (type, severity)
|
|
336
|
-
↓
|
|
337
|
-
3. Search for Known Solution
|
|
338
|
-
↓
|
|
339
|
-
4. Apply Fix
|
|
340
|
-
↓
|
|
341
|
-
5. Verify Fix (run tests)
|
|
342
|
-
↓
|
|
343
|
-
6. Document Solution
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Processing Workflow Failures
|
|
347
|
-
|
|
348
|
-
```bash
|
|
349
|
-
# 1. Get failed workflow
|
|
350
|
-
gh run list --status failure --limit 1
|
|
351
|
-
|
|
352
|
-
# 2. Get failure details
|
|
353
|
-
gh run view {run_id} --log-failed
|
|
354
|
-
|
|
355
|
-
# 3. Identify the failing step and error
|
|
356
|
-
|
|
357
|
-
# 4. Apply fix based on error type
|
|
358
|
-
|
|
359
|
-
# 5. Push fix and monitor
|
|
360
|
-
git add . && git commit -m "Fix: CI error description"
|
|
361
|
-
git push origin {branch}
|
|
362
|
-
gh run watch
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### Common Fix Patterns
|
|
366
|
-
|
|
367
|
-
**Dependency Issues:**
|
|
368
|
-
|
|
369
|
-
```bash
|
|
370
|
-
# Update lockfile
|
|
371
|
-
npm ci # or: npm install
|
|
372
|
-
composer install
|
|
373
|
-
|
|
374
|
-
# Clear caches
|
|
375
|
-
npm cache clean --force
|
|
376
|
-
composer clear-cache
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
**Test Failures:**
|
|
380
|
-
|
|
381
|
-
```bash
|
|
382
|
-
# Run specific failing test
|
|
383
|
-
npm test -- --grep "failing test name"
|
|
384
|
-
|
|
385
|
-
# Run with verbose output
|
|
386
|
-
npm test -- --verbose
|
|
387
|
-
|
|
388
|
-
# Update snapshots if intentional changes
|
|
389
|
-
npm test -- --updateSnapshot
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
**Linting Errors:**
|
|
393
|
-
|
|
394
|
-
```bash
|
|
395
|
-
# Auto-fix what's possible
|
|
396
|
-
npm run lint:fix
|
|
397
|
-
|
|
398
|
-
# Review remaining issues
|
|
399
|
-
npm run lint -- --format stylish
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
## Feedback Loop Architecture
|
|
403
|
-
|
|
404
|
-
### Complete Feedback Loop System
|
|
405
|
-
|
|
406
|
-
```text
|
|
407
|
-
Code Changes ──► Local Testing ──► GitHub Actions
|
|
408
|
-
│ │ │
|
|
409
|
-
▼ ▼ ▼
|
|
410
|
-
AI Assistant ◄── Error Analysis ◄── Status Check
|
|
411
|
-
│
|
|
412
|
-
▼
|
|
413
|
-
Fix Generation ──► Verification ──► Human Review (if needed)
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### Key Components
|
|
417
|
-
|
|
418
|
-
| Component | Purpose | Tools |
|
|
419
|
-
|-----------|---------|-------|
|
|
420
|
-
| Code Changes | Initial modifications | Git |
|
|
421
|
-
| Local Testing | Immediate feedback | npm test, pytest |
|
|
422
|
-
| GitHub Actions | Remote validation | gh CLI |
|
|
423
|
-
| Status Check | Monitor workflows | gh run list |
|
|
424
|
-
| Error Analysis | Parse and categorize | grep, jq |
|
|
425
|
-
| AI Assistant | Central intelligence | This guide |
|
|
426
|
-
| Fix Generation | Create solutions | Edit, Write tools |
|
|
427
|
-
| Verification | Confirm fix works | Tests, CI |
|
|
428
|
-
| Human Review | Complex decisions | When needed |
|
|
429
|
-
|
|
430
|
-
### Implementing the Loop
|
|
431
|
-
|
|
432
|
-
```bash
|
|
433
|
-
#!/bin/bash
|
|
434
|
-
# Continuous monitoring script pattern
|
|
435
|
-
|
|
436
|
-
check_and_fix() {
|
|
437
|
-
# Check for failures - declare and assign separately per SC2155
|
|
438
|
-
local failures
|
|
439
|
-
failures=$(gh run list --status failure --limit 1 --json conclusion -q '.[].conclusion')
|
|
440
|
-
|
|
441
|
-
if [[ "$failures" == "failure" ]]; then
|
|
442
|
-
# Get failure details - declare and assign separately per SC2155
|
|
443
|
-
local run_id
|
|
444
|
-
local logs
|
|
445
|
-
run_id=$(gh run list --status failure --limit 1 --json databaseId -q '.[].databaseId')
|
|
446
|
-
logs=$(gh run view "$run_id" --log-failed)
|
|
447
|
-
|
|
448
|
-
# Analyze and report
|
|
449
|
-
echo "Failure detected in run $run_id"
|
|
450
|
-
echo "$logs" | grep -i 'error\|fail' | head -20
|
|
451
|
-
|
|
452
|
-
# Suggest fixes based on error patterns
|
|
453
|
-
analyze_error "$logs"
|
|
454
|
-
fi
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
analyze_error() {
|
|
458
|
-
local logs="$1"
|
|
459
|
-
|
|
460
|
-
if echo "$logs" | grep -q "npm ERR!"; then
|
|
461
|
-
echo "Suggestion: Run 'npm ci' to reinstall dependencies"
|
|
462
|
-
elif echo "$logs" | grep -q "EACCES"; then
|
|
463
|
-
echo "Suggestion: Check file permissions"
|
|
464
|
-
elif echo "$logs" | grep -q "timeout"; then
|
|
465
|
-
echo "Suggestion: Increase timeout or optimize slow operations"
|
|
466
|
-
fi
|
|
467
|
-
}
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
## When to Consult Humans
|
|
471
|
-
|
|
472
|
-
### Scenarios Requiring Human Input
|
|
473
|
-
|
|
474
|
-
| Scenario | Reason | What to Provide |
|
|
475
|
-
|----------|--------|-----------------|
|
|
476
|
-
| Product design decisions | Requires business context | Options with trade-offs |
|
|
477
|
-
| Security-critical changes | Risk assessment needed | Security implications |
|
|
478
|
-
| Architectural decisions | Long-term impact | Architecture options |
|
|
479
|
-
| Deployment approvals | Production risk | Deployment plan |
|
|
480
|
-
| Novel problems | No precedent | Research findings |
|
|
481
|
-
| External service issues | Out of control | Status and workarounds |
|
|
482
|
-
| Ambiguous requirements | Clarification needed | Questions and assumptions |
|
|
483
|
-
|
|
484
|
-
### Effective Human Consultation
|
|
485
|
-
|
|
486
|
-
When consulting humans, provide:
|
|
487
|
-
|
|
488
|
-
**Issue Summary:** Brief description of the problem.
|
|
489
|
-
|
|
490
|
-
**Context:**
|
|
491
|
-
|
|
492
|
-
- What were you trying to accomplish?
|
|
493
|
-
- What happened instead?
|
|
494
|
-
|
|
495
|
-
**Error Details:** Include specific error messages or logs.
|
|
496
|
-
|
|
497
|
-
**Attempted Solutions:**
|
|
498
|
-
|
|
499
|
-
1. Tried X - Result: Y
|
|
500
|
-
2. Tried Z - Result: W
|
|
501
|
-
|
|
502
|
-
**Questions:**
|
|
503
|
-
|
|
504
|
-
1. Specific question requiring human input
|
|
505
|
-
2. Another specific question
|
|
506
|
-
|
|
507
|
-
**Recommendations:** Based on analysis, suggest options with pros/cons and ask which approach they prefer.
|
|
508
|
-
|
|
509
|
-
### Contributing Fixes Upstream
|
|
510
|
-
|
|
511
|
-
When issues are in external dependencies:
|
|
512
|
-
|
|
513
|
-
```bash
|
|
514
|
-
# 1. Clone the repository
|
|
515
|
-
cd ~/git
|
|
516
|
-
git clone https://github.com/owner/repo.git
|
|
517
|
-
cd repo
|
|
518
|
-
git checkout -b fix/descriptive-name
|
|
519
|
-
|
|
520
|
-
# 2. Make and commit changes
|
|
521
|
-
git add -A
|
|
522
|
-
git commit -m "Fix: Description
|
|
523
|
-
|
|
524
|
-
Detailed explanation.
|
|
525
|
-
Fixes #issue-number"
|
|
526
|
-
|
|
527
|
-
# 3. Fork and push
|
|
528
|
-
gh repo fork owner/repo --clone=false --remote=true
|
|
529
|
-
git remote add fork https://github.com/your-username/repo.git
|
|
530
|
-
git push fork fix/descriptive-name
|
|
531
|
-
|
|
532
|
-
# 4. Create PR
|
|
533
|
-
gh pr create --repo owner/repo \
|
|
534
|
-
--head your-username:fix/descriptive-name \
|
|
535
|
-
--title "Fix: Description" \
|
|
536
|
-
--body "## Summary
|
|
537
|
-
Description of changes.
|
|
538
|
-
|
|
539
|
-
Fixes #issue-number"
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
## Quick Reference
|
|
543
|
-
|
|
544
|
-
### Daily Monitoring Commands
|
|
545
|
-
|
|
546
|
-
```bash
|
|
547
|
-
# Check all workflow status
|
|
548
|
-
gh run list --limit 10
|
|
549
|
-
|
|
550
|
-
# Check for failures
|
|
551
|
-
gh run list --status failure
|
|
552
|
-
|
|
553
|
-
# View specific failure
|
|
554
|
-
gh run view {id} --log-failed
|
|
555
|
-
|
|
556
|
-
# Check PR status
|
|
557
|
-
gh pr checks
|
|
558
|
-
|
|
559
|
-
# Run local quality check
|
|
560
|
-
bash ~/Git/aidevops/.agent/scripts/linters-local.sh
|
|
561
|
-
```
|
|
562
|
-
|
|
563
|
-
### Common Fix Commands
|
|
564
|
-
|
|
565
|
-
```bash
|
|
566
|
-
# Dependency issues
|
|
567
|
-
npm ci && npm test
|
|
568
|
-
|
|
569
|
-
# Linting issues
|
|
570
|
-
npm run lint:fix
|
|
571
|
-
|
|
572
|
-
# Type issues
|
|
573
|
-
npm run typecheck
|
|
574
|
-
|
|
575
|
-
# Quality issues
|
|
576
|
-
bash ~/Git/aidevops/.agent/scripts/codacy-cli.sh analyze --fix
|
|
577
|
-
bash ~/Git/aidevops/.agent/scripts/qlty-cli.sh fmt --all
|
|
578
|
-
```
|