@michaelmagan/dnumb 0.1.0 → 0.1.1

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/AGENTS.md CHANGED
@@ -165,8 +165,9 @@ does not.
165
165
 
166
166
  ## Status
167
167
 
168
- **Pre-release, not yet on npm.** The library surface above is built and tested. The CLI has a
169
- stable verb set — `capture`, `look`, `diff`, and `q describe|find|at|within|distance|nearest|facts|color`
168
+ **Published.** `npm install --save-dev @michaelmagan/dnumb` MIT, zero dependencies. The library
169
+ surface above is built and tested. The CLI has a stable verb set — `capture`, `look`, `diff`, and
170
+ `q describe|find|at|within|distance|nearest|facts|color`
170
171
  — documented with worked examples in
171
172
  [README § From the CLI](https://github.com/michaelmagan/dnumb/blob/main/README.md#from-the-cli) and
172
173
  [§ Reading a diff](https://github.com/michaelmagan/dnumb/blob/main/README.md#reading-a-diff). This
@@ -174,6 +175,18 @@ file still does not restate flags, on purpose: run `dnumb --help` for the exhaus
174
175
  list of what your installed copy actually supports, and treat it as authoritative over any prose
175
176
  here or there.
176
177
 
178
+ **Invoking it — three forms, not one.** Nothing installed yet, any package manager: `npx
179
+ @michaelmagan/dnumb --help` (or `bunx @michaelmagan/dnumb --help`) — the zero-install form, works
180
+ everywhere. Already a dependency — installed via `npm install`, `pnpm add`, or `bun add`, all of
181
+ which populate `node_modules/.bin/dnumb` the same way: `npx dnumb --help` or `bunx dnumb --help`,
182
+ either resolves the local bin regardless of which tool installed it (verified: `npx` correctly
183
+ resolves a bun-installed bin, including under bun's isolated linker). **If a bare `npx dnumb ...` or
184
+ `bunx dnumb ...` 404s, that means nothing is installed locally, not that the package doesn't
185
+ exist** — both tools then resolve `dnumb` as a *package* name against the registry, and there is no
186
+ unscoped `dnumb` package on npm (permanently blocked by npm's similarity filter); retry with the
187
+ scoped form above, or install first: `npm install --save-dev @michaelmagan/dnumb` / `bun add -d
188
+ @michaelmagan/dnumb`.
189
+
177
190
  The digest format is specified in
178
191
  [`docs/digest.md`](https://github.com/michaelmagan/dnumb/blob/main/docs/digest.md). Build progress,
179
192
  including what was tried and what was wrong, is in
package/README.md CHANGED
@@ -20,7 +20,7 @@ e0 body @0,0 1024x181
20
20
  e1 h1.heading "Account settings" @24,24 976x25
21
21
  e2 div @24,65 976x44 [row] ↓16 [overflow-y +105px; clip]
22
22
  e3 button.button "Actions" @39,77 60x21
23
- e4 span "3 selected" @111,77 68x20 →12
23
+ e4 span "3 selected" @111,75 90x24 →12
24
24
  e5 nav.menu "Actions" @39,104 182x109 →-110 [clipped by e2 div; overflow:hidden, not scrollable; 103.8px below, 182x5 visible]
25
25
  e6 a.menuitem "Rename" @40,105 180x36 [clipped by e2 div; overflow:hidden, not scrollable; 31.6px below, 180x4 visible]
26
26
  e7 a.menuitem "Duplicate" @40,141 180x36 ↓0 [clipped by e2 div; overflow:hidden, not scrollable; 67.2px below, nothing visible]
@@ -41,12 +41,13 @@ other four are, only in this one header line and the `q color` verb — naming e
41
41
  pair on the page with a WCAG contrast ratio beside it, and never a pass/fail. See
42
42
  [`docs/digest.md`](docs/digest.md#color) for the full grammar.
43
43
 
44
- > **Status: pre-release.** Not published to npm. The library capture, digest, facts, clip
45
- > analysis, bundles, the Playwright integration — is built and tested. The CLI (`capture`, `look`,
46
- > `diff`, `q`) has a stable verb set, worked below in [From the CLI](#from-the-cli) and
47
- > [Reading a diff](#reading-a-diff); `dnumb --help` stays the exhaustive, versioned option list.
48
- > Build journal in [`LOG.md`](LOG.md); the plan is
49
- > [`docs/00-PLAN-OF-RECORD.md`](docs/00-PLAN-OF-RECORD.md).
44
+ > **Status: published.** `npm install --save-dev @michaelmagan/dnumb`MIT, zero dependencies. The
45
+ > library — capture, digest, facts, clip analysis, bundles, the Playwright integration — is built
46
+ > and tested. The CLI (`capture`, `look`, `diff`, `q`) has a stable verb set, worked below in
47
+ > [From the CLI](#from-the-cli) and [Reading a diff](#reading-a-diff); `dnumb --help` stays the
48
+ > exhaustive, versioned option list. Build journal in [`LOG.md`](LOG.md); the plan is
49
+ > [`docs/00-PLAN-OF-RECORD.md`](docs/00-PLAN-OF-RECORD.md); the release history is
50
+ > [`docs/06-RELEASE.md`](docs/06-RELEASE.md).
50
51
 
51
52
  ## The idea
52
53
 
@@ -174,8 +175,23 @@ No test suite yet, or just want a bundle right now? The shortest path from a URL
174
175
  two commands:
175
176
 
176
177
  ```bash
177
- dnumb capture https://example.com/settings --name settings-desktop
178
- dnumb --from .dnumb/settings-desktop.json look
178
+ npx @michaelmagan/dnumb capture https://example.com/settings --name settings-desktop # no install
179
+ npx @michaelmagan/dnumb --from .dnumb/settings-desktop.json look
180
+ ```
181
+
182
+ On a bun project, `bunx` is the equivalent zero-install form: `bunx @michaelmagan/dnumb --help`.
183
+
184
+ Already installed it (`npm install --save-dev @michaelmagan/dnumb`, or `bun add -d
185
+ @michaelmagan/dnumb`)? Drop the scope — `npx dnumb` and `bunx dnumb` both resolve the local `dnumb`
186
+ bin the same way, since npm, pnpm, and bun all populate `node_modules/.bin/dnumb` identically.
187
+ Without a local install, either tool takes `dnumb` as a *package* name, not a bin name, and there is
188
+ no unscoped `dnumb` package on npm (see [`docs/06-RELEASE.md` §0](docs/06-RELEASE.md)) — so a bare
189
+ `npx dnumb` or `bunx dnumb` with nothing installed 404s.
190
+
191
+ ```bash
192
+ npx dnumb capture https://example.com/settings --name settings-desktop # after install
193
+ npx dnumb --from .dnumb/settings-desktop.json look
194
+ # or, in a bun project: bunx dnumb capture ... / bunx dnumb --from ... look
179
195
  ```
180
196
 
181
197
  `capture` launches a browser, navigates, captures, and writes `.dnumb/settings-desktop.json` —
package/dist/cli.cjs CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michaelmagan/dnumb",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Turns a rendered page into measurements an agent can read: element geometry, overflow, clipping, and a text diff of what changed between two states.",
5
5
  "keywords": [
6
6
  "agent",
@@ -36,9 +36,9 @@
36
36
  "AGENTS.md"
37
37
  ],
38
38
  "publishConfig": {
39
- "access": "public"
39
+ "access": "public",
40
+ "provenance": true
40
41
  },
41
- "packageManager": "pnpm@11.24.0",
42
42
  "intent": {
43
43
  "version": 1,
44
44
  "repo": "michaelmagan/dnumb",
@@ -55,21 +55,6 @@
55
55
  "dnumb": "./src/cli.ts"
56
56
  }
57
57
  },
58
- "scripts": {
59
- "build": "zshy --project tsconfig.build.json && node scripts/exports-map.mjs",
60
- "postbuild": "node scripts/exports-map.mjs",
61
- "typecheck": "tsc --noEmit",
62
- "lint": "biome check --error-on-warnings .",
63
- "format": "biome check --write .",
64
- "test": "vitest run --project unit",
65
- "test:browser": "vitest run --project browser",
66
- "test:all": "vitest run",
67
- "test:travel": "bash scripts/travel-test.sh",
68
- "check:package": "publint --strict && attw --pack .",
69
- "prepack": "pnpm run build",
70
- "prepublishOnly": "pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run test:browser && pnpm run check:package",
71
- "release": "changeset publish"
72
- },
73
58
  "peerDependencies": {
74
59
  "playwright-core": ">=1.17.0"
75
60
  },
@@ -137,5 +122,18 @@
137
122
  "./dist/spec/index.d.cts"
138
123
  ]
139
124
  }
125
+ },
126
+ "scripts": {
127
+ "build": "zshy --project tsconfig.build.json && node scripts/exports-map.mjs",
128
+ "postbuild": "node scripts/exports-map.mjs",
129
+ "typecheck": "tsc --noEmit",
130
+ "lint": "biome check --error-on-warnings .",
131
+ "format": "biome check --write .",
132
+ "test": "vitest run --project unit",
133
+ "test:browser": "vitest run --project browser",
134
+ "test:all": "vitest run",
135
+ "test:travel": "bash scripts/travel-test.sh",
136
+ "check:package": "publint --strict && attw --pack .",
137
+ "release": "changeset publish"
140
138
  }
141
- }
139
+ }
@@ -27,10 +27,11 @@ e5 nav.menu "Actions" @39,104 182x109 →-110 [clipped by e2 div; overflow:hidde
27
27
  A menu overlapping the sibling before it — negative gap — clipped by its own parent's
28
28
  `overflow: hidden` with only a 5px sliver surviving. Neither line says "bug". You decide that.
29
29
 
30
- ## Status: pre-release
30
+ ## Status: published
31
31
 
32
- Not yet published to npm. The library surface below is built and tested. The CLI has a stable verb
33
- set — `capture`, `look`, `diff`, and `q describe|find|at|within|distance|nearest|facts|color` — worked in
32
+ `npm install --save-dev @michaelmagan/dnumb` — MIT, zero dependencies. The library surface below is
33
+ built and tested. The CLI has a stable verb set — `capture`, `look`, `diff`, and
34
+ `q describe|find|at|within|distance|nearest|facts|color` — worked in
34
35
  [README § From the CLI](https://github.com/michaelmagan/dnumb/blob/main/README.md#from-the-cli) and
35
36
  [§ Reading a diff](https://github.com/michaelmagan/dnumb/blob/main/README.md#reading-a-diff). This
36
37
  file does not restate flags: run `dnumb --help` for the exhaustive, versioned list of what your
@@ -70,6 +71,15 @@ npm install --save-dev @michaelmagan/dnumb
70
71
  everything — dnumb reuses your browsers and never downloads its own. If it does not, everything
71
72
  downstream of a saved bundle still works with no browser at all.
72
73
 
74
+ **No install, just try the CLI:** `npx @michaelmagan/dnumb --help` (or, on a bun project, `bunx
75
+ @michaelmagan/dnumb --help`). **After installing — via npm, pnpm, or `bun add -d
76
+ @michaelmagan/dnumb` — the shorter `npx dnumb --help` / `bunx dnumb --help` also works**, either
77
+ one, since all three package managers populate `node_modules/.bin/dnumb` the same way and both
78
+ `npx` and `bunx` resolve a local bin from it before ever touching the registry. **A bare `npx dnumb
79
+ ...` or `bunx dnumb ...` with nothing installed 404s against the registry**, because the tool is
80
+ then resolving `dnumb` as a package name, not a bin name, and no unscoped `dnumb` package exists. A
81
+ 404 there means "install it," not "the tool doesn't exist."
82
+
73
83
  ## Read this before you use the output
74
84
 
75
85
  **Facts come with counter-facts, and a fact is not a verdict.** The same number means different