Skip to content
YottaCode v0.2.0 is out! ๐ŸŽ‰ See the release notes โ†—
Quickstart

Quickstart

This guide gets yottacode running against a model provider and starts your first coding session.

Install yottacode

One-liner (Linux + macOS, amd64 + arm64):

curl -fsSL https://raw.githubusercontent.com/yottadynamics/yottacode/main/install.sh | bash

The installer drops yottacode into ~/.yottacode/bin/ (no sudo), verifies the release archive against published SHA256 sums, and appends a PATH export to your shell rc โ€” making a timestamped backup of the rc first.

Skip the rc edit (you manage PATH yourself):

curl -fsSL https://raw.githubusercontent.com/yottadynamics/yottacode/main/install.sh \
  | bash -s -- --no-modify-rc

Pin a specific version instead of “latest”:

curl -fsSL https://raw.githubusercontent.com/yottadynamics/yottacode/main/install.sh \
  | VERSION=0.2.0 bash

Verify the install:

yottacode --version

Note

yottacode checks GitHub for a newer release once a day on startup and offers to upgrade before the TUI starts. Set YOTTACODE_NO_UPDATE_CHECK=1 to disable. Windows users should run yottacode under WSL. For build-from-source and pinned-archive paths, see Installation.

Configure a provider

yottacode does not guess a default model or endpoint. The fastest way to configure one is the wizard:

yottacode setup

The wizard writes ~/.yottacode/config.toml and ~/.yottacode/.env, probes providers where possible, and can be rerun later with /setup from inside the TUI.

Or configure manually โ€” you need a model id, a base URL, and (for some providers) an API key. Pick one:

ollama serve
ollama pull <your-model-id>

export YOTTACODE_PROVIDER=ollama
export YOTTACODE_MODEL=<your-model-id>
export YOTTACODE_BASE_URL=http://localhost:11434/v1

yottacode

Ollama ignores API keys; yottacode handles that internally.

See Providers for the full list.

Ask for help in the TUI

Launch yottacode from a project directory:

cd ~/src/my-project
yottacode

Try prompts like:

summarize this repository
find the tests for the session package and explain how persistence works
add a regression test for the bug described in this issue

Useful interactive commands:

  • /help โ€” list slash commands
  • /provider โ€” add, remove, or switch providers
  • /model โ€” open model picker or /model <name> to switch directly
  • /plan โ€” toggle plan mode (also Shift+Tab) for research before implementation
  • /theme โ€” change the color theme
  • /skills โ€” menu to enable/disable, install, uninstall, check, and update skills
  • /sessions โ€” resume, rename, or export sessions
  • /memory โ€” edit USER.md / YOTTACODE.md or browse agent-managed memories
  • /doctor โ€” actively probe the configured endpoint
  • /init โ€” draft or refresh .yottacode/YOTTACODE.md

Use one-shot mode for scripts

yottacode run "summarize the public API of this repo"

yottacode run prints the final answer to stdout and sends status/tool progress to stderr, so it composes cleanly with pipes, redirects, and CI logs.

Understand approvals

yottacode reads and inspects your repo without prompting; mutating actions usually ask first. You will see approval modals for file writes, shell commands, destructive git operations, and similar changes.

Caution

yottacode does not provide an in-process sandbox. For real isolation, run it inside a container or devcontainer.

Next steps