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.
- package/.claude/agents/code-reviewer.md +90 -0
- package/.claude/agents/devops-engineer.md +142 -0
- package/.claude/agents/pipeline-agent.md +80 -0
- package/.claude/agents/shell-script-specialist.md +150 -0
- package/.claude/agents/test-specialist.md +196 -0
- package/.claude/hooks/post-tool-use.sh +38 -0
- package/.claude/hooks/pre-tool-use.sh +25 -0
- package/.claude/hooks/session-started.sh +37 -0
- package/README.md +212 -814
- package/claude-code/CLAUDE.md.shipwright +54 -0
- package/claude-code/hooks/notify-idle.sh +2 -2
- package/claude-code/hooks/session-start.sh +24 -0
- package/claude-code/hooks/task-completed.sh +6 -2
- package/claude-code/settings.json.template +12 -0
- package/dashboard/public/app.js +4422 -0
- package/dashboard/public/index.html +816 -0
- package/dashboard/public/styles.css +4755 -0
- package/dashboard/server.ts +4315 -0
- package/docs/KNOWN-ISSUES.md +18 -10
- package/docs/TIPS.md +38 -26
- package/docs/patterns/README.md +33 -23
- package/package.json +9 -5
- package/scripts/adapters/iterm2-adapter.sh +1 -1
- package/scripts/adapters/tmux-adapter.sh +52 -23
- package/scripts/adapters/wezterm-adapter.sh +26 -14
- package/scripts/lib/compat.sh +200 -0
- package/scripts/lib/helpers.sh +72 -0
- package/scripts/postinstall.mjs +72 -13
- package/scripts/{cct → sw} +109 -21
- package/scripts/sw-adversarial.sh +274 -0
- package/scripts/sw-architecture-enforcer.sh +330 -0
- package/scripts/sw-checkpoint.sh +390 -0
- package/scripts/{cct-cleanup.sh → sw-cleanup.sh} +3 -1
- package/scripts/sw-connect.sh +619 -0
- package/scripts/{cct-cost.sh → sw-cost.sh} +368 -34
- package/scripts/{cct-daemon.sh → sw-daemon.sh} +2217 -204
- package/scripts/sw-dashboard.sh +477 -0
- package/scripts/sw-developer-simulation.sh +252 -0
- package/scripts/sw-docs.sh +635 -0
- package/scripts/sw-doctor.sh +907 -0
- package/scripts/{cct-fix.sh → sw-fix.sh} +10 -6
- package/scripts/{cct-fleet.sh → sw-fleet.sh} +498 -22
- package/scripts/sw-github-checks.sh +521 -0
- package/scripts/sw-github-deploy.sh +533 -0
- package/scripts/sw-github-graphql.sh +972 -0
- package/scripts/sw-heartbeat.sh +293 -0
- package/scripts/{cct-init.sh → sw-init.sh} +144 -11
- package/scripts/sw-intelligence.sh +1196 -0
- package/scripts/sw-jira.sh +643 -0
- package/scripts/sw-launchd.sh +364 -0
- package/scripts/sw-linear.sh +648 -0
- package/scripts/{cct-logs.sh → sw-logs.sh} +72 -2
- package/scripts/{cct-loop.sh → sw-loop.sh} +534 -44
- package/scripts/{cct-memory.sh → sw-memory.sh} +321 -38
- package/scripts/sw-patrol-meta.sh +417 -0
- package/scripts/sw-pipeline-composer.sh +455 -0
- package/scripts/{cct-pipeline.sh → sw-pipeline.sh} +2319 -178
- package/scripts/sw-predictive.sh +820 -0
- package/scripts/{cct-prep.sh → sw-prep.sh} +339 -49
- package/scripts/{cct-ps.sh → sw-ps.sh} +6 -4
- package/scripts/{cct-reaper.sh → sw-reaper.sh} +6 -4
- package/scripts/sw-remote.sh +687 -0
- package/scripts/sw-self-optimize.sh +947 -0
- package/scripts/sw-session.sh +519 -0
- package/scripts/sw-setup.sh +234 -0
- package/scripts/sw-status.sh +605 -0
- package/scripts/{cct-templates.sh → sw-templates.sh} +9 -4
- package/scripts/sw-tmux.sh +591 -0
- package/scripts/sw-tracker-jira.sh +277 -0
- package/scripts/sw-tracker-linear.sh +292 -0
- package/scripts/sw-tracker.sh +409 -0
- package/scripts/{cct-upgrade.sh → sw-upgrade.sh} +103 -46
- package/scripts/{cct-worktree.sh → sw-worktree.sh} +3 -0
- package/templates/pipelines/autonomous.json +27 -5
- package/templates/pipelines/full.json +12 -0
- package/templates/pipelines/standard.json +12 -0
- package/tmux/{claude-teams-overlay.conf → shipwright-overlay.conf} +27 -9
- package/tmux/templates/accessibility.json +34 -0
- package/tmux/templates/api-design.json +35 -0
- package/tmux/templates/architecture.json +1 -0
- package/tmux/templates/bug-fix.json +9 -0
- package/tmux/templates/code-review.json +1 -0
- package/tmux/templates/compliance.json +36 -0
- package/tmux/templates/data-pipeline.json +36 -0
- package/tmux/templates/debt-paydown.json +34 -0
- package/tmux/templates/devops.json +1 -0
- package/tmux/templates/documentation.json +1 -0
- package/tmux/templates/exploration.json +1 -0
- package/tmux/templates/feature-dev.json +1 -0
- package/tmux/templates/full-stack.json +8 -0
- package/tmux/templates/i18n.json +34 -0
- package/tmux/templates/incident-response.json +36 -0
- package/tmux/templates/migration.json +1 -0
- package/tmux/templates/observability.json +35 -0
- package/tmux/templates/onboarding.json +33 -0
- package/tmux/templates/performance.json +35 -0
- package/tmux/templates/refactor.json +1 -0
- package/tmux/templates/release.json +35 -0
- package/tmux/templates/security-audit.json +8 -0
- package/tmux/templates/spike.json +34 -0
- package/tmux/templates/testing.json +1 -0
- package/tmux/tmux.conf +98 -9
- package/scripts/cct-doctor.sh +0 -414
- package/scripts/cct-session.sh +0 -284
- 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
|
-
{
|
|
12
|
-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
# ║
|
|
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/
|
|
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
|
|
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
|
|
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
|
|
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 →
|
|
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
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -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
|
+
}
|