eskit CLI — init, inspect, replay dev tooling #63

Closed
opened 2026-02-21 22:43:41 +00:00 by ash · 1 comment
Owner

Why

Dev tooling makes the library feel like a product, not just code. Also critical for EMFlow code generation later.

Commands

  • eskit init — scaffold a new project with decider, events, store wiring
  • eskit inspect <stream> — show events in a stream (connect to SQLite/Postgres)
  • eskit replay <projection> — rebuild a projection from scratch
  • eskit stats — show stream counts, event counts, store size

Priority

Lower — ship after core features are solid. But design the interfaces now so CLI can plug in later.

Connection to EMFlow

This CLI is the bridge: EMFlow generates the slice definitions, eskit init scaffolds them into a running project.

Acceptance

  • CLI binary with cobra/urfave
  • init scaffolds minimal project
  • inspect reads from SQLite store
  • Works as both CLI and library
## Why Dev tooling makes the library feel like a product, not just code. Also critical for EMFlow code generation later. ## Commands - `eskit init` — scaffold a new project with decider, events, store wiring - `eskit inspect <stream>` — show events in a stream (connect to SQLite/Postgres) - `eskit replay <projection>` — rebuild a projection from scratch - `eskit stats` — show stream counts, event counts, store size ## Priority Lower — ship after core features are solid. But design the interfaces now so CLI can plug in later. ## Connection to EMFlow This CLI is the bridge: EMFlow generates the slice definitions, `eskit init` scaffolds them into a running project. ## Acceptance - [ ] CLI binary with cobra/urfave - [ ] `init` scaffolds minimal project - [ ] `inspect` reads from SQLite store - [ ] Works as both CLI and library
Author
Owner

Superseded by #115 (expanded scope CLI management tool).

Superseded by #115 (expanded scope CLI management tool).
ash closed this issue 2026-02-23 10:18:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ash/eskit#63
No description provided.