Blueprint gallery
A blueprint is real source that lands in your repo: journeys, emails, segments and scenarios, yours to edit from the moment they arrive. Three of them are whole programs, sized for a product rather than a demonstration. Three are single journeys, each the shortest example of one pattern.
Start a new repo from one:
cow init --blueprint ecommerceOr add one to a repo that already has a cow.json:
cow add blueprint winbackNeither overwrites a file you already have unless you pass --force.
Programs
Section titled “Programs”| Blueprint | What it covers | Journeys |
|---|---|---|
| ecommerce | The lifecycle of an online store | 6 |
| mobile-game | The lifecycle of a mobile game | 6 |
| saas-trial | A B2B free trial, end to end | 6 |
Single journeys
Section titled “Single journeys”| Blueprint | Pattern | Triggers on |
|---|---|---|
| activity-decay | Timer loop: trait set, silence clock, unset | any event |
| abandoned-checkout | Recovery window with a mark on success | checkout_started |
| winback | Timer loop with an email at the end of silence | purchase_completed |
Each of those three renders its full annotated source and its scenario, so cow test <name> --scenario scenarios/<file> watches the pattern run before you touch production.
The event names are placeholders. order.placed, checkout_started and the traits beside them are names a blueprint app sends; Cowliss defines none of them, and the only events it writes itself are the reserved system. ones. The three programs use the dot-namespaced style we suggest for a new app, and the three single journeys keep the underscore names they shipped with, because either way you are going to replace them. A copied blueprint does nothing until you rename its trigger, its waits and its traits to the names your own app already tracks. Each blueprint page lists the events it waits for, and cow build --json prints the same list for your own repo; the traits a blueprint reads are in the files themselves.