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,709 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Planning workflow with auto-complexity detection
|
|
3
|
-
mode: subagent
|
|
4
|
-
tools:
|
|
5
|
-
read: true
|
|
6
|
-
write: true
|
|
7
|
-
edit: true
|
|
8
|
-
bash: true
|
|
9
|
-
glob: true
|
|
10
|
-
grep: true
|
|
11
|
-
webfetch: true
|
|
12
|
-
task: true
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Plans Workflow
|
|
16
|
-
|
|
17
|
-
<!-- AI-CONTEXT-START -->
|
|
18
|
-
|
|
19
|
-
## Quick Reference
|
|
20
|
-
|
|
21
|
-
- **Purpose**: Save planning discussions as actionable tasks or plans
|
|
22
|
-
- **Commands**: `/save-todo` (auto-detects), `/ready` (show unblocked), `/sync-beads` (sync to Beads)
|
|
23
|
-
- **Principle**: Don't make user think about where to save
|
|
24
|
-
|
|
25
|
-
**Files**:
|
|
26
|
-
|
|
27
|
-
| File | Purpose |
|
|
28
|
-
|------|---------|
|
|
29
|
-
| `TODO.md` | All tasks (simple + plan references) with dependencies |
|
|
30
|
-
| `todo/PLANS.md` | Complex execution plans with context |
|
|
31
|
-
| `todo/tasks/prd-{name}.md` | Product requirement documents |
|
|
32
|
-
| `todo/tasks/tasks-{name}.md` | Implementation task lists |
|
|
33
|
-
| `.beads/` | Beads database (synced from TODO.md) |
|
|
34
|
-
|
|
35
|
-
**Task ID Format**:
|
|
36
|
-
|
|
37
|
-
| Pattern | Example | Meaning |
|
|
38
|
-
|---------|---------|---------|
|
|
39
|
-
| `tNNN` | `t001` | Top-level task |
|
|
40
|
-
| `tNNN.N` | `t001.1` | Subtask |
|
|
41
|
-
| `tNNN.N.N` | `t001.1.1` | Sub-subtask |
|
|
42
|
-
|
|
43
|
-
**Dependency Syntax**:
|
|
44
|
-
|
|
45
|
-
| Field | Example | Meaning |
|
|
46
|
-
|-------|---------|---------|
|
|
47
|
-
| `blocked-by:` | `blocked-by:t001,t002` | Cannot start until these are done |
|
|
48
|
-
| `blocks:` | `blocks:t003` | Completing this unblocks these |
|
|
49
|
-
| Indentation | 2 spaces | Parent-child relationship |
|
|
50
|
-
|
|
51
|
-
**Workflow**:
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
Planning Conversation → /save-todo → Auto-detect → Save appropriately
|
|
55
|
-
↓
|
|
56
|
-
Future Session → "Work on X" → Load context → git-workflow.md
|
|
57
|
-
↓
|
|
58
|
-
/ready → Show unblocked tasks
|
|
59
|
-
↓
|
|
60
|
-
/sync-beads → Sync to Beads for graph view
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
<!-- AI-CONTEXT-END -->
|
|
64
|
-
|
|
65
|
-
## Auto-Detection Logic
|
|
66
|
-
|
|
67
|
-
When `/save-todo` is invoked, analyze the conversation for complexity signals:
|
|
68
|
-
|
|
69
|
-
| Signal | Indicates | Action |
|
|
70
|
-
|--------|-----------|--------|
|
|
71
|
-
| Single action item | Simple | TODO.md only |
|
|
72
|
-
| < 2 hour estimate | Simple | TODO.md only |
|
|
73
|
-
| User says "quick" or "simple" | Simple | TODO.md only |
|
|
74
|
-
| Multiple distinct steps | Complex | PLANS.md + TODO.md |
|
|
75
|
-
| Research/design needed | Complex | PLANS.md + TODO.md |
|
|
76
|
-
| > 2 hour estimate | Complex | PLANS.md + TODO.md |
|
|
77
|
-
| Multi-session work | Complex | PLANS.md + TODO.md |
|
|
78
|
-
| PRD mentioned or needed | Complex | PLANS.md + TODO.md + PRD |
|
|
79
|
-
|
|
80
|
-
## Ralph Classification
|
|
81
|
-
|
|
82
|
-
Tasks can be classified as "Ralph-able" - suitable for autonomous iterative AI loops.
|
|
83
|
-
|
|
84
|
-
### Ralph Criteria
|
|
85
|
-
|
|
86
|
-
A task is Ralph-able when it has:
|
|
87
|
-
|
|
88
|
-
| Criterion | Required | Example |
|
|
89
|
-
|-----------|----------|---------|
|
|
90
|
-
| **Clear success criteria** | Yes | "All tests pass", "Zero linting errors" |
|
|
91
|
-
| **Automated verification** | Yes | Tests, linters, type checkers |
|
|
92
|
-
| **Bounded scope** | Yes | Single feature, specific bug fix |
|
|
93
|
-
| **No human judgment needed** | Yes | No design decisions, no UX choices |
|
|
94
|
-
| **Deterministic outcome** | Preferred | Same input → same expected output |
|
|
95
|
-
|
|
96
|
-
### Ralph Signals in Conversation
|
|
97
|
-
|
|
98
|
-
| Signal | Ralph-able? | Why |
|
|
99
|
-
|--------|-------------|-----|
|
|
100
|
-
| "Make all tests pass" | Yes | Clear, verifiable |
|
|
101
|
-
| "Fix linting errors" | Yes | Automated verification |
|
|
102
|
-
| "Implement feature X with tests" | Yes | Tests provide verification |
|
|
103
|
-
| "Refactor until clean" | Maybe | Needs specific criteria |
|
|
104
|
-
| "Make it look better" | No | Subjective, needs human judgment |
|
|
105
|
-
| "Design the API" | No | Requires design decisions |
|
|
106
|
-
| "Debug production issue" | No | Unpredictable, needs investigation |
|
|
107
|
-
|
|
108
|
-
### Tagging Ralph-able Tasks
|
|
109
|
-
|
|
110
|
-
When a task meets Ralph criteria, add the `#ralph` tag:
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
- [ ] t042 Fix all ShellCheck violations in scripts/ #ralph ~2h
|
|
114
|
-
- [ ] t043 Implement user auth with tests #ralph #feature ~4h
|
|
115
|
-
- [ ] t044 Design new dashboard layout #feature ~3h (NOT ralph-able)
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Ralph Task Requirements
|
|
119
|
-
|
|
120
|
-
When tagging a task as `#ralph`, ensure it includes:
|
|
121
|
-
|
|
122
|
-
1. **Completion promise**: What phrase signals success
|
|
123
|
-
2. **Verification command**: How to check if done
|
|
124
|
-
3. **Max iterations**: Safety limit (default: 20)
|
|
125
|
-
|
|
126
|
-
**Full format:**
|
|
127
|
-
|
|
128
|
-
```markdown
|
|
129
|
-
- [ ] t042 Fix all ShellCheck violations #ralph ~2h
|
|
130
|
-
ralph-promise: "SHELLCHECK_CLEAN"
|
|
131
|
-
ralph-verify: "shellcheck .agent/scripts/*.sh"
|
|
132
|
-
ralph-max: 10
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Shorthand** (for simple cases):
|
|
136
|
-
|
|
137
|
-
```markdown
|
|
138
|
-
- [ ] t042 Fix all ShellCheck violations #ralph(SHELLCHECK_CLEAN) ~2h
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Running Ralph Tasks
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
# Start a Ralph loop for a tagged task
|
|
145
|
-
/ralph-loop "$(grep 't042' TODO.md)" --completion-promise "SHELLCHECK_CLEAN" --max-iterations 10
|
|
146
|
-
|
|
147
|
-
# Or use the task ID directly
|
|
148
|
-
/ralph-task t042
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Ralph in PLANS.md
|
|
152
|
-
|
|
153
|
-
For complex plans, mark Ralph-able phases:
|
|
154
|
-
|
|
155
|
-
```markdown
|
|
156
|
-
#### Progress
|
|
157
|
-
|
|
158
|
-
- [ ] Phase 1: Research API endpoints ~1h
|
|
159
|
-
- [ ] Phase 2: Implement core logic #ralph ~2h
|
|
160
|
-
ralph-promise: "ALL_TESTS_PASS"
|
|
161
|
-
ralph-verify: "npm test"
|
|
162
|
-
- [ ] Phase 3: Design UI components ~2h (requires human review)
|
|
163
|
-
- [ ] Phase 4: Integration tests #ralph ~1h
|
|
164
|
-
ralph-promise: "INTEGRATION_PASS"
|
|
165
|
-
ralph-verify: "npm run test:integration"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Quality Loop Integration
|
|
169
|
-
|
|
170
|
-
Built-in Ralph-able workflows:
|
|
171
|
-
|
|
172
|
-
| Workflow | Command | Promise |
|
|
173
|
-
|----------|---------|---------|
|
|
174
|
-
| Preflight | `/preflight-loop` | `PREFLIGHT_PASS` |
|
|
175
|
-
| PR Review | `/pr-loop` | `PR_APPROVED` |
|
|
176
|
-
| Postflight | `/postflight-loop` | `RELEASE_HEALTHY` |
|
|
177
|
-
|
|
178
|
-
These use `quality-loop-helper.sh` which applies Ralph patterns to quality workflows.
|
|
179
|
-
|
|
180
|
-
## Saving Work
|
|
181
|
-
|
|
182
|
-
### Step 1: Extract from Conversation
|
|
183
|
-
|
|
184
|
-
- **Title**: Concise task/plan name
|
|
185
|
-
- **Description**: What needs to be done
|
|
186
|
-
- **Estimate**: Time estimate with breakdown `~Xh (ai:Xh test:Xh read:Xm)`
|
|
187
|
-
- **Tags**: Relevant categories (#seo, #security, #feature, etc.)
|
|
188
|
-
- **Context**: Key decisions, research findings, constraints discussed
|
|
189
|
-
|
|
190
|
-
### Step 2: Present with Auto-Detection
|
|
191
|
-
|
|
192
|
-
**For Simple tasks:**
|
|
193
|
-
|
|
194
|
-
```text
|
|
195
|
-
Saving to TODO.md: "{title}" ~{estimate}
|
|
196
|
-
|
|
197
|
-
1. Confirm
|
|
198
|
-
2. Add more details first
|
|
199
|
-
3. Create full plan instead (PLANS.md)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
**For Complex work:**
|
|
203
|
-
|
|
204
|
-
```text
|
|
205
|
-
This looks like complex work. Creating execution plan.
|
|
206
|
-
|
|
207
|
-
Title: {title}
|
|
208
|
-
Estimate: ~{estimate}
|
|
209
|
-
Phases: {count} identified
|
|
210
|
-
|
|
211
|
-
1. Confirm and create plan
|
|
212
|
-
2. Simplify to TODO.md only
|
|
213
|
-
3. Add more context first
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Step 3: Save Appropriately
|
|
217
|
-
|
|
218
|
-
#### Simple Save (TODO.md only)
|
|
219
|
-
|
|
220
|
-
Add to TODO.md Backlog:
|
|
221
|
-
|
|
222
|
-
```markdown
|
|
223
|
-
## Backlog
|
|
224
|
-
|
|
225
|
-
- [ ] t{NNN} {title} #{tag} ~{estimate} logged:{YYYY-MM-DD}
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
**Format elements** (all optional except id and description):
|
|
229
|
-
- `t{NNN}` - Unique task ID (auto-generated, never reused)
|
|
230
|
-
- `@owner` - Who should work on this
|
|
231
|
-
- `#tag` - Category (seo, security, browser, etc.)
|
|
232
|
-
- `~estimate` - Time estimate with breakdown: `~4h (ai:2h test:1h read:30m)`
|
|
233
|
-
- `logged:YYYY-MM-DD` - Auto-added when task created
|
|
234
|
-
- `blocked-by:t001,t002` - Dependencies (cannot start until these done)
|
|
235
|
-
- `blocks:t003` - What this unblocks when complete
|
|
236
|
-
|
|
237
|
-
Respond:
|
|
238
|
-
|
|
239
|
-
```text
|
|
240
|
-
Saved: "{title}" to TODO.md (~{estimate})
|
|
241
|
-
Start anytime with: "Let's work on {title}"
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
#### Complex Save (PLANS.md + TODO.md)
|
|
245
|
-
|
|
246
|
-
1. **Create PLANS.md entry**:
|
|
247
|
-
|
|
248
|
-
```markdown
|
|
249
|
-
### [{YYYY-MM-DD}] {Title}
|
|
250
|
-
|
|
251
|
-
**Status:** Planning
|
|
252
|
-
**Estimate:** ~{estimate}
|
|
253
|
-
**PRD:** [todo/tasks/prd-{slug}.md](tasks/prd-{slug}.md) (if needed)
|
|
254
|
-
**Tasks:** [todo/tasks/tasks-{slug}.md](tasks/tasks-{slug}.md) (if needed)
|
|
255
|
-
|
|
256
|
-
#### Purpose
|
|
257
|
-
|
|
258
|
-
{Why this work matters - from conversation context}
|
|
259
|
-
|
|
260
|
-
#### Progress
|
|
261
|
-
|
|
262
|
-
- [ ] ({timestamp}) Phase 1: {description} ~{est}
|
|
263
|
-
- [ ] ({timestamp}) Phase 2: {description} ~{est}
|
|
264
|
-
|
|
265
|
-
#### Context from Discussion
|
|
266
|
-
|
|
267
|
-
{Key decisions, research findings, constraints from conversation}
|
|
268
|
-
|
|
269
|
-
#### Decision Log
|
|
270
|
-
|
|
271
|
-
(To be populated during implementation)
|
|
272
|
-
|
|
273
|
-
#### Surprises & Discoveries
|
|
274
|
-
|
|
275
|
-
(To be populated during implementation)
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
2. **Add reference to TODO.md** (bidirectional linking):
|
|
279
|
-
|
|
280
|
-
```markdown
|
|
281
|
-
- [ ] {title} #plan → [todo/PLANS.md#{slug}] ~{estimate} logged:{YYYY-MM-DD}
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
3. **Optionally create PRD/tasks** if scope warrants (use `/create-prd`, `/generate-tasks`)
|
|
285
|
-
|
|
286
|
-
Respond:
|
|
287
|
-
|
|
288
|
-
```text
|
|
289
|
-
Saved: "{title}"
|
|
290
|
-
- Plan: todo/PLANS.md
|
|
291
|
-
- Reference: TODO.md
|
|
292
|
-
{- PRD: todo/tasks/prd-{slug}.md (if created)}
|
|
293
|
-
{- Tasks: todo/tasks/tasks-{slug}.md (if created)}
|
|
294
|
-
|
|
295
|
-
Start anytime with: "Let's work on {title}"
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
## Context Preservation
|
|
299
|
-
|
|
300
|
-
Always capture from the conversation:
|
|
301
|
-
- Decisions made and their rationale
|
|
302
|
-
- Research findings
|
|
303
|
-
- Constraints identified
|
|
304
|
-
- Open questions
|
|
305
|
-
- Related links or references mentioned
|
|
306
|
-
|
|
307
|
-
This context goes into the PLANS.md entry under "Context from Discussion" so future sessions have full context.
|
|
308
|
-
|
|
309
|
-
## Starting Work from Plans
|
|
310
|
-
|
|
311
|
-
When user says "Let's work on X" or references a task/plan:
|
|
312
|
-
|
|
313
|
-
### 1. Find Matching Work
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
grep -i "{keyword}" TODO.md
|
|
317
|
-
grep -i "{keyword}" todo/PLANS.md
|
|
318
|
-
ls todo/tasks/*{keyword}* 2>/dev/null
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
### 2. Load Context
|
|
322
|
-
|
|
323
|
-
If PRD/tasks exist, read them for full context.
|
|
324
|
-
|
|
325
|
-
### 3. Present with Auto-Selection
|
|
326
|
-
|
|
327
|
-
```text
|
|
328
|
-
Found: "{title}" (~{estimate})
|
|
329
|
-
|
|
330
|
-
1. Start working (creates branch: {suggested-branch})
|
|
331
|
-
2. View full details first
|
|
332
|
-
3. Different task
|
|
333
|
-
|
|
334
|
-
[Enter] or 1 to start
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
### 4. Follow git-workflow.md
|
|
338
|
-
|
|
339
|
-
After branch creation, follow standard git workflow.
|
|
340
|
-
|
|
341
|
-
## During Implementation
|
|
342
|
-
|
|
343
|
-
### Update Progress
|
|
344
|
-
|
|
345
|
-
After each work session, update `todo/PLANS.md`:
|
|
346
|
-
|
|
347
|
-
```markdown
|
|
348
|
-
#### Progress
|
|
349
|
-
|
|
350
|
-
- [x] (2025-01-14 10:00Z) Research API endpoints
|
|
351
|
-
- [x] (2025-01-14 14:00Z) Create MCP server skeleton
|
|
352
|
-
- [ ] (2025-01-15 09:00Z) Implement core tools ← IN PROGRESS
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
### Record Decisions
|
|
356
|
-
|
|
357
|
-
When making significant choices:
|
|
358
|
-
|
|
359
|
-
```markdown
|
|
360
|
-
#### Decision Log
|
|
361
|
-
|
|
362
|
-
- **Decision:** Use TypeScript + Bun stack
|
|
363
|
-
**Rationale:** Matches existing MCP patterns, faster builds
|
|
364
|
-
**Date:** 2025-01-14
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
### Note Surprises
|
|
368
|
-
|
|
369
|
-
When discovering unexpected information:
|
|
370
|
-
|
|
371
|
-
```markdown
|
|
372
|
-
#### Surprises & Discoveries
|
|
373
|
-
|
|
374
|
-
- **Observation:** Ahrefs rate limits are per-minute, not per-day
|
|
375
|
-
**Evidence:** API docs state 500 requests/minute
|
|
376
|
-
**Impact:** Need to implement request queuing
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Check Off Tasks
|
|
380
|
-
|
|
381
|
-
Update `todo/tasks/tasks-{slug}.md` as work completes:
|
|
382
|
-
|
|
383
|
-
```markdown
|
|
384
|
-
- [x] 1.1 Research API endpoints
|
|
385
|
-
- [x] 1.2 Document authentication flow
|
|
386
|
-
- [ ] 1.3 Implement auth handler ← CURRENT
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
## Completing a Plan
|
|
390
|
-
|
|
391
|
-
### 1. Mark Tasks Complete
|
|
392
|
-
|
|
393
|
-
Ensure all tasks in `todo/tasks/tasks-{slug}.md` are checked.
|
|
394
|
-
|
|
395
|
-
### 2. Record Time
|
|
396
|
-
|
|
397
|
-
At commit time, offer time tracking:
|
|
398
|
-
|
|
399
|
-
```text
|
|
400
|
-
Committing: "{title}"
|
|
401
|
-
Session duration: 2h 12m
|
|
402
|
-
Estimated: ~4h
|
|
403
|
-
|
|
404
|
-
1. Accept 2h 12m as actual
|
|
405
|
-
2. Enter different time
|
|
406
|
-
3. Skip time tracking
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### 3. Update PLANS.md Status
|
|
410
|
-
|
|
411
|
-
```markdown
|
|
412
|
-
**Status:** Completed
|
|
413
|
-
|
|
414
|
-
#### Outcomes & Retrospective
|
|
415
|
-
|
|
416
|
-
**What was delivered:**
|
|
417
|
-
- {Deliverable 1}
|
|
418
|
-
- {Deliverable 2}
|
|
419
|
-
|
|
420
|
-
**Time Summary:**
|
|
421
|
-
- Estimated: 4h
|
|
422
|
-
- Actual: 3h 15m
|
|
423
|
-
- Variance: -19%
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
### 4. Update TODO.md
|
|
427
|
-
|
|
428
|
-
Mark the reference task done:
|
|
429
|
-
|
|
430
|
-
```markdown
|
|
431
|
-
## Done
|
|
432
|
-
|
|
433
|
-
- [x] {title} #plan → [todo/PLANS.md#{slug}] ~4h actual:3h15m completed:2025-01-15
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
### 5. Update CHANGELOG.md
|
|
437
|
-
|
|
438
|
-
Add entry following `workflows/changelog.md` format.
|
|
439
|
-
|
|
440
|
-
## PRD and Task Generation
|
|
441
|
-
|
|
442
|
-
For complex work that needs detailed planning:
|
|
443
|
-
|
|
444
|
-
### Generate PRD (`/create-prd`)
|
|
445
|
-
|
|
446
|
-
Ask clarifying questions using numbered options:
|
|
447
|
-
|
|
448
|
-
```text
|
|
449
|
-
To create the PRD, I need to clarify:
|
|
450
|
-
|
|
451
|
-
1. What is the primary goal?
|
|
452
|
-
A. {option}
|
|
453
|
-
B. {option}
|
|
454
|
-
|
|
455
|
-
2. Who is the target user?
|
|
456
|
-
A. {option}
|
|
457
|
-
B. {option}
|
|
458
|
-
|
|
459
|
-
Reply with "1A, 2B" or provide details.
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
Create PRD in `todo/tasks/prd-{slug}.md` using `templates/prd-template.md`.
|
|
463
|
-
|
|
464
|
-
### Generate Tasks (`/generate-tasks`)
|
|
465
|
-
|
|
466
|
-
**Phase 1: Parent Tasks**
|
|
467
|
-
|
|
468
|
-
```text
|
|
469
|
-
High-level tasks with estimates:
|
|
470
|
-
|
|
471
|
-
- [ ] 0.0 Create feature branch ~5m
|
|
472
|
-
- [ ] 1.0 {First major task} ~2h
|
|
473
|
-
- [ ] 2.0 {Second major task} ~3h
|
|
474
|
-
|
|
475
|
-
Total: ~5h 5m
|
|
476
|
-
|
|
477
|
-
Reply "Go" to generate sub-tasks.
|
|
478
|
-
```
|
|
479
|
-
|
|
480
|
-
**Phase 2: Sub-Tasks**
|
|
481
|
-
|
|
482
|
-
```markdown
|
|
483
|
-
- [ ] 0.0 Create feature branch
|
|
484
|
-
- [ ] 0.1 Create and checkout: `git checkout -b feature/{slug}`
|
|
485
|
-
|
|
486
|
-
- [ ] 1.0 {First major task}
|
|
487
|
-
- [ ] 1.1 {Sub-task}
|
|
488
|
-
- [ ] 1.2 {Sub-task}
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
Create in `todo/tasks/tasks-{slug}.md` using `templates/tasks-template.md`.
|
|
492
|
-
|
|
493
|
-
## Time Estimation Heuristics
|
|
494
|
-
|
|
495
|
-
| Task Type | AI Time | Test Time | Read Time |
|
|
496
|
-
|-----------|---------|-----------|-----------|
|
|
497
|
-
| Simple fix | 15-30m | 10-15m | 5m |
|
|
498
|
-
| New function | 30m-1h | 15-30m | 10m |
|
|
499
|
-
| New component | 1-2h | 30m-1h | 15m |
|
|
500
|
-
| New feature | 2-4h | 1-2h | 30m |
|
|
501
|
-
| Architecture change | 4-8h | 2-4h | 1h |
|
|
502
|
-
| Research/spike | 1-2h | - | 30m |
|
|
503
|
-
|
|
504
|
-
## Dependencies and Blocking
|
|
505
|
-
|
|
506
|
-
### Dependency Syntax
|
|
507
|
-
|
|
508
|
-
Tasks can declare dependencies using these fields:
|
|
509
|
-
|
|
510
|
-
```markdown
|
|
511
|
-
- [ ] t001 Parent task ~4h
|
|
512
|
-
- [ ] t001.1 Subtask ~2h blocked-by:t002
|
|
513
|
-
- [ ] t001.1.1 Sub-subtask ~1h
|
|
514
|
-
- [ ] t001.2 Another subtask ~1h blocks:t003
|
|
515
|
-
```
|
|
516
|
-
|
|
517
|
-
| Field | Syntax | Meaning |
|
|
518
|
-
|-------|--------|---------|
|
|
519
|
-
| `blocked-by:` | `blocked-by:t001,t002` | Cannot start until t001 AND t002 are done |
|
|
520
|
-
| `blocks:` | `blocks:t003,t004` | Completing this task unblocks t003 and t004 |
|
|
521
|
-
| Indentation | 2 spaces per level | Implicit parent-child relationship |
|
|
522
|
-
|
|
523
|
-
### TOON Dependencies Block
|
|
524
|
-
|
|
525
|
-
Dependencies are also stored in machine-readable TOON format:
|
|
526
|
-
|
|
527
|
-
```markdown
|
|
528
|
-
<!--TOON:dependencies[N]{from_id,to_id,type}:
|
|
529
|
-
t019.2,t019.1,blocked-by
|
|
530
|
-
t019.3,t019.2,blocked-by
|
|
531
|
-
t020,t019,blocked-by
|
|
532
|
-
-->
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
### /ready Command
|
|
536
|
-
|
|
537
|
-
Show tasks with no open blockers (ready to work on):
|
|
538
|
-
|
|
539
|
-
```bash
|
|
540
|
-
# Invoked via AI assistant
|
|
541
|
-
/ready
|
|
542
|
-
|
|
543
|
-
# Or via script
|
|
544
|
-
~/.aidevops/agents/scripts/todo-ready.sh
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
Output:
|
|
548
|
-
|
|
549
|
-
```text
|
|
550
|
-
Ready to work (no blockers):
|
|
551
|
-
|
|
552
|
-
1. t011 Demote wordpress.md from main agent to subagent ~1h
|
|
553
|
-
2. t014 Document RapidFuzz library ~30m
|
|
554
|
-
3. t004 Add Ahrefs MCP server integration ~2d
|
|
555
|
-
|
|
556
|
-
Blocked (waiting on dependencies):
|
|
557
|
-
|
|
558
|
-
- t019.2 Phase 2: Bi-directional sync (blocked-by: t019.1)
|
|
559
|
-
- t020 Git Issues Sync (blocked-by: t019)
|
|
560
|
-
```
|
|
561
|
-
|
|
562
|
-
### Hierarchical Task IDs
|
|
563
|
-
|
|
564
|
-
Tasks use stable, hierarchical IDs that are never reused:
|
|
565
|
-
|
|
566
|
-
| Level | Pattern | Example | Use Case |
|
|
567
|
-
|-------|---------|---------|----------|
|
|
568
|
-
| Top-level | `tNNN` | `t001` | Independent tasks |
|
|
569
|
-
| Subtask | `tNNN.N` | `t001.1` | Phases, components |
|
|
570
|
-
| Sub-subtask | `tNNN.N.N` | `t001.1.1` | Detailed steps |
|
|
571
|
-
|
|
572
|
-
**Rules:**
|
|
573
|
-
- IDs are assigned sequentially and never reused
|
|
574
|
-
- Subtasks inherit parent's ID as prefix
|
|
575
|
-
- Maximum depth: 3 levels (t001.1.1)
|
|
576
|
-
- IDs are stable across syncs with Beads
|
|
577
|
-
|
|
578
|
-
## Beads Integration
|
|
579
|
-
|
|
580
|
-
### Sync with Beads
|
|
581
|
-
|
|
582
|
-
aidevops Tasks & Plans syncs bi-directionally with [Beads](https://github.com/steveyegge/beads) for graph visualization and analytics.
|
|
583
|
-
|
|
584
|
-
```bash
|
|
585
|
-
# Sync TODO.md → Beads
|
|
586
|
-
/sync-beads push
|
|
587
|
-
|
|
588
|
-
# Sync Beads → TODO.md
|
|
589
|
-
/sync-beads pull
|
|
590
|
-
|
|
591
|
-
# Two-way sync with conflict detection
|
|
592
|
-
/sync-beads
|
|
593
|
-
|
|
594
|
-
# Or via script
|
|
595
|
-
~/.aidevops/agents/scripts/beads-sync-helper.sh [push|pull|sync]
|
|
596
|
-
```
|
|
597
|
-
|
|
598
|
-
### Sync Guarantees
|
|
599
|
-
|
|
600
|
-
| Guarantee | Implementation |
|
|
601
|
-
|-----------|----------------|
|
|
602
|
-
| No race conditions | Lock file during sync |
|
|
603
|
-
| Data integrity | Checksum verification before/after |
|
|
604
|
-
| Conflict detection | Warns if both sides changed |
|
|
605
|
-
| Audit trail | All syncs logged to `.beads/sync.log` |
|
|
606
|
-
| Command-led only | No automatic sync (user controls timing) |
|
|
607
|
-
|
|
608
|
-
### Beads UIs
|
|
609
|
-
|
|
610
|
-
After syncing, use Beads ecosystem for visualization:
|
|
611
|
-
|
|
612
|
-
| UI | Command | Best For |
|
|
613
|
-
|----|---------|----------|
|
|
614
|
-
| beads_viewer | `bv` | Graph analytics, PageRank, critical path |
|
|
615
|
-
| beads-ui | `npx beads-ui start` | Web dashboard, kanban |
|
|
616
|
-
| bdui | `bdui` | Quick terminal view |
|
|
617
|
-
| perles | `perles` | BQL queries |
|
|
618
|
-
| beads.el | `M-x beads-list` | Emacs users |
|
|
619
|
-
|
|
620
|
-
## Time Tracking Configuration
|
|
621
|
-
|
|
622
|
-
Configure per-repo in `.aidevops.json`:
|
|
623
|
-
|
|
624
|
-
```json
|
|
625
|
-
{
|
|
626
|
-
"time_tracking": "prompt",
|
|
627
|
-
"features": ["planning", "time-tracking", "beads"]
|
|
628
|
-
}
|
|
629
|
-
```
|
|
630
|
-
|
|
631
|
-
| Setting | Behavior |
|
|
632
|
-
|---------|----------|
|
|
633
|
-
| `true` | Always prompt for time at commit |
|
|
634
|
-
| `false` | Never prompt (disable time tracking) |
|
|
635
|
-
| `prompt` | Ask once per session, remember preference |
|
|
636
|
-
|
|
637
|
-
Use `/log-time-spent` command to manually log time anytime.
|
|
638
|
-
|
|
639
|
-
## Git Branch Strategy for TODO.md Changes
|
|
640
|
-
|
|
641
|
-
TODO.md changes fall into two categories with different branch strategies:
|
|
642
|
-
|
|
643
|
-
### Stay on Current Branch (Default)
|
|
644
|
-
|
|
645
|
-
Most TODO.md changes should stay on the current branch:
|
|
646
|
-
|
|
647
|
-
| Change Type | Example | Why Stay? |
|
|
648
|
-
|-------------|---------|-----------|
|
|
649
|
-
| Task discovered during work | "Found we need rate limiting while building auth" | Related context |
|
|
650
|
-
| Subtask additions | Adding t019.2.1 while working on t019 | Must stay together |
|
|
651
|
-
| Status updates | Moving task to In Progress, marking Done | Part of workflow |
|
|
652
|
-
| Dependency updates | Adding `blocked-by:` when discovering blockers | Discovered in context |
|
|
653
|
-
| Context notes | Adding notes to tasks you're actively working on | Preserves context |
|
|
654
|
-
|
|
655
|
-
### Consider Dedicated Branch
|
|
656
|
-
|
|
657
|
-
When adding **unrelated backlog items** (new ideas, tools to evaluate, future work):
|
|
658
|
-
|
|
659
|
-
| Condition | Recommendation |
|
|
660
|
-
|-----------|----------------|
|
|
661
|
-
| No uncommitted changes | Offer branch choice |
|
|
662
|
-
| Has uncommitted changes | Stay on current branch (lower friction) |
|
|
663
|
-
| Adding 3+ unrelated items | Suggest batching on dedicated branch |
|
|
664
|
-
|
|
665
|
-
**Prompt pattern** (when adding unrelated backlog items):
|
|
666
|
-
|
|
667
|
-
```text
|
|
668
|
-
Adding {N} backlog items unrelated to `{current-branch}`:
|
|
669
|
-
- {item 1}
|
|
670
|
-
- {item 2}
|
|
671
|
-
|
|
672
|
-
1. Add to current branch (quick, may create PR noise)
|
|
673
|
-
2. Create `chore/backlog-updates` branch (cleaner history)
|
|
674
|
-
3. Add to main directly (TODO.md only, skip PR)
|
|
675
|
-
```
|
|
676
|
-
|
|
677
|
-
### Why Not Always Switch?
|
|
678
|
-
|
|
679
|
-
A "always switch branches for TODO.md" rule fails the 80% universal applicability test:
|
|
680
|
-
|
|
681
|
-
- ~45% of todo additions ARE related to current work
|
|
682
|
-
- Branch switching adds 2-5 minutes overhead per switch
|
|
683
|
-
- Uncommitted changes make switching complex (stash/pop)
|
|
684
|
-
- Context is lost when separating related discoveries
|
|
685
|
-
|
|
686
|
-
**Bottom line**: Use judgment. Related work stays together; unrelated backlog can optionally go to a dedicated branch.
|
|
687
|
-
|
|
688
|
-
## Integration with Other Workflows
|
|
689
|
-
|
|
690
|
-
| Workflow | Integration |
|
|
691
|
-
|----------|-------------|
|
|
692
|
-
| `git-workflow.md` | Branch names derived from tasks/plans |
|
|
693
|
-
| `branch.md` | Task 0.0 creates branch |
|
|
694
|
-
| `feature-development.md` | Auto-suggests planning for complex work |
|
|
695
|
-
| `preflight.md` | Run before marking plan complete |
|
|
696
|
-
| `changelog.md` | Update on plan completion |
|
|
697
|
-
|
|
698
|
-
## Related
|
|
699
|
-
|
|
700
|
-
- `feature-development.md` - Feature implementation patterns
|
|
701
|
-
- `git-workflow.md` - Branch creation and management
|
|
702
|
-
- `branch.md` - Branch naming conventions
|
|
703
|
-
|
|
704
|
-
## Templates
|
|
705
|
-
|
|
706
|
-
- `templates/prd-template.md` - PRD structure
|
|
707
|
-
- `templates/tasks-template.md` - Task list format
|
|
708
|
-
- `templates/todo-template.md` - TODO.md for new repos
|
|
709
|
-
- `templates/plans-template.md` - PLANS.md for new repos
|