Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/hooks/rtk-rewrite.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"PreToolUse": [
{
"type": "command",
"command": "rtk hook",
"command": "rtk hook copilot",
"cwd": ".",
"timeout": 5
}
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,14 @@ rtk kubectl logs <pod> # Deduplicated logs
rtk kubectl services # Compact service list
```

### Windows Package Manager
```powershell
rtk winget list # Upgradeable packages + up-to-date count
rtk winget upgrade # Compact list of available updates
rtk winget install <id> # Install, stripping spinners and boilerplate
rtk winget uninstall <id> # Uninstall, stripping noise
```

### Data & Analytics
```bash
rtk json config.json # Structure without values
Expand Down Expand Up @@ -344,8 +352,9 @@ rtk git status
| Feature | WSL | Native Windows |
|---------|-----|----------------|
| Filters (cargo, git, etc.) | Full | Full |
| Auto-rewrite hook | Yes | No (CLAUDE.md fallback) |
| `rtk init -g` | Hook mode | CLAUDE.md mode |
| `rtk winget` | N/A | Full |
| Auto-rewrite hook | Yes | Yes (`.cmd` wrapper) |
| `rtk init -g` | Hook mode | Hook mode |
| `rtk gain` / analytics | Full | Full |

## Supported AI Tools
Expand Down
25 changes: 25 additions & 0 deletions docs/usage/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -870,6 +870,31 @@ Auto-detecte : `Cargo.toml`, `package.json`, `pyproject.toml`, `go.mod`, `Gemfil

---

## Windows Package Manager

### `rtk winget` -- winget

| Commande | Description | Economies |
|----------|-------------|----------|
| `rtk winget list` | Paquets upgradeables + compteur a jour | ~70% |
| `rtk winget upgrade` | Liste compacte des mises a jour disponibles | ~73% |
| `rtk winget install <id>` | Installe en supprimant spinners et boilerplate | ~60% |
| `rtk winget uninstall <id>` | Desinstalle en supprimant le bruit | ~60% |
| Autres sous-commandes | Passthrough avec suppression des spinners | — |

Les colonnes Available et Source de winget sont parfois separees par un seul espace — RTK gere ce cas particulier.

**Avant / Apres :**
```
# winget upgrade (sortie brute ~80 tokens) # rtk winget upgrade (~22 tokens)
Nom Identifiant Version Disponible upgrades (3):
Docker Docker.DockerDesktop 4.38.0 4.39.0 ... Docker.DockerDesktop: 4.38.0→4.39.0
Git Git.Git 2.47.1 2.48.0 ... Git.Git: 2.47.1→2.48.0
GitHub GitHub.cli 2.63.2 2.65.0 ... GitHub.cli: 2.63.2→2.65.0
```

---

## Conteneurs et orchestration

### `rtk docker` -- Docker
Expand Down
27 changes: 27 additions & 0 deletions src/cmds/git/git.rs
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,33 @@ fn run_status(args: &[String], verbose: u8, global_args: &[String]) -> Result<i3

// If user provided flags, apply minimal filtering
if !args.is_empty() {
// -s/-sb/-bs/--short flags produce porcelain-like output — route through compact formatter
let is_short = args.iter().all(|a| {
matches!(
a.as_str(),
"-s" | "--short" | "-b" | "--branch" | "-sb" | "-bs"
)
});

if is_short {
// Run with --porcelain -b to feed format_status_output
let mut raw_cmd = git_cmd(global_args);
raw_cmd.args(["status", "--porcelain", "-b"]);
let raw_out = exec_capture(&mut raw_cmd)
.map(|r| r.stdout)
.unwrap_or_default();

let formatted = format_status_output(&raw_out);
println!("{}", formatted);
timer.track(
&format!("git status {}", args.join(" ")),
&format!("rtk git status {}", args.join(" ")),
&raw_out,
&formatted,
);
return Ok(0);
}

let mut cmd = git_cmd(global_args);
cmd.arg("status").args(args);
let result = exec_capture(&mut cmd).context("Failed to run git status")?;
Expand Down
Loading
Loading