baro-ai 0.4.2 → 0.4.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 +22 -86
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # baro
2
2
 
3
- Autonomous parallel coding engine. Give it a goal, it breaks it into stories, builds a dependency DAG, and executes them in parallel using AI agents.
3
+ Background agent runtime orchestrator. Breaks down a goal into stories, builds a dependency DAG, and runs them in parallel each story gets its own Claude agent.
4
4
 
5
5
  ```
6
6
  npm install -g baro-ai
@@ -8,111 +8,47 @@ npm install -g baro-ai
8
8
 
9
9
  ## How it works
10
10
 
11
- 1. **You describe a goal** - "Add authentication with JWT and role-based access control"
12
- 2. **AI plans the work** - Claude (or OpenAI) explores your codebase and creates a dependency graph of user stories
13
- 3. **You review the plan** - Scrollable plan review with accept/refine/quit
14
- 4. **Stories execute in parallel** - Independent stories run simultaneously, each with its own Claude agent
15
- 5. **Live TUI dashboard** - Watch progress, logs, DAG visualization, and stats in real-time
11
+ 1. You describe a goal
12
+ 2. Claude explores your codebase and plans the work as a dependency graph
13
+ 3. You review and accept the plan
14
+ 4. Stories execute in parallel with live TUI dashboard
15
+ 5. Each story auto-commits and pushes on completion
16
16
 
17
17
  ## Usage
18
18
 
19
- ### Interactive mode
20
-
21
- ```bash
22
- baro
23
- ```
24
-
25
- Opens the welcome screen where you type your goal and choose a planner.
26
-
27
- ### Direct mode
28
-
29
- ```bash
30
- baro "Add a REST API for user management"
31
- ```
32
-
33
- Skips the welcome screen and starts planning immediately.
34
-
35
- ### Options
36
-
37
- ```
38
- baro [goal] [options]
39
-
40
- Arguments:
41
- goal Project goal (opens welcome screen if omitted)
42
-
43
- Options:
44
- --planner <planner> Planner to use: claude or openai (default: claude)
45
- --cwd <path> Working directory (default: current directory)
46
- -h, --help Print help
47
- ```
48
-
49
- ### Examples
50
-
51
19
  ```bash
52
20
  # Interactive - opens welcome screen
53
21
  baro
54
22
 
55
- # Plan and execute with Claude (default)
56
- baro "Refactor the database layer to use connection pooling"
23
+ # Direct - skip to planning
24
+ baro "Add authentication with JWT and role-based access control"
57
25
 
58
- # Use OpenAI for planning
26
+ # Use OpenAI for planning instead of Claude
59
27
  baro --planner openai "Add WebSocket support"
60
28
 
61
- # Run in a specific directory
62
- baro --cwd ~/projects/myapp "Add unit tests for all API endpoints"
29
+ # Specify working directory
30
+ baro --cwd ~/projects/myapp "Add unit tests"
63
31
  ```
64
32
 
65
- ## TUI Screens
66
-
67
- ### Welcome
68
-
69
- ASCII art logo, goal text input, and planner toggle (Claude/OpenAI).
70
-
71
- ### Planning
72
-
73
- Animated spinner showing planning progress with elapsed timer. The selected AI explores your codebase and generates a structured plan.
74
-
75
- ### Review
76
-
77
- Scrollable list of all planned stories with descriptions and dependencies. Navigate with arrow keys, accept with Enter, or quit with q.
78
-
79
- ### Execution Dashboard
80
-
81
- Three tabs while stories execute:
33
+ ## Features
82
34
 
83
- - **Dashboard** - Story list with status icons + live logs from the active agent
84
- - **DAG** - Dependency graph visualization showing levels and connections
85
- - **Stats** - Summary table with times, file counts, and completion stats
86
-
87
- Keybinds: `1/2/3` switch tabs, `Tab/Shift+Tab` switch log panels, `q` quit.
35
+ - **Parallel execution** independent stories run simultaneously, respecting dependency order
36
+ - **DAG engine** topological sort with level grouping, cycle detection
37
+ - **Live TUI** dashboard with story status, live agent logs, DAG view, stats
38
+ - **Git coordination** — mutex-protected commits, auto-push with retry, pull --rebase before each story, conflict detection
39
+ - **Retry logic** failed stories retry automatically (configurable per story)
40
+ - **Completion screen** — summary overlay with stats when all stories finish
41
+ - **Claude + OpenAI** — Claude as default planner/executor, OpenAI as alternative planner
88
42
 
89
43
  ## Requirements
90
44
 
91
- - [Claude CLI](https://docs.anthropic.com/en/docs/claude-cli) installed and authenticated (for Claude planner/executor)
92
- - Node.js 18+ (only needed if using `--planner openai`)
45
+ - [Claude CLI](https://docs.anthropic.com/en/docs/claude-cli) installed and authenticated
93
46
  - macOS (arm64/x64) or Linux (x64/arm64)
47
+ - Node.js 18+ (only if using `--planner openai`)
94
48
 
95
49
  ## Architecture
96
50
 
97
- Baro is a Rust binary distributed via npm:
98
-
99
- - **TUI** - ratatui-based terminal UI with 4 screens
100
- - **Planner** - Spawns Claude CLI or OpenAI (via Node.js bridge) to generate a PRD
101
- - **DAG Engine** - Kahn's algorithm for topological sort with level grouping
102
- - **Executor** - Parallel story execution via tokio, one Claude agent per story
103
- - **npm package** - `postinstall` downloads the prebuilt binary for your platform
104
-
105
- ## Development
106
-
107
- ```bash
108
- # Build the Rust binary
109
- cargo build -p baro-tui --release
110
-
111
- # Run locally
112
- ./target/release/baro "your goal"
113
-
114
- # The binary is in crates/baro-tui/
115
- ```
51
+ Rust binary distributed via npm. TUI built with ratatui, async execution with tokio, one Claude CLI process per story.
116
52
 
117
53
  ## License
118
54
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baro-ai",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Autonomous parallel coding - plan and execute with AI",
5
5
  "type": "module",
6
6
  "bin": {