# Bean & Bark: learn the CLI by shipping

You may have met **Bean & Bark** before — the coffee roaster whose orders fill a DynamoDB table in our DynoStudio tutorial. Here you own the releases around that business: the Orders API, the Pricing SDK shared after a bad Friday, and Roastery Desk on three operating systems. A real situation lands on your desk each chapter, and you work it with the CLI.

This isn't a flag-by-flag reference (that exists — see the [CLI overview](https://www.kanject.com/docs/cli/)). Each chapter is a *situation* with a clock on it: the founder needs the API up before a tasting, a secret can't live in git, Friday's deploy breaks and the fix is a calm two commands. Every terminal output you see in these pages is the real thing — matched to what the CLI actually prints, so you always know what success looks like before you run it.

Start at the top and use the **Next** button, or jump straight to the job you have right now:

- **[Ship before the tasting](https://www.kanject.com/docs/cli-bean-bark-first-deploy/)** — One command to a deploy-ready service, an offline health check, your first deploy to dev — and the ledger entry that proves exactly what shipped.
- **[The secret nobody wrote down](https://www.kanject.com/docs/cli-bean-bark-secrets/)** — Wire the real database and an API key in without either touching git — then reproduce a dev-only bug on your laptop by pulling the stage's real env into the process.
- **[The bad Friday deploy](https://www.kanject.com/docs/cli-bean-bark-rollback/)** — Un-ship a bad revision in two calm commands: read the ledger, flip the live alias back, and mark the broken deploy so nothing ever rolls back onto it.
- **[A teammate joins](https://www.kanject.com/docs/cli-bean-bark-teammate/)** — Share a library across git repos without folklore: declare it by URL and ref, pin it in a lockfile, and make a fresh clone build byte-identical in three commands.
- **[Release the Pricing SDK](https://www.kanject.com/docs/cli-bean-bark-packages/)** — Close the public package graph, catch an already-claimed version, give Tunde an RC, and publish only the bytes he tested.
- **[Ship Roastery Desk](https://www.kanject.com/docs/cli-bean-bark-desktop/)** — Turn one .NET desktop project into tested macOS, Windows, and Linux downloads, then promote the approved candidate without rebuilding.
- **[Every PR gets a URL](https://www.kanject.com/docs/cli-bean-bark-previews/)** — Give each pull request its own throwaway stack with an expiry date — reviewable from the founder's phone, swept automatically when everyone forgets it.

> **What you'll need:** The **.NET SDK** and the **Kanject CLI** — the CLI is free, and the `webapi` template it scaffolds from ships inside it (no feed, no license). An **AWS account** is only needed for the moments you actually ship: every chapter's billable step has a free `--dry-run` rehearsal, and the health checks run fully offline. [Installation](https://www.kanject.com/docs/installation/) gets you from zero to `kanject doctor` passing.

---
_Source: https://www.kanject.com/docs/cli-bean-bark/ · Kanject Docs_
