urur 0.2.13

Multi-repo workspace manager - manage distributed Git repositories with a single config
Documentation
# urur Roadmap

## Vision

urur is a multi-repo workspace manager for developers who work across many distributed Git repositories. It provides a single configuration file to manage cloning, syncing, and executing commands across all repositories.

---

## Phase 1: Core Foundation (v0.1.0) - COMPLETE

Basic workspace management with sequential operations.

### Features
- [x] Initialize workspace with `.urur.toml`
- [x] Add/remove repositories to config
- [x] Clone repositories (single and batch)
- [x] Check repository status (branch, dirty, ahead/behind)
- [x] Pull/fetch operations
- [x] Execute arbitrary commands across repos
- [x] Filter repos by group, tag, or name
- [x] Group management (create, delete, add/remove repos)

### Config Format
- [x] TOML-based configuration
- [x] Per-repo settings (branch, path, shallow, tags)
- [x] Default settings
- [x] Named groups

---

## Phase 2: Parallel Operations (v0.2.0) - NOT STARTED

Improve performance with concurrent operations.

### Features
- [ ] Parallel clone operations
- [ ] Parallel pull/fetch operations
- [ ] Parallel command execution
- [ ] Configurable parallelism level (`defaults.parallel`)
- [ ] Progress bars with indicatif

### Technical
- [ ] Use `tokio::spawn` for concurrent tasks
- [ ] Semaphore for limiting concurrency
- [ ] Aggregated progress reporting

---

## Phase 3: Enhanced UX (v0.3.0) - NOT STARTED

Better user experience and feedback.

### Features
- [ ] Colored output for status display
- [ ] Interactive mode for bulk operations
- [ ] Dry-run mode for destructive operations
- [ ] Verbose logging with `-v` flag
- [ ] JSON output format for scripting

### Status Display
- [ ] Table format for multi-repo status
- [ ] Summary statistics (X clean, Y dirty, Z not cloned)
- [ ] Highlight repos needing attention

---

## Phase 4: Advanced Git Operations (v0.4.0) - NOT STARTED

More sophisticated Git integration.

### Features
- [ ] Checkout specific branch across repos
- [ ] Create branch across repos
- [ ] Stash/unstash across repos
- [ ] Commit message template for batch commits
- [ ] Push operations

### Remote Management
- [ ] Per-repo remote configuration
- [ ] Multiple remotes per repo
- [ ] Credential helper integration

---

## Phase 5: Dependency & Ordering (v0.5.0) - NOT STARTED

Handle relationships between repositories.

### Features
- [ ] Declare dependencies between repos
- [ ] Topological ordering for operations
- [ ] Build order hints
- [ ] Linked worktrees support

---

## Phase 6: Sync Profiles (v0.6.0) - NOT STARTED

Different configurations for different contexts.

### Features
- [ ] Named profiles (e.g., "work", "personal", "oss")
- [ ] Profile switching
- [ ] Profile-specific defaults
- [ ] Inherit/extend profiles

---

## Phase 7: Templates & Scaffolding (v0.7.0) - NOT STARTED

Workspace templates for common setups.

### Features
- [ ] Export workspace as template
- [ ] Import from template
- [ ] Template variables
- [ ] Community templates

---

## Future Ideas

- **Watch mode**: Monitor repos for changes
- **Hooks**: Pre/post operation hooks
- **Plugins**: Extensible command system
- **TUI**: Full terminal UI with ratatui
- **Integration**: VS Code extension, shell completions
- **Cloud sync**: Share workspace configs

---

## Version History

| Version | Status | Description |
|---------|--------|-------------|
| v0.1.0 | Complete | Core foundation - sequential operations |
| v0.2.0 | Planned | Parallel operations |
| v0.3.0 | Planned | Enhanced UX |
| v0.4.0 | Planned | Advanced Git operations |
| v0.5.0 | Planned | Dependencies & ordering |
| v0.6.0 | Planned | Sync profiles |
| v0.7.0 | Planned | Templates & scaffolding |