Skip to content

Commit cef9825

Browse files
committed
feat: release v0.4.0
Added: - wiggum resume - recover interrupted loops - wiggum diff - compare plan files - wiggum retro - generate improvement suggestions - wiggum split - interactively split oversized tasks - wiggum templates - reusable task snippets - wiggum prices - model pricing display - Per-task cost estimation in dry-run output - domain::pricing module with bundled model pricing Dependencies: - Added dirs crate for cross-platform home directory detection
1 parent 36b9fdc commit cef9825

File tree

14 files changed

+1767
-47
lines changed

14 files changed

+1767
-47
lines changed

CHANGELOG.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
66

77
## [Unreleased]
88

9+
## [0.4.0] - 2026-03-15
10+
11+
### Added
12+
13+
- `wiggum resume` command to recover interrupted orchestrator loops — auto-detects the last in-progress or next task, generates resume prompt with context
14+
- `wiggum diff <old.toml> <new.toml>` command to compare two plan files — shows phase changes, task additions/removals, and dependency modifications
15+
- `wiggum retro` command to generate improvement suggestions from PROGRESS.md learnings — analyzes retry patterns, blocking gates, and complexity issues
16+
- `wiggum split --task <slug>` command to interactively split oversized tasks into smaller units — includes dependency rewiring
17+
- `wiggum templates` subcommand with `list`, `show`, and `save` operations — enables reusable task snippets stored in `~/.wiggum/templates/`
18+
- `wiggum prices` command to display model pricing data — shows bundled rates for cost estimation
19+
- Per-task cost estimation in `--dry-run --estimate-tokens` output — shows estimated costs for Claude, GPT-4, and Gemini models
20+
- `domain::pricing` module with bundled model pricing data
21+
22+
### Dependencies
23+
24+
- Added `dirs` crate for cross-platform home directory detection (used by templates)
25+
926
## [0.3.2] - 2026-03-11
1027

1128
### Added
@@ -57,7 +74,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
5774
- VCS-aware reporting with git timeline
5875
- mdBook documentation site
5976

60-
[Unreleased]: https://github.com/greysquirr3l/wiggum/compare/v0.3.2...HEAD
77+
[Unreleased]: https://github.com/greysquirr3l/wiggum/compare/v0.4.0...HEAD
78+
[0.4.0]: https://github.com/greysquirr3l/wiggum/compare/v0.3.2...v0.4.0
6179
[0.3.2]: https://github.com/greysquirr3l/wiggum/compare/v0.3.1...v0.3.2
6280
[0.3.1]: https://github.com/greysquirr3l/wiggum/compare/v0.3.0...v0.3.1
6381
[0.3.0]: https://github.com/greysquirr3l/wiggum/compare/v0.2.0...v0.3.0

Cargo.lock

Lines changed: 56 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "wiggum"
3-
version = "0.3.2"
3+
version = "0.4.0"
44
edition = "2024"
55
rust-version = "1.94.0"
66
description = "AI orchestration scaffold generator for the Ralph Wiggum loop"
@@ -34,6 +34,9 @@ clap = { version = "4", features = ["derive"] }
3434
# Interactive prompts
3535
dialoguer = "0.12"
3636

37+
# Home directory detection
38+
dirs = "6"
39+
3740
# Serialization
3841
serde = { version = "1", features = ["derive"] }
3942
serde_json = "1"

src/adapters/cli.rs

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,99 @@ pub enum Command {
121121
#[arg(long)]
122122
dry_run: bool,
123123
},
124+
125+
/// Resume an interrupted orchestrator loop from the last in-progress task
126+
Resume {
127+
/// Path to PROGRESS.md (default: ./PROGRESS.md)
128+
#[arg(long, default_value = "PROGRESS.md")]
129+
progress: PathBuf,
130+
131+
/// Path to the plan TOML file (default: ./plan.toml)
132+
#[arg(long, default_value = "plan.toml")]
133+
plan: PathBuf,
134+
135+
/// Resume from a specific task instead of auto-detecting
136+
#[arg(long)]
137+
task: Option<String>,
138+
139+
/// Show what would be resumed without emitting prompt
140+
#[arg(long)]
141+
dry_run: bool,
142+
},
143+
144+
/// Compare two plan.toml files and show what changed
145+
Diff {
146+
/// Path to the original plan TOML file
147+
old: PathBuf,
148+
149+
/// Path to the new plan TOML file
150+
new: PathBuf,
151+
},
152+
153+
/// Generate retrospective suggestions from learnings in PROGRESS.md
154+
Retro {
155+
/// Path to PROGRESS.md (default: ./PROGRESS.md)
156+
#[arg(long, default_value = "PROGRESS.md")]
157+
progress: PathBuf,
158+
159+
/// Auto-apply non-destructive suggestions to plan.toml
160+
#[arg(long)]
161+
apply: bool,
162+
163+
/// Path to the plan TOML file (for --apply)
164+
#[arg(long, default_value = "plan.toml")]
165+
plan: PathBuf,
166+
},
167+
168+
/// Split an oversized task into multiple smaller tasks
169+
Split {
170+
/// Path to the plan TOML file
171+
plan: PathBuf,
172+
173+
/// Slug of the task to split
174+
#[arg(long)]
175+
task: String,
176+
177+
/// Non-interactive mode: split into N tasks
178+
#[arg(long)]
179+
into: Option<u32>,
180+
},
181+
182+
/// Manage reusable task templates
183+
#[command(subcommand)]
184+
Templates(TemplatesCmd),
185+
186+
/// Update model pricing data
187+
Prices {
188+
/// Update prices from the latest source
189+
#[arg(long)]
190+
update: bool,
191+
},
192+
}
193+
194+
#[derive(Debug, Subcommand)]
195+
pub enum TemplatesCmd {
196+
/// List available templates
197+
List,
198+
199+
/// Show details of a specific template
200+
Show {
201+
/// Template name
202+
name: String,
203+
},
204+
205+
/// Save a task from the current plan as a template
206+
Save {
207+
/// Path to the plan TOML file
208+
#[arg(long)]
209+
plan: PathBuf,
210+
211+
/// Slug of the task to save
212+
#[arg(long)]
213+
task: String,
214+
215+
/// Template name (defaults to task slug)
216+
#[arg(long)]
217+
name: Option<String>,
218+
},
124219
}

0 commit comments

Comments
 (0)