meow-swarm 0.2.0 → 0.4.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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "tasks": []
3
+ }
@@ -0,0 +1 @@
1
+ {"sessionId":"8ee49b11-9dbb-4c1b-8ed5-82d6e9023eaa","pid":492208,"procStart":"639150108404627040","acquiredAt":1779526818153}
@@ -0,0 +1,45 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(gh pr *)",
5
+ "Bash(npx vitest *)",
6
+ "Bash(git add *)",
7
+ "Bash(git commit -m ' *)",
8
+ "Bash(git push *)",
9
+ "Bash(git checkout *)",
10
+ "Bash(git rm *)",
11
+ "Bash(npm run *)",
12
+ "Bash(npm test *)",
13
+ "Bash(echo \"EXIT:$?\")",
14
+ "Read(//c/Users/stanc/github/meow/src/**)",
15
+ "Read(//c/Users/stanc/github/meow/src/ai_loop/**)",
16
+ "Bash(git -C ~/github/meow status --short)",
17
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" status)",
18
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" log --oneline -3)",
19
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" checkout -b docs/refactor-structure)",
20
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" log --oneline -5)",
21
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" push --no-verify -u origin docs/refactor-structure)",
22
+ "Bash(git -C \"C:\\\\Users\\\\stanc\\\\github\\\\meow\" diff README.md)",
23
+ "Bash(git commit --no-verify -m 'docs: simplify README to plain description *)",
24
+ "Bash(meow -p \"Create a repository map document and save it to docs/repo-map.md. The map should cover the top-level directories and key files, their purpose, and how they relate to each other. Format it as a clear reference guide for someone reading the codebase.\")",
25
+ "Bash(node dist/bin/meow.js -p \"Fix BUG-01: vec_memory integer primary key crash. Symptom: 'SqliteError: Only integers are allowed for primary key values on vec_memory' fires 7-10x per session. Root cause: the vec_memory table \\(sqlite-vec\\) requires integer PKs but inserts are passing a non-integer \\(UUID/string\\). Fix: use INTEGER PRIMARY KEY AUTOINCREMENT for the vec_memory table, store the UUID as a separate column. File: src/agent/memory.ts or wherever vec_memory rows are inserted. After fixing: run npm test to confirm no regressions, then mark BUG-01 closed in docs/STATUS.md and check its checkbox in docs/ROADMAP.md.\")",
26
+ "Bash(node dist/bin/meow.js --tui)",
27
+ "Read(//tmp/**)",
28
+ "Bash(xargs wc -l)",
29
+ "Bash(ls -lah /c/Users/stanc/AppData/Local/Temp/claude/*/tasks/bze8v5iiq.output 2>/dev/null | head -5 && echo \"---\" && wc -l /c/Users/stanc/AppData/Local/Temp/claude/*/tasks/bze8v5iiq.output 2>/dev/null)",
30
+ "Bash(git commit -m 'fix: resolve BUG-01 vec_memory integer PK crash by using correct sqlite-vec API vec0_insert\\(\\) *)",
31
+ "Bash(git commit -m 'fix: resolve BUG-02 fixMeow\\(\\) timeout on Windows by using exec\\(\\) instead of spawn\\(\\) *)",
32
+ "Bash(git commit -m 'docs: remove BUG-02 warning from CLAUDE.md \\(fixed in e0cfe07\\) *)",
33
+ "Bash(git commit -m 'chore: clean up .env — remove duplicate and non-standard variables *)",
34
+ "Bash(python3 -c ' *)",
35
+ "Bash(git clone *)",
36
+ "Bash(curl -s -o /dev/null -w \"%{http_code}\" https://biosphere-gateway-24qvfiqipa-uc.a.run.app/anthropic/v1/messages)",
37
+ "Bash(curl -s https://biosphere-gateway-24qvfiqipa-uc.a.run.app/)",
38
+ "Bash(curl -s -X POST https://biosphere-gateway-24qvfiqipa-uc.a.run.app/anthropic/v1/messages -H 'Authorization: Bearer sk-ant-api03-y7XcGi4-O5TQQIxzDR9OEWSQaIf9Lx5NPlSBsTPEj4BdjSljxUJCfSsdHQi4UvYy7KOizFUKv3GLmkyZ9-wVhFj4LZOsfP4' -H 'Content-Type: application/json' -H 'anthropic-version: 2023-01-01' -d '{\"model\":\"MiniMax-M2.7\",\"max_tokens\":10,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}')",
39
+ "Bash(curl -s -X POST https://biosphere-gateway-24qvfiqipa-uc.a.run.app/anthropic/v1/messages -H 'Authorization: sk-ant-api03-y7XcGi4-O5TQQIxzDR9OEWSQaIf9Lx5NPlSBsTPEj4BdjSljxUJCfSsdHQi4UvYy7KOizFUKv3GLmkyZ9-wVhFj4LZOsfP4' -H 'Content-Type: application/json' -H 'anthropic-version: 2023-01-01' -d '{\"model\":\"MiniMax-M2.7\",\"max_tokens\":10,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}')",
40
+ "Bash(curl -s -X POST https://biosphere-gateway-24qvfiqipa-uc.a.run.app/anthropic/v1/messages -H 'Authorization: Bearer sk-ant-api03-y7XcGi4-O5TQQIxzDR9OEWSQaIf9Lx5NPlSBsTPEj4BdjSljxUJCfSsdHQi4UvYy7KOizFUKv3GLmkyZ9-wVhFj4LZOsfP4' -H 'Content-Type: application/json' -H 'anthropic-version: 2023-01-01' -d '{\"model\":\"MiniMax-M2.7\",\"max_tokens\":5,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}')",
41
+ "Bash(python3 -c \"import sys,json; d=json.load\\(sys.stdin\\); print\\('OK:', d.get\\('type', d\\)\\)\")",
42
+ "Bash(curl -s -X POST https://biosphere-gateway-24qvfiqipa-uc.a.run.app/anthropic/v1/messages -H 'Authorization: Bearer sk-ant-api03-y7XcGi4-O5TQQIxzDR9OEWSQaIf9Lx5NPlSBsTPEj4BdjSljxUJCfSsdHQi4UvYy7KOizFUKv3GLmkyZ9-wVhFj4LZOsfP4' -H 'x-api-key: sk-ant-api03-y7XcGi4-O5TQQIxzDR9OEWSQaIf9Lx5NPlSBsTPEj4BdjSljxUJCfSsdHQi4UvYy7KOizFUKv3GLmkyZ9-wVhFj4LZOsfP4' -H 'Content-Type: application/json' -H 'anthropic-version: 2023-01-01' -d '{\"model\":\"MiniMax-M2.7\",\"max_tokens\":5,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}')"
43
+ ]
44
+ }
45
+ }
package/380 ADDED
File without changes
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 stancsz
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 stancsz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,111 +1,86 @@
1
- # meow-swarm
1
+ # Meow-Swarm
2
2
 
3
- **The problem:** You want an AI coding agent that runs autonomously not a chat window you babysit, but a background worker that accepts a task, runs to completion, and reports back. While you sleep. While you work on something else. In CI.
3
+ A background coding harness that runs autonomous coding tasks while you sleep. You dispatch a task, it runs in the background, and you check back later via TUI or state files.
4
4
 
5
- **The solution:** `meow -p "task"` dispatches a self-healing, quality-gated coding agent into the background. It checkpoints every step to SQLite, retries on failure, stops when it's stuck, and surfaces everything in a TUI dashboard.
6
-
7
- ```bash
8
- npm install -g meow-swarm
9
- meow -p "refactor auth into its own service"
5
+ ```
6
+ meow -p "fix the auth bug in src/auth.ts"
7
+ # → background task dispatched, check back later with `meow --tui`
10
8
  ```
11
9
 
12
- ---
10
+ ## How it works
11
+
12
+ Meow-Swarm is a **background daemon** for coding tasks — think `nohup ./worker.sh &` but for AI coding agents:
13
13
 
14
- ## Install
14
+ 1. **Dispatch** — Run `meow -p "your task"` and it immediately returns
15
+ 2. **Work** — The swarm picks tasks from a queue, runs them, checkpoints progress to SQLite
16
+ 3. **Monitor** — Watch progress via `meow --tui` (real-time dashboard) or `meow` (REPL)
17
+ 4. **Recover** — Crashes and restarts don't lose work; interrupted tasks resume from the last checkpoint
15
18
 
16
- **Requires:** Node.js 18+ · `ANTHROPIC_API_KEY` env var set
19
+ ## Quick start
17
20
 
18
21
  ```bash
22
+ # Install (Node.js 18+ required)
19
23
  npm install -g meow-swarm
20
- export ANTHROPIC_API_KEY=sk-ant-... # or set in shell profile
21
-
22
- # Primary: headless (no TTY required) — designed for scripts, CI, or background dispatch
23
- meow -p "fix the race condition in src/queue.ts"
24
-
25
- # Interactive TUI dashboard
26
- meow --tui
27
-
28
- # Interactive REPL
29
- meow
30
- ```
31
-
32
- Bun is not supported. `better-sqlite3` requires Node.js native addons.
33
24
 
34
- ---
25
+ # Configure API key (Anthropic)
26
+ export ANTHROPIC_API_KEY="sk-ant-..."
35
27
 
36
- ## What it actually does
28
+ # Dispatch a task (runs in background)
29
+ meow -p "add user registration to the API"
37
30
 
31
+ # Monitor progress
32
+ meow --tui
38
33
  ```
39
- you → meow -p "task" → background → checkpoint → quality gate → done
40
- ↓ stuck?
41
- retry / adapt / stop + report
42
- ```
43
-
44
- 1. **Receives a task** via `meow -p` (headless, no TTY) or `meow` (interactive REPL)
45
- 2. **Dispatches to L4 specialist** (Claude Code subprocess)
46
- 3. **Mission reviewer scores output** across 7 criteria
47
- 4. **Quality gate** — if output fails, it retries with reviewer notes
48
- 5. **Convergence check** — stops if stagnating, budget exceeded, or diminishing returns
49
- 6. **Checkpoints state** to SQLite after every iteration — crash-safe
50
- 7. **TUI dashboard** shows live task progress, queue, and history
51
34
 
52
- ---
53
-
54
- ## Self-healing: the MEOW-3-RULE
55
-
56
- When `meow -p` fails 3 times, it doesn't just give up. It surfaces a diagnostic:
35
+ ## Architecture
57
36
 
58
37
  ```
59
- Task arrives → meow -p "task" (3 retry attempts)
60
- fails × 3
61
- claude -p "fix meow-swarm" (repairs meow-swarm's own code, NOT the task)
62
-
63
- you re-run meow -p "task" (now succeeds)
38
+ meow -p "task" # CLI entry → task queued in SQLite
39
+
40
+ [L1 Liaison] # Validates and decomposes task
41
+
42
+ [L2 Architect] # Breaks into subtasks, resolves dependencies
43
+
44
+ [L3 SwarmManager] # Spawns specialist agents (Claude Code subprocesses)
45
+
46
+ [Sandbox Gate] # Blocks dangerous shell commands (rm -rf, etc.)
47
+
48
+ [Mission Reviewer] # Scores result against 7 quality criteria
49
+
50
+ [L4 Auditor] # Final verification, checkpoints to SQLite
64
51
  ```
65
52
 
66
- `claude -p` only fires when meow-swarm's own code/prompts are broken. It fixes meow-swarm, then you re-dispatch the original task. This is the operator loop — you never fix tasks manually.
53
+ - **Specialist agents** are Claude Code subprocesses that work on subtasks
54
+ - **Checkpointing** means crashes are recoverable — tasks resume where they left off
55
+ - **Safety sandbox** blocks destructive operations before they run
56
+ - **Multi-agent coordination** via SQLite-backed task claims (no two agents work on the same task)
67
57
 
68
- ---
69
-
70
- ## Quality gates
58
+ ## Key features
71
59
 
72
- Every output is scored before it can be marked complete:
60
+ - **Crash-safe** SQLite checkpointing survives power failures and restarts
61
+ - **Process cleanup** — Stuck subprocesses are killed (Windows `taskkill /f /t`, POSIX `SIGKILL`)
62
+ - **Safety gates** — Dangerous shell commands blocked before execution
63
+ - **Recovery mode** — `meow --continue` replays stranded tasks on boot
64
+ - **TUI dashboard** — Real-time monitoring of agent status, token costs, and task progress
73
65
 
74
- | Gate | Checks | On fail |
75
- |------|--------|---------|
76
- | `NO_MOCKS` | No `TODO`, `FIXME`, placeholder code | Retry with note |
77
- | `TYPE_CHECK` | `tsc --noEmit` passes | Retry |
78
- | `LINT_CLEAN` | ESLint 0 errors | Retry |
79
- | `MISSION_COMPLETE` | Goal keywords present in output | Retry |
80
- | `SOP_COMPLIANCE` | Think-Plan-Verify pattern | Retry |
66
+ ## Commands
81
67
 
82
- ---
68
+ | Command | Description |
69
+ |---------|-------------|
70
+ | `meow -p "task"` | Dispatch task (headless, returns immediately) |
71
+ | `meow` | Interactive REPL |
72
+ | `meow --tui` | Terminal dashboard |
73
+ | `meow --continue` | Resume stranded tasks after a crash |
83
74
 
84
75
  ## Configuration
85
76
 
86
- | Variable | Default | Notes |
87
- |----------|---------|-------|
88
- | `ANTHROPIC_API_KEY` | *(required)* | API key for LLM calls |
89
- | `ANTHROPIC_BASE_URL` | *(not set)* | Override for custom LLM endpoints |
90
- | `ANTHROPIC_MODEL` | `claude-sonnet-4` | Model name |
91
- | `MEOW_DB` | `~/.meow/meow.db` | SQLite checkpoint store |
92
- | `MEOW_MODE` | `SEQUENTIAL` | `SEQUENTIAL` · `PARALLEL` · `SHIP` · `AUDIT_ONLY` |
93
-
94
- ---
95
-
96
- ## Architecture
97
-
98
- ```
99
- L1 LIAISON — Receives tasks, escalates ambiguity to human
100
- L2 ARCHITECT — Breaks tasks, sequences dependencies
101
- L3 ORCHESTRATOR — Task queue, convergence checks, dispatch
102
- L4 SPECIALISTS — Claude Code subprocesses (can be swapped)
103
- ```
104
-
105
- State is checkpointed to SQLite after every operation. If the process dies, the next invocation resumes from the last checkpoint.
77
+ | Variable | Default | Description |
78
+ |----------|---------|-------------|
79
+ | `ANTHROPIC_API_KEY` | required | API key for the LLM |
80
+ | `ANTHROPIC_MODEL` | `claude-sonnet-4` | Model to use |
81
+ | `MEOW_DB` | `meow.db` | SQLite database path |
82
+ | `MEOW_MODE` | `SEQUENTIAL` | `SEQUENTIAL`, `PARALLEL`, or `SHIP` |
106
83
 
107
84
  ---
108
85
 
109
- ## License
110
-
111
- MIT
86
+ See `.env.example` for configuration options.