Home Docs Examples Blog Changelog Star on GitHub
Learn by doing

Examples

7 demos with GIFs
Read the docs

Interactive setup wizard

yaak config wizard

First-time setup shouldn't feel like work. Run yaak --config and you get an interactive wizard that walks you through:

  • Language selection — pick from eight supported languages
  • Model provider — Anthropic, Google Gemini, OpenAI, Ollama, Groq, and more
  • Model configuration — choose your model and set preferences
$ yaak --config

The wizard detects existing config and lets you update individual settings without starting over. Perfect for when you want to switch models or try a different provider.

Kill processes like a human would ask

yaak kill port

"What's using port 3000?" is the kind of thing you used to Google, copy a lsof command, run it, get a PID, then remember the kill syntax. With yaak, just ask:

$ yaak find what's using port 3000
  Command: lsof -ti:3000 | xargs kill -9
  Execute? [y/N]

yaak streams the command, waits for confirmation, and you're done. No context switching, no Stack Overflow, no remembering flags.

Spin up services without memorizing Docker flags

yaak docker postgres

Docker commands are powerful but verbose. Starting a Postgres container with custom password and port? That's a wall of flags you definitely don't have memorized:

$ yaak run postgres in docker with password mysecret on port 5433
  Command: docker run --name postgres -e POSTGRES_PASSWORD=mysecret -p 5433:5432 -d postgres
  Execute? [y/N]

yaak translates your intent into the right docker run command with all the flags in the right order. Works for any service — Redis, MongoDB, Nginx, whatever you need.

Git log queries that actually make sense

yaak git log

Git has incredible power buried under flags you can never remember. Want a brief summary of commits from the last two days?

$ yaak show commits from the last 2 days. show a brief summary
  Command: git log --since="2 days ago" --oneline --no-merges
  Execute? [y/N]

yaak knows --since, --oneline, --no-merges, and hundreds of other git flags. You just describe what you want to see.

Project-aware commands with --context

yaak context build

Pass --context and yaak reads your project structure — Cargo.toml, package.json, go.mod, Dockerfile, git branch, directory layout — and generates commands that understand what kind of project you're in:

$ yaak --context build and test the project
  Command: cargo build && cargo test
  Execute? [y/N]

No need to specify "use cargo" or "this is a Rust project." yaak detects it and does the right thing automatically. Works for npm, Go, Python, Docker, and more.

Context is opt-in by design. Simple queries stay fast, but when you need project awareness, it's there. See context mode in the docs for details.

Explain scary commands before you run them

yaak explain

Found a Stack Overflow answer with a command you don't fully trust? Use --explain to break it down:

$ yaak --explain 'find . -name "*.log" -mtime +30 -delete'

yaak walks through each part of the command, explains what it does, flags destructive operations, and tells you exactly what will happen before you execute anything. Perfect for:

  • Learning new commands
  • Code review of shell scripts
  • Debugging complex pipelines
  • Safety checks before running unfamiliar commands

See usage in the docs for more on explain mode.

Cache results for instant replay

yaak cache

How many times have you asked the same question? Weather forecasts, file conversions, database queries — some things you look up over and over. With --cache, yaak remembers:

$ yaak get the weather forecasts for San Francisco, Tokyo, and London. save as json.
  [15 seconds of API calls and processing]

$ yaak --cache get the weather forecasts for San Francisco, Tokyo, and London. save as json.
  [instant response from cache]

The first run fetches data and processes it. The second run with --cache? Instant replay. Cache lookup uses exact match first, then fuzzy BM25 matching, so minor variations still hit the cache.

See cache mode in the docs for configuration details.

Try them yourself

Install yaak and run these examples:

$ curl -fsSL https://getyaak.ai/install.sh | bash

See the installation docs for other options (Homebrew, Nix, AUR, Scoop, Cargo).

Set YAAK_API_KEY (or run yaak --config for the wizard), and you're ready to go.

Full documentation