Creem as Code (CLI-based product & billing configuration)
Introduce a “Creem as Code” approach that allows developers to define products, prices, subscriptions, and bundles directly in code (e.g. TypeScript) and sync them to Creem via a CLI.
Use case:
Similar to how Convex manages backend schema and functions through code + CLI sync, teams could version-control their billing setup, review changes in pull requests, and keep environments in sync.
This would be especially powerful in LLM-driven workflows: models can define products, wire up UI, and validate billing logic in one flow — with immediate CLI feedback — enabling a fully code-centric, automatable billing setup for modern software teams.
Log in to comment and vote
Comments1
Micha
Mar 11
My impression is that the CLI is already great for operational management and scripting, but it’s not yet a declarative “Creem as Code” workflow similar to how Convex manages backend and schema with
npx convex dev.The motivation behind the feature request was mainly to manage billing with the same developer workflow as the rest of the stack. That becomes especially powerful in modern AI/LLM-driven workflows, where models can define products, wire up UI, and validate billing logic in one flow if billing configuration can live in code and sync through a CLI.
Right now the CLI mainly supports:
list/get/create products
list/get discounts
store operations (customers, subscriptions, transactions)
JSON output for scripting
For a real “Creem as Code” workflow the main missing pieces seem to be:
CLI coverage
update/archive products
create/update/delete bundles
create/update/delete discounts
Declarative workflow
pull remote config into code
schema validation for billing config
environment promotion (test → live)
state tracking / reconciliation (diff + drift detection)
The interesting challenge compared to Convex is that Creem can be edited both in code and in the dashboard, so sync probably can’t be purely one-way.
One possible direction could be something like
npx creem devbacked by a small reconciliation layer:Creem keeps a change history for config items (products/bundles/discounts)
the history distinguishes dashboard edits vs code sync
local keeps a synced copy of that history
on sync the CLI compares local files, remote state, and the last sync state
That would allow the engine to infer cases like:
new local item → create remotely
new remote item → pull into code
local item removed → archive/delete remotely
both sides changed → conflict / resolution
It also feels like good synergy with audit-log needs for larger teams.
So the main gap I meant with the feature request is less about adding individual CLI commands and more about enabling a code-centric billing sync workflow.
Happy to share more thoughts if useful 🙂