sisyphi 0.1.3 → 0.1.4

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 (2) hide show
  1. package/README.md +103 -33
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,13 +1,31 @@
1
1
  ```
2
- _____ _____ _______ _______ _ _ _ _ _____
3
- / ___|_ _/ ___\ \ / / ___ \ | | | | | / ___|
4
- \ `--. | | \ `--. \ V /| |_/ / |_| | | | \ `--.
5
- `--. \ | | `--. \ \ / | __/| _ | | | |`--. \
6
- /\__/ /_| |_/\__/ / | | | | | | | | |_| /\__/ /
7
- \____/ \___/\____/ \_/ \_| \_| |_/\___/\____/
2
+ ╔═══════════════════════════════════════════════════════╗
3
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*++**#%%@@@@@@@@@@@@@@
4
+ @@@@@@@@@@@@@@@@@@@@@@@@%*====-----::::-:=%@@@@@@@@@@
5
+ @@@@@@@@@@@@@@@@@@@@@%#=:.:-=------:... -%@@@@@@@@
6
+ @@@@@@@@@@@@@@@@@@%%#= .....:-:.......... *%@@@@@@
7
+ @@@@@@@@@@@@@@%+==-+%*: .:---::::....:.... #@@@@@@
8
+ ║ @@@@@@@@@@@@%#:. ..:. ..:-...:..... . :%@@@@@@ ║
9
+ ║ @@@@@@@@@@@@#:.:.. :*= ............ . :%@@@@@@ ║
10
+ ║ @@@@@@@@@@@@#--:.. -%+............... .. *%#=-:.: ║
11
+ ║ @@@@@@@@@@%#----.:#%+.::::... ..... .... .:# ║
12
+ ║ @@@@@@@@%+-:::.. :%@@@@@@@@%*=: ..*%@ ║
13
+ ║ @@@@@@%*-=:..::.:-..+@@@@@@%%#=:. .. . ... *@@@ ║
14
+ ║ @@@@#==::%@@@@@@%=:::=%*-:. .... . ... :%@@@@ ║
15
+ ║ @@#::=#@@@@%#-.:-... .::... :#%@@@@@ ║
16
+ ║ %=:%%%#####+:.: . ..... . . *%@@@@@@@ ║
17
+ ║ :::.:.:::..::. . .. :#@@@@@@@ ║
18
+ ║ %#*++===--============++===-::::::::---=====#%@@@@@@@ ║
19
+ ║ _____ _____ _______ _______ _ _ _ _ _____ ║
20
+ ║ / ___|_ _/ ___\ \ / / ___ \ | | | | | / ___| ║
21
+ ║ \ `--. | | \ `--. \ V /| |_/ / |_| | | | \ `--. ║
22
+ ║ `--. \ | | `--. \ \ / | __/| _ | | | |`--. \ ║
23
+ ║ /\__/ /_| |_/\__/ / | | | | | | | | |_| /\__/ / ║
24
+ ║ \____/ \___/\____/ \_/ \_| \_| |_/\___/\____/ ║
25
+ ╚═══════════════════════════════════════════════════════╝
8
26
  ```
9
27
 
10
- # sisyphi
28
+ # sisyphus
11
29
 
12
30
  A tmux-integrated orchestration daemon for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) multi-agent workflows.
13
31
 
@@ -38,7 +56,7 @@ You ──► sisyphus start "build auth system"
38
56
  ```
39
57
 
40
58
  1. **You** run `sisyphus start` with a high-level task
41
- 2. **Orchestrator** decomposes it, adds tasks, spawns agents, yields
59
+ 2. **Orchestrator** decomposes it, spawns agents, yields
42
60
  3. **Agents** work in parallel tmux panes, send progress reports, submit when done
43
61
  4. **Daemon** detects completion, respawns orchestrator with updated state
44
62
  5. **Orchestrator** reviews reports, spawns more agents or completes the session
@@ -63,7 +81,7 @@ This gives you two commands:
63
81
 
64
82
  ### Claude Code Plugin (optional)
65
83
 
66
- The companion plugin on the [crouton-kit](https://github.com/CaptainCrouton89/crouton-kit) marketplace adds 11 specialized agent types and an orchestration skill with task breakdown patterns for common workflows (bug fixes, feature builds, refactors, reviews, etc.).
84
+ The companion plugin on the [crouton-kit](https://github.com/CaptainCrouton89/crouton-kit) marketplace adds specialized agent types and an orchestration skill with task breakdown patterns for common workflows (bug fixes, feature builds, refactors, reviews, etc.).
67
85
 
68
86
  ```bash
69
87
  claude plugins install CaptainCrouton89/crouton-kit sisyphus
@@ -79,7 +97,9 @@ This makes `sisyphus:debug`, `sisyphus:implement`, `sisyphus:plan`, and other ag
79
97
  sisyphusd
80
98
  ```
81
99
 
82
- Or run it in the background. On macOS you can use launchd — create `~/Library/LaunchAgents/com.sisyphus.daemon.plist`:
100
+ The daemon also supports `sisyphusd stop` and `sisyphusd restart` subcommands.
101
+
102
+ To run it persistently on macOS, use launchd — create `~/Library/LaunchAgents/com.sisyphus.daemon.plist`:
83
103
 
84
104
  ```xml
85
105
  <?xml version="1.0" encoding="UTF-8"?>
@@ -110,6 +130,13 @@ Then load it:
110
130
  launchctl load ~/Library/LaunchAgents/com.sisyphus.daemon.plist
111
131
  ```
112
132
 
133
+ To unload and clean up:
134
+
135
+ ```bash
136
+ sisyphus uninstall # Unload from launchd
137
+ sisyphus uninstall --purge # Also remove ~/.sisyphus data
138
+ ```
139
+
113
140
  ### 2. Start a session (inside tmux)
114
141
 
115
142
  ```bash
@@ -121,23 +148,19 @@ The orchestrator spawns in a yellow tmux pane and begins planning.
121
148
  ### 3. Watch it work
122
149
 
123
150
  ```bash
124
- sisyphus status # Check session state, tasks, agents
125
- sisyphus tasks list # View task breakdown
151
+ sisyphus status # Check session state and agents
152
+ sisyphus list # List sessions in current project
153
+ sisyphus list --all # List sessions across all projects
126
154
  ```
127
155
 
128
- Agent panes appear as the orchestrator spawns them, color-coded by agent:
129
-
130
- | Role | Color |
131
- |------|-------|
132
- | Orchestrator | Yellow |
133
- | Agents | Blue, Green, Magenta, Cyan, Red, White (rotating) |
156
+ Agent panes appear as the orchestrator spawns them, color-coded by role. Agent types from the crouton-kit plugin define their own colors via frontmatter; otherwise agents rotate through blue, green, magenta, cyan, red, and white.
134
157
 
135
158
  ### 4. Resume or complete
136
159
 
137
160
  ```bash
138
161
  sisyphus resume <session-id> # Resume a paused session
139
162
  sisyphus resume <session-id> "focus on tests" # Resume with new instructions
140
- sisyphus list # List all sessions
163
+ sisyphus kill <session-id> # Kill a session and all agents
141
164
  ```
142
165
 
143
166
  ## CLI Reference
@@ -145,25 +168,56 @@ sisyphus list # List all sessions
145
168
  ```bash
146
169
  # Session lifecycle
147
170
  sisyphus start "task description" # Create session, launch orchestrator
148
- sisyphus status # Current session state
149
- sisyphus list # List all sessions
171
+ sisyphus status [session-id] # Session state (defaults to active session)
172
+ sisyphus list [-a, --all] # List sessions (--all for cross-project)
150
173
  sisyphus resume <id> [message] # Resume paused session
151
- sisyphus kill <id> # Kill a session
174
+ sisyphus kill <id> # Kill session and all agents
175
+ sisyphus uninstall [--purge] [-y] # Unload daemon from launchd
176
+
177
+ # Daemon management
178
+ sisyphusd # Start the daemon
179
+ sisyphusd stop # Stop the daemon
180
+ sisyphusd restart # Restart the daemon
152
181
 
153
- # These are used by the orchestrator/agents (not typically run manually):
182
+ # Used by the orchestrator/agents (not typically run manually):
154
183
  sisyphus spawn --agent-type <t> --name <n> --instruction "..."
155
- sisyphus yield # Orchestrator yields control
184
+ sisyphus spawn --agent-type <t> --name <n> --instruction "..." --worktree
185
+ sisyphus yield [--prompt "next cycle context"]
156
186
  sisyphus complete --report "summary" # Mark session done
157
187
  sisyphus submit --report "findings" # Agent submits final report
158
188
  sisyphus report --message "progress" # Agent sends progress update
189
+ ```
190
+
191
+ Both `yield`, `submit`, and `report` support stdin piping for long content:
159
192
 
160
- # Task management
161
- sisyphus tasks list
162
- sisyphus tasks add "description"
163
- sisyphus tasks add "idea" --status draft
164
- echo "long description" | sisyphus tasks add # stdin piping
165
- sisyphus tasks update <taskId> --status done
166
- sisyphus tasks update <taskId> --description "refined"
193
+ ```bash
194
+ echo "detailed report" | sisyphus submit
195
+ echo "progress update" | sisyphus report
196
+ ```
197
+
198
+ ## Git Worktree Isolation
199
+
200
+ Agents can work in isolated git worktrees to avoid conflicts when multiple agents edit files in parallel:
201
+
202
+ ```bash
203
+ sisyphus spawn --agent-type sisyphus:implement --name "auth" \
204
+ --instruction "implement auth module" --worktree
205
+ ```
206
+
207
+ With `--worktree`, the daemon:
208
+ 1. Creates a new branch (`sisyphus/{session}/{agent-id}`) and worktree
209
+ 2. Symlinks `.sisyphus` and `.claude` directories into the worktree
210
+ 3. Runs bootstrap commands from `.sisyphus/worktree.json` (copy files, install deps, etc.)
211
+ 4. Automatically merges the agent's branch back when the agent submits
212
+
213
+ Configure worktree bootstrap in `.sisyphus/worktree.json`:
214
+
215
+ ```json
216
+ {
217
+ "symlink": [".env", "node_modules"],
218
+ "copy": ["package.json"],
219
+ "init": "npm install"
220
+ }
167
221
  ```
168
222
 
169
223
  ## Architecture
@@ -174,7 +228,22 @@ Three layers communicating over a Unix socket (`~/.sisyphus/daemon.sock`):
174
228
  - **Daemon** (`sisyphusd`) — Manages sessions, spawns/monitors tmux panes, tracks state
175
229
  - **Shared** — Types, protocol definitions, config resolution
176
230
 
177
- State is persisted as JSON at `.sisyphus/sessions/{id}/state.json` (relative to your project directory), written atomically via temp file + rename.
231
+ ### State & Persistence
232
+
233
+ State is persisted as JSON at `.sisyphus/sessions/{id}/state.json` (project-relative), written atomically via temp file + rename.
234
+
235
+ Each session directory contains:
236
+ ```
237
+ .sisyphus/sessions/{id}/
238
+ ├── state.json # Session state (atomic writes)
239
+ ├── plan.md # Orchestrator memory — outstanding work
240
+ ├── logs.md # Orchestrator memory — session log
241
+ ├── prompts/ # Rendered system + user prompt files
242
+ ├── reports/ # Agent report files
243
+ └── context/ # Persistent artifacts (specs, plans, explorations)
244
+ ```
245
+
246
+ The orchestrator maintains `plan.md` and `logs.md` across cycles as persistent memory — these survive orchestrator respawns and give each new cycle continuity with previous work.
178
247
 
179
248
  ## Configuration
180
249
 
@@ -183,7 +252,8 @@ Config is layered: project (`.sisyphus/config.json`) overrides global (`~/.sisyp
183
252
  ```json
184
253
  {
185
254
  "model": "sonnet",
186
- "pollIntervalMs": 3000
255
+ "pollIntervalMs": 1000,
256
+ "tmuxSession": "my-session"
187
257
  }
188
258
  ```
189
259
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sisyphi",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "tmux-integrated orchestration daemon for Claude Code multi-agent workflows",
5
5
  "license": "MIT",
6
6
  "repository": {