master-zapier-plan-draft/vendor/zapier-platform/ARCHITECTURE.md
George Lambert b4150c8250 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.
2026-09-09 02:37:36 -04:00

12 lines
1.2 KiB
Markdown

# `zapier-platform` Architecture
## Purpose
- The `zapier/zapier-platform` repository is structured as a [monorepo](https://en.wikipedia.org/wiki/Monorepo), where separate but related code lives together.
## Technical Organization
- The root folder mostly holds tooling scripts, tooling configuration, examples, and documentation for the platform as a whole.
- The `schema-to-ts` folder contains a custom package that generates TypeScript declarations for `zapier-platform-core` based on the `zapier-platform-schema`'s generated `exported-schema.json` file. These generated type declarations are bundled into `zapier-platform-core` and shipped to end-users as part of that NPM package. Type declarations are configured to be generated via the `generate-types` NPM script, which runs automatically as part of a `husky` precommit hook.
- The individual packages are found in the `packages` directory. Each has its own `ARCHITECTURE.md` file outlining the code for that specific package.
- The `boilerplate` directory holds a "bare minimum" app that we include with each `zapier-platform-core` version (AKA Platform Version). We use this in combination with the Visual Builder to ship apps that that skip the build step.