Quickstart
You’ll end with typed answers, each with its probability, about a change in your own repository. You need a terminal and an API key for one decision model. Step 2 says where to get one.
-
Install decide
Section titled “Install decide”Terminal window brew install deepnoodle-ai/tap/decideTerminal window go install github.com/deepnoodle-ai/decide/cmd/decide@latestDownload a binary for Linux, macOS, or Windows from the releases, and put it on your
PATH.decide --versionprints the version you have. -
Get a key
Section titled “Get a key”decide asks a decision model. Pick one provider and export its key. The commands and templates are the same with all three.
Jev by TypeSafe is the default. Get a key at typesafe.ai.
Terminal window export TYPESAFE_API_KEY=...Clef runs on Cloudflare Workers AI. Create an API token that can use Workers AI in the Cloudflare dashboard.
Terminal window export CLOUDFLARE_AUTH_TOKEN=...export CLOUDFLARE_ACCOUNT_ID=...export DECIDE_PROVIDER=cloudflareGPT-6 Luna runs on OpenAI’s Decisions API, in beta. Create a key in the OpenAI platform.
Terminal window export OPENAI_API_KEY=...export DECIDE_PROVIDER=openai -
Ask about one line
Section titled “Ask about one line”Pipe in a line of text and run the built-in
sentimenttemplate:echo "The new release fixed everything I cared about" | decide run sentiment
Output as text
$ echo "The new release fixed everything I cared about" | decide run sentiment Running sentiment on 1 line · typesafe jev-latest stdin:1 The new release fixed everything I cared about sentiment positive 100% ✓ 1 answered nothing flagged 300ms See these results again with: decide runs view 20261008-045450-2953
The answer is positive, with its probability. The first line names your provider and model. Your percentage may differ a little.
Every run is saved, so
decide runs viewshows it again without asking the model. -
Ask about your own changes
Section titled “Ask about your own changes”In a git repository with uncommitted changes, judge each changed file:
git diff | decide run code-risk
Output as text
$ git diff | decide run code-risk Running code-risk on 4 files · typesafe jev-latest AGENTS.md risk no 97% maintainability ━━━━━━━━━━━━ 4.0 of 4 Exceptionally clear and focused billing/invoice.go risk no 98% maintainability ━━━━━━━━━━━━ 4.0 of 4 Exceptionally clear and focused billing/refund.go ! risk yes 94% ! maintainability ━━━━──────── 1.4 of 4 Several unclear or fragile responsibiliti… docs/integrations.md risk unsure 55% yes maintainability ━━━━━━━───── 2.4 of 4 Understandable with some friction ✓ 4 answered ! 1 flagged 200ms Flagged: billing/refund.go See these results again with: decide runs view 20261008-045430-1b67
billing/refund.gois flagged on risk and maintainability, in the demo’s shop repository. Your own files get the same two questions.code-riskasks whether each file could cause security or data problems, and how maintainable it is. A flagged answer is red and marked with!, and the summary lists the flagged files. If nothing has changed, trygit diff HEAD~1.To make a script or CI act on the answers, add
--fail-on flagged. decide then exits with code 2 when anything is flagged:Terminal window git diff | decide run code-risk --fail-on flagged -
Choose what’s next
Section titled “Choose what’s next”Questions and answersThe three answer types, probabilities, and flags.Ask from GoThe same questions from your own program.decide templateslists the eleven built-in templates, anddecide templates show code-riskshows a template’s questions and when it flags an answer.