Commit 6af20ca
Rename rowbinary-parser skill to a read+write codec; split docs and source by direction (#921)
The `@clickhouse/rowbinary` skill/package gained a writer (and now uses
the new type parser), so it's no longer a parser-only skill. This
reshapes it into a read+write **codec** and reorganizes both the source
tree and the skill docs by direction.
## What changed
- **Renamed the skill** `clickhouse-js-node-rowbinary-parser` →
`clickhouse-js-node-rowbinary` (dir, SKILL.md frontmatter, package
metadata, the two workflow files, the `release` skill, and root/skills
docs). The npm package name stays `@clickhouse/rowbinary`.
- **Split `src/` by direction**: readers → `src/readers/`, writers →
`src/writers/`, and dropped the now-redundant `_writer` suffix
(`integers_writer.ts` → `writers/integers.ts`). Subpath exports now
reflect the folders (`@clickhouse/rowbinary/readers/<type>`,
`/writers/<type>`); the root export and the new `./writer` barrel are
unchanged.
- **Split the skill doc** `SKILL.md` (which had grown large) into a lean
router plus two self-contained sides — `reader.md` and `writer.md` —
since a task normally needs only one direction. SKILL.md keeps the
format gate, the pick-your-side router, and the cross-cutting
principles; each side holds its own decisions, guidance, and per-type
reference table.
- **Tightened `writer.md` to the intended layering** `SKILL.md →
writer.md → source file with JSDoc`: each paragraph keeps the judgment
(when/why) and points at the exact `src/writers/<file>.ts`, with
mechanics living in (descriptive) JSDoc. A per-paragraph verification
pass corrected a few claims (Sink is caller-supplied state; hoisted
offsets must sync back to `sink.pos`; all date writers floor;
`DateTime64` floors on the JS ms number).
## Verification
- Typecheck clean; **724/724 tests pass**; `npm run build` emits the new
`dist/readers` / `dist/writers` layout and both barrels resolve.
- The first commit is a **pure rename** (193 files, 0 content changes)
so the relocation reviews at a glance; subsequent commits carry the
content.
## Notes / follow-ups
- Subpath imports are a **breaking change** for anyone importing
`@clickhouse/rowbinary/<type>` (now `/readers/<type>`), but this rides
along in the already-pending, unreleased `0.2.0` (npm latest is `0.1.2`)
that also introduces the whole writer surface — so **no extra version
bump**.
- Not yet done: a CHANGELOG `0.2.0` note documenting the rename + moved
subpaths.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent b8c65ad commit 6af20ca
201 files changed
Lines changed: 711 additions & 557 deletions
File tree
- .claude/skills/release
- .github/workflows
- packages/client-node
- skills
- clickhouse-js-node-rowbinary
- case-studies
- src
- examples
- readers
- writers
- tests
- tests/clickhouse-test-runner
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
| 236 | + | |
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
242 | | - | |
| 242 | + | |
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
260 | | - | |
261 | | - | |
| 260 | + | |
| 261 | + | |
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
283 | | - | |
| 283 | + | |
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
303 | | - | |
| 303 | + | |
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| |||
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
121 | | - | |
| 121 | + | |
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
39 | | - | |
| 38 | + | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
File renamed without changes.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
File renamed without changes.
0 commit comments