fm-bench 0.5.2 → 0.5.3

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/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # fm-bench
2
2
 
3
+ [![CI](https://github.com/devinoldenburg/fm-bench/actions/workflows/ci.yml/badge.svg)](https://github.com/devinoldenburg/fm-bench/actions/workflows/ci.yml)
4
+
3
5
  Benchmark Apple's `fm` command on macOS 27+.
4
6
 
5
7
  Measure latency, throughput, streaming smoothness, stability, and goodput across Apple Foundation Models — with repeatable prompt suites and JSON/CSV reports for automation.
@@ -0,0 +1,35 @@
1
+ # Releasing
2
+
3
+ `fm-bench` uses semver tags (`v*.*.*`). Pushing a tag runs the **Release** workflow: test, lint, npm publish (with provenance), and GitHub release notes.
4
+
5
+ ## Prerequisites
6
+
7
+ - Repository secret **`NPM_TOKEN`**: npm automation token with publish access to `fm-bench`.
8
+ - **`main`** is green on CI.
9
+
10
+ ## Option A — GitHub Actions (recommended)
11
+
12
+ 1. Open **Actions → Version → Run workflow**.
13
+ 2. Choose `patch`, `minor`, `major`, or an exact semver.
14
+ 3. The job runs `npm version`, pushes the commit and tag to `main`.
15
+ 4. The tag push triggers **Release** automatically.
16
+
17
+ ## Option B — Local
18
+
19
+ ```sh
20
+ npm ci && npm test && npm run lint
21
+ npm version patch # or minor / major
22
+ git push --follow-tags
23
+ ```
24
+
25
+ ## Re-run Release without republishing
26
+
27
+ If npm already has the version but GitHub release failed (or vice versa), use **Actions → Release → Run workflow** and enter the existing tag (for example `v0.5.3`). The workflow skips npm publish when that version is already on the registry and skips creating a duplicate GitHub release.
28
+
29
+ ## Dry run
30
+
31
+ ```sh
32
+ npm run publish:dry-run
33
+ ```
34
+
35
+ CI runs the same dry-run on every push to `main` and on pull requests.
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "fm-bench",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Dynamic benchmark CLI for Apple's fm command on macOS 27+.",
5
5
  "type": "module",
6
6
  "bin": {
7
- "fm-bench": "./bin/fm-bench.js"
7
+ "fm-bench": "bin/fm-bench.js"
8
8
  },
9
9
  "files": [
10
10
  "bin",