One contract beats a dozen tools
Most starters glue together a dozen tools that each hold their own copy of the truth. They drift. Suluk inverts that.
You declare your entities once (Drizzle) and your verbs once (Hono + Zod). The OpenAPI v4 document is derived — every layer reads from that one document.
What's projected from the contract
- the Scalar docs and the typed client
- the shadcn UI and the admin cockpit
- the cost meter and the deploy plan
Nothing is hand-synced, so nothing can drift. Add an entity to the registry and it appears everywhere downstream:
{ name: 'Product', table: products, access: 'public' }
Three tools holding three copies of the truth is three chances to disagree. One document can't.
The saasuluk team
Building the SaaS that ships itself.