Introduction to Vishwakarma
The architecture expression language. Describe an enterprise system — its domain, rules, flows, and the systems they compose into — and the compiler checks the design and emits the running system from it.
Getting started
- What is VishwakarmaVishwakarma is an architecture expression language. You describe an enterprise system — its domain model, the rules that govern it, the flows that move through it, and the systems those compose into —…
- The example appEvery example in these docs is drawn from one application: Chowk, a small online marketplace. A chowk is a market square — the public place where a town's buying and selling happens — and this one…
- Your first modelA model is a set of .vishwakarma files. Start with an entity — a noun your business stores. Here is a product in Chowk's catalog:
The mental model
- Architecture you can compileMost architecture lives in documents and diagrams. It describes the system, but it does not build the system, so it drifts the moment someone changes code without updating the picture. Vishwakarma…
- Not a programming languageIt is tempting to call Vishwakarma a programming language, because you write it in files and a compiler reads it. But the label misleads, and the difference is worth being precise about.
- The three altitudesVishwakarma describes a system at three heights at once: the domain and application model it is made of, the architecture its capabilities compose into, and the flows that move through it. The same…
- The language surfaceThe vocabulary you author with, grouped by what it describes. The domain — the nouns and the facts. entity — an aggregate: its fields, relationships, indexes, and isolation. object / value / enum —…