README: drop the stale static version badge (npm badge is live), Agent Skills badge 39 with a test that keeps it in step; CHANGELOG Unreleased for the Windows fixes
This commit is contained in:
parent
46f3e56c09
commit
5317230b08
3 changed files with 26 additions and 2 deletions
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
## Unreleased
|
||||
|
||||
- **Windows: the MCP server starts.** `storebound install` writes `cmd /c npx -y storebound@<version> mcp` (or
|
||||
`bun <toolchain>/cli/index.ts mcp`) on Windows, where `npx.cmd` and the sh launcher cannot be spawned. Pitfall 94.
|
||||
- **`storebound desktop` no longer waits forever on a stalled download.** Progress every 10 %, and an error after
|
||||
60 s without data. Pitfall 95.
|
||||
- Windows checkouts keep LF line endings (`.gitattributes`); README badges: live npm version, real skill count.
|
||||
|
||||
## 0.8.23 · 2026-10-21
|
||||
|
||||
- **`apple submit --yes` submits a draft prepared with `--no-submit`.** The second step of the two-step flow
|
||||
|
|
|
|||
|
|
@ -9,10 +9,9 @@ in-app products and prices, the compliance forms, even the consoles that have no
|
|||
|
||||
[](https://www.npmjs.com/package/storebound)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/LICENSE)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/CHANGELOG.md)
|
||||
[](#install-and-start)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/package.json)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/skills)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/skills)
|
||||
[](https://git.crt.fyi/CRT/storebound/src/branch/main/docs/mcp.md)
|
||||
|
||||
**Website: [storebound.dev](https://storebound.dev) · Docs: [docs/](https://git.crt.fyi/CRT/storebound/src/branch/main/docs/README.md) · `npx storebound init`**
|
||||
|
|
|
|||
19
tests/readme-badges.test.ts
Normal file
19
tests/readme-badges.test.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// README badges never go stale: the version comes from npm (a static version badge once said 0.6.0 at 0.8.23) and the
|
||||
// skill count must match skills/*/SKILL.md.
|
||||
import { describe, expect, test } from 'bun:test';
|
||||
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
|
||||
const root = join(import.meta.dir, '..');
|
||||
const readme = readFileSync(join(root, 'README.md'), 'utf8');
|
||||
|
||||
describe('README badges', () => {
|
||||
test('no hand-written version badge; the npm badge is live', () => {
|
||||
expect(readme).not.toMatch(/img\.shields\.io\/badge\/version-/);
|
||||
expect(readme).toContain('img.shields.io/npm/v/storebound');
|
||||
});
|
||||
test('the Agent Skills badge counts every skill', () => {
|
||||
const n = readdirSync(join(root, 'skills')).filter(d => existsSync(join(root, 'skills', d, 'SKILL.md'))).length;
|
||||
expect(/Agent%20Skills-(\d+)-/.exec(readme)?.[1]).toBe(String(n));
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue