Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 0 additions & 110 deletions .specs/v0.4.0-roadmap.md

This file was deleted.

2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Verify → Test → Build
3. Features: full spec with acceptance criteria
4. Review spec with user before implementation
5. Checkpoints tied to deliverables, not percentages
6. Keep specs in git — archive after merge
6. Specs are temporary planning artifacts — delete after merge
7. Post-mortem lessons go to AGENTS.md, not the spec

## PR Discipline
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.6.0] - 2026-04-23

### Added
- Release channels: `gitclaw install user/repo --channel nightly|beta|stable`
- `gitclaw search user/repo --channel <name>` filters releases by channel
- Channel pattern overrides in `.gitclaw.toml` under `[channels]`
- `gitclaw export` outputs installed packages as TOML to stdout
- `gitclaw export -o deps.toml` writes to file
- `gitclaw import deps.toml` installs all packages from a TOML file
- Import skips already-installed packages unless `--force` is set
- Export output is deterministic: sorted by owner then repo
- New modules: `src/core/channel.rs`, `src/core/export.rs`

## [0.5.0] - 2026-04-23

### Added
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gitclaw"
version = "0.5.0"
version = "0.6.0"
edition = "2021"

[[bin]]
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ gcw cache clean

gcw install --local sharkdp/bat # project-local install
gcw uninstall --local bat

gcw install BurntSushi/ripgrep --channel nightly
gcw search sharkdp/fd --channel beta

gcw export -o deps.toml
gcw import deps.toml
```

## Configuration
Expand Down
4 changes: 2 additions & 2 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ gitclaw alias rg BurntSushi/ripgrep
gitclaw install rg
```

## 0.5.0 — User Experience
## 0.5.0 — User Experience ✅ ✅

**Asset caching**

Expand All @@ -58,7 +58,7 @@ Project-scoped installation isolated from the global registry:
gitclaw install --local user/repo
```

## 0.6.0 — Advanced Features
## 0.6.0 — Advanced Features

**Release channels**

Expand Down
16 changes: 16 additions & 0 deletions src/cli/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ pub enum Commands {
locked: bool,
#[arg(long, help = "Install to project-local .gitclaw/ directory.")]
local: bool,
#[arg(long, help = "Release channel: stable, beta, or nightly.")]
channel: Option<String>,
},
#[command(about = "Generate a lockfile from installed packages.")]
Lock {
Expand Down Expand Up @@ -117,6 +119,20 @@ pub enum Commands {
help = "Maximum number of releases to show."
)]
limit: usize,
#[arg(long, help = "Filter by release channel: stable, beta, or nightly.")]
channel: Option<String>,
},
#[command(about = "Export installed packages to TOML.")]
Export {
#[arg(short, long, help = "Output file (default: stdout).")]
output: Option<String>,
},
#[command(about = "Install packages from a TOML file.")]
Import {
#[arg(help = "TOML file to import packages from.")]
file: String,
#[arg(long, help = "Force reinstall already-installed packages.")]
force: bool,
},
#[command(about = "Generate shell completions.")]
Completions {
Expand Down
Loading
Loading