Milestone 0: import zappier billing, Verae middleware, and Zapier research

Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
This commit is contained in:
George Lambert 2026-09-09 02:37:36 -04:00
commit b4150c8250
1364 changed files with 6814366 additions and 0 deletions

49
README.MD Normal file
View file

@ -0,0 +1,49 @@
# Verae Time × Zapier
Workspace that composes two existing systems and the official Zapier Platform SDK:
1. **`packages/zappier`** — custom pricing, API keys, customer portal, admin, Stripe, invoices.
2. **`packages/verae-zapier-middleware`** — timestamp adapter to `api.veraetime.net` (or `MOCK_VERAE`) plus NATS workers.
3. **`packages/verae-zapier`** — Zapier Platform CLI app.
4. **`vendor/zapier-platform`** — upstream CLI/core/schema/examples (reference).
5. **`research/zapier`** — vendor research, scrapes, cloned Zapier repos, playbooks ([research/README.md](research/README.md)).
They are **imported, not yet wired**. Public Zapier traffic should eventually hit zappier (`x-api-key`), which meters the call and proxies to the Verae middleware. See [docs/02-architecture/composition.md](docs/02-architecture/composition.md).
Original brief (features am): [docs/00-sources/workspace-brief.md](docs/00-sources/workspace-brief.md).
Where each tree came from: [docs/00-sources/provenance.md](docs/00-sources/provenance.md).
## Quick start
```bash
# Billing platform (portal :3000, admin, /docs)
cd packages/zappier && npm install && npm test && npm run dev
# Verae middleware (HTTP :3100, optional NATS)
cd packages/verae-zapier-middleware && npm install
cd ../.. && npm run gate:0
```
Gates (`npm run gate:N`) continue the middleware plan in [TODO.md](TODO.md). Phases 08, 10, 11 already passed in the source tree; 9 and 12+ are still open. Path prefixes now use `packages/`.
## Documentation map
| Doc | Contents |
|-----|----------|
| [docs/01-product/features-a-m.md](docs/01-product/features-a-m.md) | Requested Zapier surface vs owners |
| [docs/01-product/api-gap-analysis.md](docs/01-product/api-gap-analysis.md) | Live Verae OpenAPI vs am |
| [docs/01-product/billing-and-keys.md](docs/01-product/billing-and-keys.md) | Keys, rate card, invoices |
| [docs/02-architecture/overview.md](docs/02-architecture/overview.md) | Adapter internals (imported) |
| [docs/03-zapier/operations.md](docs/03-zapier/operations.md) | Platform nouns |
| [research/README.md](research/README.md) | Imported Zapier vendor research |
## Environment (middleware)
| Variable | Default | Purpose |
|----------|---------|---------|
| `PORT` | `3100` | Middleware HTTP |
| `VERAE_API_BASE_URL` | `http://localhost:8080` | Upstream Verae |
| `MOCK_VERAE` | `false` | Local mock of Verae HTTP |
| `NATS_ENABLED` | `false` | JetStream workers vs in-process poller |
Zappier uses `PORT` (3000), `ZAPPIER_DB`, `ADMIN_KEY`, `STRIPE_SECRET_KEY` — see `packages/zappier/README.md`.