reveclicat 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/CHANGELOG.md CHANGED
@@ -4,7 +4,14 @@ All notable changes to this project are documented here. Format based on [Keep a
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
- _Nothing yet._
7
+ ## [0.1.1] — 2026-08-29
8
+
9
+ ### Fixed
10
+ - npm page: demo GIF and CI badge were broken (repository was private; GIF used a relative path). Repository is now public and the GIF uses an absolute URL.
11
+
12
+ ### Added
13
+ - README "How this was built" section, `docs/CONSTITUTION.md` (the maintainer's original project constitution) and a header explaining `docs/WORKLOG.md`.
14
+ - `release.yml` workflow: pushing a `v*` tag publishes to npm via trusted publishing (OIDC, provenance), after checking the tag matches `package.json`.
8
15
 
9
16
  ## [0.1.0] — 2026-08-29
10
17
 
@@ -34,5 +41,6 @@ First release. Unofficial project — not affiliated with RevenueCat, Inc.
34
41
  - Consistent error output: every error prints `✖ message` + `→ hint`; usage errors (unknown command/option, missing argument) exit with code 2, other failures with 1; `RCC_DEBUG=1` shows stack traces; `NO_COLOR` honoured. (T-052)
35
42
  - Programmatic API (`reveclicat` package): schemas, `Subscriber`, `runScenario`, `loadScenario`, `VirtualClock`, `createRng`.
36
43
 
37
- [Unreleased]: https://github.com/RadW2020/ReveCliCat/compare/v0.1.0...HEAD
44
+ [Unreleased]: https://github.com/RadW2020/ReveCliCat/compare/v0.1.1...HEAD
45
+ [0.1.1]: https://github.com/RadW2020/ReveCliCat/compare/v0.1.0...v0.1.1
38
46
  [0.1.0]: https://github.com/RadW2020/ReveCliCat/releases/tag/v0.1.0
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ReveCliCat is a small TypeScript CLI that generates RevenueCat-shaped webhook events, chains them through a subscription state machine so they stay coherent (same IDs, forward-moving timestamps, fields that mutate the way they really do), and POSTs them to your endpoint — `localhost` included, no tunnel needed. Think of it as the Stripe CLI that RevenueCat does not have.
10
10
 
11
- ![rcc run happy-year against rcc listen, then rcc send and rcc tail --smee](docs/demo.gif)
11
+ ![rcc run happy-year against rcc listen, then rcc send and rcc tail --smee](https://raw.githubusercontent.com/RadW2020/ReveCliCat/main/docs/demo.gif)
12
12
 
13
13
  <!-- Regenerate with: npm run build && vhs docs/demo.tape -->
14
14
 
@@ -177,6 +177,12 @@ none ──INITIAL_PURCHASE──▶ trial ──RENEWAL (conversion)──▶ a
177
177
  - v0.1 models the **App Store** only. Google Play, Stripe, Amazon and Roku stores, a built-in tunnel, a web UI and hosted mode are intentionally out of scope (see the Icebox in `docs/BACKLOG.md`).
178
178
  - Programmatic use: `import { runScenario, Subscriber, WebhookEnvelopeSchema } from "reveclicat"`.
179
179
 
180
+ ## How this was built
181
+
182
+ ReveCliCat was built with **spec-driven, AI-assisted development**: the maintainer wrote the product brief and a ten-article [project constitution](docs/CONSTITUTION.md) (spec first, tests first, full traceability, payload fidelity from official docs only, closed scope), made the product and scope decisions, and validated the result against a real RevenueCat project; an AI coding agent (Claude Code) implemented it ticket by ticket under those rules — failing tests first, then code, then docs.
183
+
184
+ The evidence is in the repo rather than in claims: [`docs/BACKLOG.md`](docs/BACKLOG.md) (every ticket with acceptance criteria), [`docs/WORKLOG.md`](docs/WORKLOG.md) (the agent's session-by-session log, kept verbatim — including the mistakes and how they were caught), [`docs/adr/`](docs/adr/) (why each non-trivial decision went the way it did), [`docs/payload-sources.md`](docs/payload-sources.md) (where every schema field comes from, and what real captured events taught us that the docs did not), and a commit history where each `feat(T-xxx)` lands with its tests. The whole 0.1.0 was built in one day; the method, not the calendar, is the point.
185
+
180
186
  ## Contributing
181
187
 
182
188
  Spec-driven, tests-first, one ticket per commit — see [`CONTRIBUTING.md`](CONTRIBUTING.md), the backlog in `docs/BACKLOG.md` and the decision log in `docs/adr/`.
package/dist/cli.js CHANGED
@@ -9,7 +9,7 @@ import { Command } from "commander";
9
9
  // package.json
10
10
  var package_default = {
11
11
  name: "reveclicat",
12
- version: "0.1.0",
12
+ version: "0.1.1",
13
13
  description: "Unofficial CLI to simulate RevenueCat subscription lifecycles and test webhooks locally and in CI. Not affiliated with RevenueCat, Inc.",
14
14
  type: "module",
15
15
  license: "MIT",