Skip to content

refactor(kvctl): dedicated workspace package, one module per command - #16

Merged
dbud merged 10 commits into
mainfrom
d-bud/ess-40-refactor-kvctl-into-a-dedicated-workspace-package
Sep 16, 2026
Merged

dbud merged 10 commits into
mainfrom
d-bud/ess-40-refactor-kvctl-into-a-dedicated-workspace-package

Conversation

@dbud

@dbud dbud commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Moves kvctl out of packages/web into its own @essayist/kvctl package and splits it into per-command modules (commands/), with kv helpers in kv.ts, sync logic in families.ts, and pprint in utils/, assembled declaratively in kvctl.ts.

Also adds a global --local option and an optional prefix to wipe.

Closes ESS-40

dbud added 10 commits September 15, 2026 18:00
Move kvctl out of packages/web into the new @essayist/kvctl package with its own deno.jsonc. Add a root deno task so it stays runnable as `deno task kvctl` and drop the task from packages/web.

Move pluralize and its tests into core and re-export it from @essayist/core so web and kvctl share one implementation.

No behavior changes.
Commands live in commands/ and are assembled declaratively in kvctl.ts; kv helpers and sync logic stay in kv.ts and families.ts.
Generalize printEntry into a generic pprint(value) and move it from kv.ts to utils/pprint.ts.
Forces the default local playground KV over REMOTE_URL; an explicit --target still wins. Shared option types live in globals.ts.
Scopes deletion to keys under the prefix; a bare wipe still deletes every key. Also align the list-users email column.
@dbud
dbud merged commit 8fd56b2 into main Sep 16, 2026
3 checks passed
@dbud
dbud deleted the d-bud/ess-40-refactor-kvctl-into-a-dedicated-workspace-package branch September 16, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant