bdo-cli 0.47.0 → 0.48.0
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.
- package/CHANGELOG.md +30 -0
- package/README.md +24 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ All notable changes to Bushido (bdo) will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.48.0] (2026-10-17)
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
- **`bdo map --grep <PATTERN>`**: keep only the signatures matching a regex
|
|
13
|
+
(files with no match are dropped), e.g. `bdo map src --grep 'Tracker'`. The
|
|
14
|
+
footer reports how many of the tree's signatures matched. Combines with
|
|
15
|
+
`--changed`.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- `bdo map <file>` (a single file) printed an empty header line instead of the
|
|
20
|
+
file's path.
|
|
21
|
+
|
|
22
|
+
## [0.47.1] (2026-10-17)
|
|
23
|
+
|
|
24
|
+
### Security
|
|
25
|
+
|
|
26
|
+
- **Release archives carry GitHub build provenance.** Each platform's archive
|
|
27
|
+
is attested by the release workflow, so a download can be checked with
|
|
28
|
+
`gh attestation verify <file> --repo tedorigawa001/TokenReductionTool-BDO`.
|
|
29
|
+
Unlike the `.sha256` sidecar, which ships in the same release, this proves
|
|
30
|
+
the file was built by this repository's workflow from the tagged commit.
|
|
31
|
+
|
|
32
|
+
- **npm releases are staged and need maintainer approval.** CI now runs
|
|
33
|
+
`npm stage publish` (still via Trusted Publishing), and the trusted publisher
|
|
34
|
+
is allowed nothing else, so a new `bdo-cli` version goes public only when a
|
|
35
|
+
maintainer approves it with 2FA. A compromised CI run can no longer publish
|
|
36
|
+
to npm on its own. The hardening check fails on a direct `npm publish`.
|
|
37
|
+
|
|
8
38
|
## [0.47.0] (2026-10-17)
|
|
9
39
|
|
|
10
40
|
### Features
|
package/README.md
CHANGED
|
@@ -86,7 +86,14 @@ cargo install --git https://github.com/tedorigawa001/TokenReductionTool-BDO
|
|
|
86
86
|
|
|
87
87
|
Download from [releases](https://github.com/tedorigawa001/TokenReductionTool-BDO/releases):
|
|
88
88
|
Archives are named after the crate (`bushido`); the binary inside is `bdo`.
|
|
89
|
-
Each has a `.sha256` sidecar — verify before extracting.
|
|
89
|
+
Each has a `.sha256` sidecar — verify before extracting. From 0.47.1 on, each
|
|
90
|
+
archive also carries GitHub build provenance, which proves it was built by this
|
|
91
|
+
repository's release workflow (the checksum alone cannot: it ships in the same
|
|
92
|
+
release):
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
gh attestation verify bushido-aarch64-apple-darwin.tar.xz --repo tedorigawa001/TokenReductionTool-BDO
|
|
96
|
+
```
|
|
90
97
|
|
|
91
98
|
- macOS: `bushido-x86_64-apple-darwin.tar.xz` / `bushido-aarch64-apple-darwin.tar.xz`
|
|
92
99
|
- Linux: `bushido-x86_64-unknown-linux-gnu.tar.xz` / `bushido-aarch64-unknown-linux-gnu.tar.xz`
|
|
@@ -97,7 +104,7 @@ Each has a `.sha256` sidecar — verify before extracting.
|
|
|
97
104
|
### Verify Installation
|
|
98
105
|
|
|
99
106
|
```bash
|
|
100
|
-
bdo --version # Should show "bdo 0.
|
|
107
|
+
bdo --version # Should show "bdo 0.48.0"
|
|
101
108
|
bdo gain # Should show token savings stats
|
|
102
109
|
```
|
|
103
110
|
|
|
@@ -189,6 +196,21 @@ C++, Java, and Python; respects `.gitignore`.
|
|
|
189
196
|
`--against origin/main` for the whole-branch diff) — the API surface you touched,
|
|
190
197
|
ideal alongside `bdo review`.
|
|
191
198
|
|
|
199
|
+
`bdo map --grep <PATTERN>` keeps only the signatures matching a regex, so
|
|
200
|
+
"where is `Tracker` defined, and what takes or returns one?" is one command
|
|
201
|
+
(`(?i)` for case-insensitive, `^pub` for the public surface). Drill into a hit
|
|
202
|
+
with `bdo map <file>` or `bdo read <file> -l outline`.
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
$ bdo map src --grep 'struct Tracker\b|pub fn is_quiet'
|
|
206
|
+
core/quiet.rs
|
|
207
|
+
pub fn is_quiet() -> bool { … }
|
|
208
|
+
core/tracking.rs
|
|
209
|
+
pub struct Tracker { … }
|
|
210
|
+
|
|
211
|
+
— 2 files, 2 of 2206 signatures match /struct Tracker\b|pub fn is_quiet/ (full source: 2208 lines)
|
|
212
|
+
```
|
|
213
|
+
|
|
192
214
|
For Python, function bodies are elided with a `…` marker (the analogue of
|
|
193
215
|
`{ … }`), `async def` is handled like `def`, and multi-line signatures are
|
|
194
216
|
folded onto one line:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.
|
|
3
|
+
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.48.0"
|
|
4
4
|
],
|
|
5
5
|
"author": "Patrick Szymkowiak",
|
|
6
6
|
"bin": {
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"zipExt": ".tar.xz"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
-
"version": "0.
|
|
94
|
+
"version": "0.48.0",
|
|
95
95
|
"volta": {
|
|
96
96
|
"node": "18.14.1",
|
|
97
97
|
"npm": "9.5.0"
|