shipwright-cli 1.7.1 → 1.9.0

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.
Files changed (105) hide show
  1. package/.claude/agents/code-reviewer.md +90 -0
  2. package/.claude/agents/devops-engineer.md +142 -0
  3. package/.claude/agents/pipeline-agent.md +80 -0
  4. package/.claude/agents/shell-script-specialist.md +150 -0
  5. package/.claude/agents/test-specialist.md +196 -0
  6. package/.claude/hooks/post-tool-use.sh +38 -0
  7. package/.claude/hooks/pre-tool-use.sh +25 -0
  8. package/.claude/hooks/session-started.sh +37 -0
  9. package/README.md +212 -814
  10. package/claude-code/CLAUDE.md.shipwright +54 -0
  11. package/claude-code/hooks/notify-idle.sh +2 -2
  12. package/claude-code/hooks/session-start.sh +24 -0
  13. package/claude-code/hooks/task-completed.sh +6 -2
  14. package/claude-code/settings.json.template +12 -0
  15. package/dashboard/public/app.js +4422 -0
  16. package/dashboard/public/index.html +816 -0
  17. package/dashboard/public/styles.css +4755 -0
  18. package/dashboard/server.ts +4315 -0
  19. package/docs/KNOWN-ISSUES.md +18 -10
  20. package/docs/TIPS.md +38 -26
  21. package/docs/patterns/README.md +33 -23
  22. package/package.json +9 -5
  23. package/scripts/adapters/iterm2-adapter.sh +1 -1
  24. package/scripts/adapters/tmux-adapter.sh +52 -23
  25. package/scripts/adapters/wezterm-adapter.sh +26 -14
  26. package/scripts/lib/compat.sh +200 -0
  27. package/scripts/lib/helpers.sh +72 -0
  28. package/scripts/postinstall.mjs +72 -13
  29. package/scripts/{cct → sw} +109 -21
  30. package/scripts/sw-adversarial.sh +274 -0
  31. package/scripts/sw-architecture-enforcer.sh +330 -0
  32. package/scripts/sw-checkpoint.sh +390 -0
  33. package/scripts/{cct-cleanup.sh → sw-cleanup.sh} +3 -1
  34. package/scripts/sw-connect.sh +619 -0
  35. package/scripts/{cct-cost.sh → sw-cost.sh} +368 -34
  36. package/scripts/{cct-daemon.sh → sw-daemon.sh} +2217 -204
  37. package/scripts/sw-dashboard.sh +477 -0
  38. package/scripts/sw-developer-simulation.sh +252 -0
  39. package/scripts/sw-docs.sh +635 -0
  40. package/scripts/sw-doctor.sh +907 -0
  41. package/scripts/{cct-fix.sh → sw-fix.sh} +10 -6
  42. package/scripts/{cct-fleet.sh → sw-fleet.sh} +498 -22
  43. package/scripts/sw-github-checks.sh +521 -0
  44. package/scripts/sw-github-deploy.sh +533 -0
  45. package/scripts/sw-github-graphql.sh +972 -0
  46. package/scripts/sw-heartbeat.sh +293 -0
  47. package/scripts/{cct-init.sh → sw-init.sh} +144 -11
  48. package/scripts/sw-intelligence.sh +1196 -0
  49. package/scripts/sw-jira.sh +643 -0
  50. package/scripts/sw-launchd.sh +364 -0
  51. package/scripts/sw-linear.sh +648 -0
  52. package/scripts/{cct-logs.sh → sw-logs.sh} +72 -2
  53. package/scripts/{cct-loop.sh → sw-loop.sh} +534 -44
  54. package/scripts/{cct-memory.sh → sw-memory.sh} +321 -38
  55. package/scripts/sw-patrol-meta.sh +417 -0
  56. package/scripts/sw-pipeline-composer.sh +455 -0
  57. package/scripts/{cct-pipeline.sh → sw-pipeline.sh} +2319 -178
  58. package/scripts/sw-predictive.sh +820 -0
  59. package/scripts/{cct-prep.sh → sw-prep.sh} +339 -49
  60. package/scripts/{cct-ps.sh → sw-ps.sh} +6 -4
  61. package/scripts/{cct-reaper.sh → sw-reaper.sh} +6 -4
  62. package/scripts/sw-remote.sh +687 -0
  63. package/scripts/sw-self-optimize.sh +947 -0
  64. package/scripts/sw-session.sh +519 -0
  65. package/scripts/sw-setup.sh +234 -0
  66. package/scripts/sw-status.sh +605 -0
  67. package/scripts/{cct-templates.sh → sw-templates.sh} +9 -4
  68. package/scripts/sw-tmux.sh +591 -0
  69. package/scripts/sw-tracker-jira.sh +277 -0
  70. package/scripts/sw-tracker-linear.sh +292 -0
  71. package/scripts/sw-tracker.sh +409 -0
  72. package/scripts/{cct-upgrade.sh → sw-upgrade.sh} +103 -46
  73. package/scripts/{cct-worktree.sh → sw-worktree.sh} +3 -0
  74. package/templates/pipelines/autonomous.json +27 -5
  75. package/templates/pipelines/full.json +12 -0
  76. package/templates/pipelines/standard.json +12 -0
  77. package/tmux/{claude-teams-overlay.conf → shipwright-overlay.conf} +27 -9
  78. package/tmux/templates/accessibility.json +34 -0
  79. package/tmux/templates/api-design.json +35 -0
  80. package/tmux/templates/architecture.json +1 -0
  81. package/tmux/templates/bug-fix.json +9 -0
  82. package/tmux/templates/code-review.json +1 -0
  83. package/tmux/templates/compliance.json +36 -0
  84. package/tmux/templates/data-pipeline.json +36 -0
  85. package/tmux/templates/debt-paydown.json +34 -0
  86. package/tmux/templates/devops.json +1 -0
  87. package/tmux/templates/documentation.json +1 -0
  88. package/tmux/templates/exploration.json +1 -0
  89. package/tmux/templates/feature-dev.json +1 -0
  90. package/tmux/templates/full-stack.json +8 -0
  91. package/tmux/templates/i18n.json +34 -0
  92. package/tmux/templates/incident-response.json +36 -0
  93. package/tmux/templates/migration.json +1 -0
  94. package/tmux/templates/observability.json +35 -0
  95. package/tmux/templates/onboarding.json +33 -0
  96. package/tmux/templates/performance.json +35 -0
  97. package/tmux/templates/refactor.json +1 -0
  98. package/tmux/templates/release.json +35 -0
  99. package/tmux/templates/security-audit.json +8 -0
  100. package/tmux/templates/spike.json +34 -0
  101. package/tmux/templates/testing.json +1 -0
  102. package/tmux/tmux.conf +98 -9
  103. package/scripts/cct-doctor.sh +0 -414
  104. package/scripts/cct-session.sh +0 -284
  105. package/scripts/cct-status.sh +0 -169
@@ -8,15 +8,30 @@
8
8
  },
9
9
  "stages": [
10
10
  { "id": "intake", "enabled": true, "gate": "auto", "config": {} },
11
- { "id": "plan", "enabled": true, "gate": "auto", "config": { "model": "opus" } },
12
- { "id": "design", "enabled": true, "gate": "auto", "config": { "model": "opus" } },
11
+ {
12
+ "id": "plan",
13
+ "enabled": true,
14
+ "gate": "auto",
15
+ "config": { "model": "opus" }
16
+ },
17
+ {
18
+ "id": "design",
19
+ "enabled": true,
20
+ "gate": "auto",
21
+ "config": { "model": "opus" }
22
+ },
13
23
  {
14
24
  "id": "build",
15
25
  "enabled": true,
16
26
  "gate": "auto",
17
27
  "config": { "max_iterations": 20, "audit": true, "quality_gates": true }
18
28
  },
19
- { "id": "test", "enabled": true, "gate": "auto", "config": { "coverage_min": 80 } },
29
+ {
30
+ "id": "test",
31
+ "enabled": true,
32
+ "gate": "auto",
33
+ "config": { "coverage_min": 80 }
34
+ },
20
35
  { "id": "review", "enabled": true, "gate": "auto", "config": {} },
21
36
  {
22
37
  "id": "compound_quality",
@@ -30,7 +45,12 @@
30
45
  "max_cycles": 3
31
46
  }
32
47
  },
33
- { "id": "pr", "enabled": true, "gate": "auto", "config": { "wait_ci": false } },
48
+ {
49
+ "id": "pr",
50
+ "enabled": true,
51
+ "gate": "auto",
52
+ "config": { "wait_ci": false }
53
+ },
34
54
  {
35
55
  "id": "merge",
36
56
  "enabled": true,
@@ -38,7 +58,9 @@
38
58
  "config": {
39
59
  "merge_method": "squash",
40
60
  "wait_ci_timeout_s": 600,
41
- "auto_delete_branch": true
61
+ "auto_delete_branch": true,
62
+ "auto_merge": true,
63
+ "auto_approve": true
42
64
  }
43
65
  },
44
66
  {
@@ -66,6 +66,18 @@
66
66
  "gate": "approve",
67
67
  "config": { "wait_ci": true }
68
68
  },
69
+ {
70
+ "id": "merge",
71
+ "enabled": true,
72
+ "gate": "approve",
73
+ "config": {
74
+ "merge_method": "squash",
75
+ "wait_ci_timeout_s": 600,
76
+ "auto_delete_branch": true,
77
+ "auto_merge": false,
78
+ "auto_approve": false
79
+ }
80
+ },
69
81
  {
70
82
  "id": "deploy",
71
83
  "enabled": true,
@@ -53,6 +53,18 @@
53
53
  "gate": "approve",
54
54
  "config": { "wait_ci": false }
55
55
  },
56
+ {
57
+ "id": "merge",
58
+ "enabled": true,
59
+ "gate": "approve",
60
+ "config": {
61
+ "merge_method": "squash",
62
+ "wait_ci_timeout_s": 600,
63
+ "auto_delete_branch": true,
64
+ "auto_merge": true,
65
+ "auto_approve": true
66
+ }
67
+ },
56
68
  {
57
69
  "id": "deploy",
58
70
  "enabled": false,
@@ -1,25 +1,26 @@
1
1
  # ╔═══════════════════════════════════════════════════════════════════════════╗
2
- # ║ CLAUDE CODE TEAMS - TMUX OVERLAY CONFIGURATION
2
+ # ║ SHIPWRIGHT TMUX OVERLAY CONFIGURATION
3
3
  # ║ ║
4
4
  # ║ This overlay adds agent-aware pane styling and team keybindings to ║
5
5
  # ║ your existing tmux config. It is sourced automatically by tmux.conf ║
6
6
  # ║ but can also be used independently: ║
7
7
  # ║ ║
8
- # ║ tmux source-file ~/.tmux/claude-teams-overlay.conf
8
+ # ║ tmux source-file ~/.tmux/shipwright-overlay.conf
9
9
  # ║ ║
10
10
  # ║ What this overlay does: ║
11
11
  # ║ - Shows agent names in pane borders (pane_title) ║
12
12
  # ║ - Enables aggressive resize for better multi-agent layouts ║
13
13
  # ║ - Adds safety bindings to prevent accidentally killing agent panes ║
14
14
  # ║ - Provides team-specific keybindings for navigation and management ║
15
+ # ║ - Fixes known Claude Code + tmux compatibility issues ║
15
16
  # ║ ║
16
17
  # ║ Convention: Each Claude agent pane should set its title on startup via: ║
17
18
  # ║ printf '\033]2;agent-name\033\\' ║
18
- # ║ The shipwright CLI does this automatically when spawning agent panes.
19
+ # ║ The shipwright CLI does this automatically when spawning agent panes.
19
20
  # ╚═══════════════════════════════════════════════════════════════════════════╝
20
21
 
21
22
  # ═══════════════════════════════════════════════════════════════════════════
22
- # PANE TITLES - Show agent names in borders
23
+ # PANE TITLES Show agent names in borders
23
24
  # ═══════════════════════════════════════════════════════════════════════════
24
25
 
25
26
  # Display pane titles at the top of each pane border
@@ -27,10 +28,11 @@ set -g pane-border-status top
27
28
 
28
29
  # Format: pane index, agent name, running command, zoom indicator
29
30
  # Active pane gets cyan accent; inactive stays muted
31
+ # Uses #{pane_title} which each agent sets via OSC 2 escape sequence
30
32
  set -g pane-border-format "#{?pane_active,#[fg=#00d4ff]#[bold],#[fg=#71717a]} #P │ #{pane_title} #[fg=#333355]│#[default] #{?pane_active,#[fg=#e4e4e7],#[fg=#52525b]}#{pane_current_command} #{?window_zoomed_flag,#[fg=#facc15]#[bold]🔍 ZOOMED ,}"
31
33
 
32
34
  # ═══════════════════════════════════════════════════════════════════════════
33
- # LAYOUT - Optimize for multi-agent pane layouts
35
+ # LAYOUT Optimize for multi-agent pane layouts
34
36
  # ═══════════════════════════════════════════════════════════════════════════
35
37
 
36
38
  # Aggressive resize: let panes resize independently per client
@@ -46,13 +48,14 @@ set -g window-style 'bg=#1a1a2e,fg=#e4e4e7'
46
48
  set -g window-active-style 'bg=#1a1a2e,fg=#e4e4e7'
47
49
 
48
50
  # Hooks provide belt-and-suspenders coverage: explicitly set per-pane
49
- # colors whenever a pane is created, preventing white flash on creation
51
+ # colors whenever a pane is created, preventing white flash on creation.
52
+ # Also re-enable allow-passthrough per-pane (some tmux versions reset it).
50
53
  set-hook -g after-split-window "select-pane -P 'bg=#1a1a2e,fg=#e4e4e7'"
51
54
  set-hook -g after-new-window "select-pane -P 'bg=#1a1a2e,fg=#e4e4e7'"
52
55
  set-hook -g after-new-session "select-pane -P 'bg=#1a1a2e,fg=#e4e4e7'"
53
56
 
54
57
  # ═══════════════════════════════════════════════════════════════════════════
55
- # SAFETY - Confirm before killing agent panes
58
+ # SAFETY Confirm before killing agent panes
56
59
  # ═══════════════════════════════════════════════════════════════════════════
57
60
 
58
61
  # Override default kill-pane to require confirmation in team windows
@@ -64,12 +67,15 @@ bind X confirm-before -p "Kill ALL panes in window #W? (y/n)" kill-window
64
67
  # TEAM NAVIGATION
65
68
  # ═══════════════════════════════════════════════════════════════════════════
66
69
 
67
- # prefix + g → select a pane by agent name (uses choose-tree for visual picking)
70
+ # prefix + g → display pane numbers for 5 seconds (type number to select)
68
71
  bind g display-panes -d 5000
69
72
 
70
73
  # prefix + G → toggle zoom on current agent pane (focus on one agent's output)
71
74
  bind G resize-pane -Z
72
75
 
76
+ # prefix + w → choose window/pane from a tree (visual picker)
77
+ bind w choose-tree -Zw
78
+
73
79
  # ═══════════════════════════════════════════════════════════════════════════
74
80
  # TEAM MANAGEMENT
75
81
  # ═══════════════════════════════════════════════════════════════════════════
@@ -79,7 +85,6 @@ bind G resize-pane -Z
79
85
  bind M-t setw synchronize-panes \; display-message "Team sync #{?synchronize-panes,ON,OFF}"
80
86
 
81
87
  # prefix + M-l → rotate through even-horizontal, even-vertical, tiled layouts
82
- # Useful for reorganizing agent panes
83
88
  bind M-l next-layout
84
89
 
85
90
  # prefix + M-s → capture current pane's full scrollback to file
@@ -102,6 +107,19 @@ bind M-1 select-layout main-horizontal \; resize-pane -t 0 -x 65%
102
107
  bind M-2 select-layout main-vertical \; resize-pane -t 0 -y 60%
103
108
  bind M-3 select-layout tiled
104
109
 
110
+ # ═══════════════════════════════════════════════════════════════════════════
111
+ # SHIPWRIGHT POPUPS — Quick access to tools
112
+ # ═══════════════════════════════════════════════════════════════════════════
113
+
114
+ # prefix + M-d → Shipwright dashboard in floating popup
115
+ bind M-d display-popup -w 85% -h 80% -E "shipwright status 2>/dev/null; echo ''; shipwright ps 2>/dev/null; echo ''; echo 'Press ENTER to close'; read"
116
+
117
+ # prefix + M-m → Memory system in floating popup
118
+ bind M-m display-popup -w 80% -h 70% -E "shipwright memory show 2>/dev/null || echo 'No memories found'; echo ''; echo 'Press ENTER to close'; read"
119
+
120
+ # prefix + M-h → Heartbeat status in floating popup
121
+ bind M-h display-popup -w 70% -h 50% -E "shipwright heartbeat list 2>/dev/null || echo 'No active heartbeats'; echo ''; echo 'Press ENTER to close'; read"
122
+
105
123
  # ═══════════════════════════════════════════════════════════════════════════
106
124
  # PANE REAPER — Quick cleanup of dead agent panes
107
125
  # ═══════════════════════════════════════════════════════════════════════════
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "accessibility",
3
+ "description": "Accessibility audit and remediation with auditor, fixer, and verifier agents",
4
+ "keywords": [
5
+ "accessibility",
6
+ "a11y",
7
+ "wcag",
8
+ "aria",
9
+ "screen reader",
10
+ "keyboard",
11
+ "contrast",
12
+ "inclusive"
13
+ ],
14
+ "agents": [
15
+ {
16
+ "name": "auditor",
17
+ "role": "WCAG 2.1 compliance scanning, keyboard navigation audit, color contrast checks, missing ARIA labels",
18
+ "focus": "src/components/, apps/web/, *.tsx, *.jsx, *.html"
19
+ },
20
+ {
21
+ "name": "fixer",
22
+ "role": "Add ARIA labels, fix focus management, improve color contrast, add skip links, semantic HTML",
23
+ "focus": "src/components/, apps/web/, *.tsx, *.jsx, *.css"
24
+ },
25
+ {
26
+ "name": "verifier",
27
+ "role": "Accessibility regression tests, screen reader compatibility verification, keyboard-only flow testing",
28
+ "focus": "*.test.*, __tests__/, e2e/, cypress/"
29
+ }
30
+ ],
31
+ "layout": "tiled",
32
+ "layout_style": "main-horizontal",
33
+ "main_pane_percent": 65
34
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "api-design",
3
+ "description": "API design and implementation with designer, implementer, and consumer agents",
4
+ "keywords": [
5
+ "api",
6
+ "endpoint",
7
+ "rest",
8
+ "graphql",
9
+ "grpc",
10
+ "openapi",
11
+ "swagger",
12
+ "schema",
13
+ "contract"
14
+ ],
15
+ "agents": [
16
+ {
17
+ "name": "designer",
18
+ "role": "Schema design, OpenAPI/GraphQL spec, contract definition, versioning strategy",
19
+ "focus": "*.yaml, *.graphql, *.proto, docs/api/, openapi/"
20
+ },
21
+ {
22
+ "name": "implementer",
23
+ "role": "Routes, middleware, validation, serialization, error handling, rate limiting",
24
+ "focus": "src/api/, src/routes/, src/middleware/, src/controllers/"
25
+ },
26
+ {
27
+ "name": "consumer",
28
+ "role": "Client SDK, usage examples, integration tests, developer experience validation",
29
+ "focus": "src/client/, sdk/, examples/, *.test.*, __tests__/"
30
+ }
31
+ ],
32
+ "layout": "tiled",
33
+ "layout_style": "main-horizontal",
34
+ "main_pane_percent": 65
35
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "architecture",
3
3
  "description": "Architecture planning with research and specification agents",
4
+ "keywords": ["architecture", "design", "structure", "system", "diagram"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "researcher",
@@ -1,6 +1,15 @@
1
1
  {
2
2
  "name": "bug-fix",
3
3
  "description": "Bug fix with reproducer, fixer, and verifier agents",
4
+ "keywords": [
5
+ "bug",
6
+ "fix",
7
+ "error",
8
+ "crash",
9
+ "broken",
10
+ "failing",
11
+ "regression"
12
+ ],
4
13
  "agents": [
5
14
  {
6
15
  "name": "reproducer",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "code-review",
3
3
  "description": "Code review with quality, security, and test coverage agents",
4
+ "keywords": ["review", "audit", "quality", "check", "pr"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "code-quality",
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "compliance",
3
+ "description": "Regulatory and license compliance with scanning, remediation, and documentation agents",
4
+ "keywords": [
5
+ "compliance",
6
+ "license",
7
+ "sbom",
8
+ "gdpr",
9
+ "hipaa",
10
+ "sox",
11
+ "pci",
12
+ "regulation",
13
+ "audit",
14
+ "legal"
15
+ ],
16
+ "agents": [
17
+ {
18
+ "name": "scanner",
19
+ "role": "License audit, SBOM generation, dependency risk assessment, known vulnerability scanning, policy violation detection",
20
+ "focus": "package.json, go.mod, Cargo.toml, *.lock, requirements.txt, LICENSE"
21
+ },
22
+ {
23
+ "name": "remediator",
24
+ "role": "Replace problematic dependencies, add required license notices, fix policy violations, update to compliant versions",
25
+ "focus": "src/, lib/, package.json, go.mod, LICENSE, NOTICE"
26
+ },
27
+ {
28
+ "name": "documenter",
29
+ "role": "Compliance reports, audit trail documentation, data flow diagrams, privacy impact assessments, policy documentation",
30
+ "focus": "docs/, compliance/, *.md, SECURITY.md, PRIVACY.md"
31
+ }
32
+ ],
33
+ "layout": "tiled",
34
+ "layout_style": "main-horizontal",
35
+ "main_pane_percent": 65
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "data-pipeline",
3
+ "description": "Data engineering with extract, transform, and load agents",
4
+ "keywords": [
5
+ "data",
6
+ "pipeline",
7
+ "etl",
8
+ "elt",
9
+ "ingestion",
10
+ "warehouse",
11
+ "lake",
12
+ "batch",
13
+ "stream",
14
+ "sql"
15
+ ],
16
+ "agents": [
17
+ {
18
+ "name": "extractor",
19
+ "role": "Source connectors, ingestion logic, schema mapping, incremental extraction, change data capture",
20
+ "focus": "src/extract/, src/connectors/, src/sources/, config/"
21
+ },
22
+ {
23
+ "name": "transformer",
24
+ "role": "Business logic, data cleaning, aggregation, validation rules, data quality checks",
25
+ "focus": "src/transform/, src/models/, src/validators/, sql/, dbt/"
26
+ },
27
+ {
28
+ "name": "loader",
29
+ "role": "Sink connectors, idempotent writes, partitioning, monitoring, schema evolution handling",
30
+ "focus": "src/load/, src/sinks/, src/destinations/, *.test.*"
31
+ }
32
+ ],
33
+ "layout": "tiled",
34
+ "layout_style": "main-horizontal",
35
+ "main_pane_percent": 65
36
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "debt-paydown",
3
+ "description": "Technical debt reduction with analysis, refactoring, and verification agents",
4
+ "keywords": [
5
+ "debt",
6
+ "tech debt",
7
+ "technical debt",
8
+ "cleanup",
9
+ "legacy",
10
+ "modernize",
11
+ "deprecate",
12
+ "upgrade deps"
13
+ ],
14
+ "agents": [
15
+ {
16
+ "name": "analyzer",
17
+ "role": "Identify debt hotspots — cyclomatic complexity, code churn, tight coupling, outdated dependencies, dead code",
18
+ "focus": "src/, lib/, package.json, go.mod, *.lock"
19
+ },
20
+ {
21
+ "name": "refactorer",
22
+ "role": "Systematic cleanup while preserving test coverage. Upgrade dependencies, remove dead code, simplify abstractions.",
23
+ "focus": "src/, lib/, apps/"
24
+ },
25
+ {
26
+ "name": "reviewer",
27
+ "role": "Verify behavior preservation — no regressions, measurable complexity reduction, test coverage maintained or improved",
28
+ "focus": "*.test.*, __tests__/, *.spec.*"
29
+ }
30
+ ],
31
+ "layout": "tiled",
32
+ "layout_style": "main-horizontal",
33
+ "main_pane_percent": 65
34
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "devops",
3
3
  "description": "DevOps with CI/CD pipeline and infrastructure agents",
4
+ "keywords": ["devops", "deploy", "ci", "cd", "infrastructure", "docker"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "pipeline",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "documentation",
3
3
  "description": "Documentation with API docs and user guide agents",
4
+ "keywords": ["doc", "readme", "guide", "tutorial", "api doc"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "api-docs",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "exploration",
3
3
  "description": "Codebase exploration with one agent researching and one synthesizing",
4
+ "keywords": ["explore", "research", "investigate", "understand", "analyze"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "explorer",
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "feature-dev",
3
3
  "description": "Feature development with backend, frontend, and tests agents",
4
+ "keywords": ["feature", "implement", "build", "create", "add", "new"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "backend",
@@ -1,6 +1,14 @@
1
1
  {
2
2
  "name": "full-stack",
3
3
  "description": "Full-stack development with API, database, and UI agents",
4
+ "keywords": [
5
+ "fullstack",
6
+ "full-stack",
7
+ "end-to-end",
8
+ "api",
9
+ "database",
10
+ "frontend"
11
+ ],
4
12
  "agents": [
5
13
  {
6
14
  "name": "api",
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "i18n",
3
+ "description": "Internationalization with extraction, translation setup, and verification agents",
4
+ "keywords": [
5
+ "i18n",
6
+ "internationalization",
7
+ "localization",
8
+ "l10n",
9
+ "translate",
10
+ "language",
11
+ "locale",
12
+ "rtl"
13
+ ],
14
+ "agents": [
15
+ {
16
+ "name": "extractor",
17
+ "role": "Find hardcoded strings, extract to resource bundles, set up i18n framework, create translation key conventions",
18
+ "focus": "src/components/, apps/, *.tsx, *.jsx, *.vue, *.html"
19
+ },
20
+ {
21
+ "name": "translator",
22
+ "role": "Generate translation keys, set up plural rules, handle date/number/currency formats, RTL layout considerations",
23
+ "focus": "src/locales/, src/i18n/, translations/, *.json, *.yaml"
24
+ },
25
+ {
26
+ "name": "verifier",
27
+ "role": "Check string truncation, layout breakage, format consistency, missing translations, pseudo-localization testing",
28
+ "focus": "*.test.*, __tests__/, src/components/, e2e/"
29
+ }
30
+ ],
31
+ "layout": "tiled",
32
+ "layout_style": "main-horizontal",
33
+ "main_pane_percent": 65
34
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "incident-response",
3
+ "description": "Production incident response with investigation, fix, and postmortem agents",
4
+ "keywords": [
5
+ "incident",
6
+ "outage",
7
+ "down",
8
+ "production",
9
+ "hotfix",
10
+ "urgent",
11
+ "pager",
12
+ "alert",
13
+ "sev1",
14
+ "sev2"
15
+ ],
16
+ "agents": [
17
+ {
18
+ "name": "investigator",
19
+ "role": "Trace logs, metrics, and error paths to identify root cause. Narrow the blast radius.",
20
+ "focus": "src/, logs/, config/, *.log"
21
+ },
22
+ {
23
+ "name": "fixer",
24
+ "role": "Implement minimal hotfix with smallest possible blast radius. Prioritize speed and safety.",
25
+ "focus": "src/, lib/, apps/"
26
+ },
27
+ {
28
+ "name": "postmortem",
29
+ "role": "Write incident report, create follow-up issues, add monitoring and alerting to prevent recurrence",
30
+ "focus": "docs/, *.md, src/monitoring/, src/alerts/"
31
+ }
32
+ ],
33
+ "layout": "tiled",
34
+ "layout_style": "main-horizontal",
35
+ "main_pane_percent": 65
36
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "migration",
3
3
  "description": "Data/schema migration with schema, code adaptation, and rollback agents",
4
+ "keywords": ["migrate", "upgrade", "port", "convert", "move"],
4
5
  "agents": [
5
6
  {
6
7
  "name": "schema",
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "observability",
3
+ "description": "Monitoring and observability setup with instrumentation, dashboards, and validation agents",
4
+ "keywords": [
5
+ "monitoring",
6
+ "observability",
7
+ "metrics",
8
+ "tracing",
9
+ "logging",
10
+ "alerting",
11
+ "grafana",
12
+ "datadog",
13
+ "slo"
14
+ ],
15
+ "agents": [
16
+ {
17
+ "name": "instrumenter",
18
+ "role": "Add metrics, distributed traces, structured logging, health checks, SLI definitions",
19
+ "focus": "src/, lib/, src/middleware/, src/instrumentation/"
20
+ },
21
+ {
22
+ "name": "dashboarder",
23
+ "role": "Dashboard definitions, alert rules, SLO configurations, runbook templates, on-call documentation",
24
+ "focus": "monitoring/, dashboards/, alerts/, docs/, config/"
25
+ },
26
+ {
27
+ "name": "validator",
28
+ "role": "Verify alerts fire correctly, test runbooks, validate metric cardinality, load test instrumentation",
29
+ "focus": "*.test.*, scripts/, monitoring/tests/"
30
+ }
31
+ ],
32
+ "layout": "tiled",
33
+ "layout_style": "main-horizontal",
34
+ "main_pane_percent": 65
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "onboarding",
3
+ "description": "Developer experience and onboarding improvement with audit, fix, and verification agents",
4
+ "keywords": [
5
+ "onboarding",
6
+ "developer experience",
7
+ "dx",
8
+ "setup",
9
+ "getting started",
10
+ "contribute",
11
+ "new developer"
12
+ ],
13
+ "agents": [
14
+ {
15
+ "name": "auditor",
16
+ "role": "Try setup from scratch — clone, install, run, test. Identify friction, missing docs, confusing errors, time each step.",
17
+ "focus": "README.md, CONTRIBUTING.md, Makefile, docker-compose.yml, scripts/"
18
+ },
19
+ {
20
+ "name": "improver",
21
+ "role": "Fix setup scripts, add missing documentation, improve error messages, create quick-start guide",
22
+ "focus": "scripts/, docs/, README.md, CONTRIBUTING.md, Makefile, *.md"
23
+ },
24
+ {
25
+ "name": "tester",
26
+ "role": "Verify the improved flow works from a fresh environment. Test on different OS assumptions, check idempotency.",
27
+ "focus": "scripts/, Makefile, docker-compose.yml, *.test.*"
28
+ }
29
+ ],
30
+ "layout": "tiled",
31
+ "layout_style": "main-horizontal",
32
+ "main_pane_percent": 65
33
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "performance",
3
+ "description": "Performance optimization with profiling, optimization, and validation agents",
4
+ "keywords": [
5
+ "performance",
6
+ "slow",
7
+ "optimize",
8
+ "benchmark",
9
+ "profile",
10
+ "latency",
11
+ "throughput",
12
+ "cache",
13
+ "speed"
14
+ ],
15
+ "agents": [
16
+ {
17
+ "name": "profiler",
18
+ "role": "Benchmark endpoints and functions, identify bottlenecks, generate flame graphs and timing data",
19
+ "focus": "*.bench.*, *.perf.*, scripts/"
20
+ },
21
+ {
22
+ "name": "optimizer",
23
+ "role": "Implement performance fixes — query optimization, caching, lazy loading, algorithm improvements",
24
+ "focus": "src/, lib/, apps/"
25
+ },
26
+ {
27
+ "name": "validator",
28
+ "role": "Before/after benchmarks, regression prevention tests, verify no behavior changes",
29
+ "focus": "*.test.*, *.bench.*, __tests__/"
30
+ }
31
+ ],
32
+ "layout": "tiled",
33
+ "layout_style": "main-horizontal",
34
+ "main_pane_percent": 65
35
+ }