Stelladocs
Getting Started

Repo initialization

Prime a workspace with stella init — the domain taxonomy, the tree-sitter code graph, extension adoption, and everything that lands under .stella/.

Stella works in any directory with zero setup — but one command primes it with structured knowledge of your codebase:

cd your-project
stella init

What stella init does

  1. Infers the domain taxonomy.stella/domains.toml. A short, shared tagging vocabulary (auth, storage, api, …) used to label memories, reflections, and every code-graph node — so the context engine can relate a memory, a reflection, and a file to the same area of your project. Also persisted into the context plane at .stella/context.db.
  2. Builds the code-graph index.stella/codegraph.db. A tree-sitter symbol/import index the agent queries through graph_query (and you query through stella graph) instead of grepping blind.
  3. Adopts existing agent extensions. Commands, skills, and agents already defined for other tools (.claude/ and .agents/ directories, workspace and user scope) are adopted as symlinks under .stella/ — your existing setup carries over instead of starting from scratch.

stella init works offline with a heuristic fallback, so it never hard-fails: you can initialize before configuring any provider key.

In interactive sessions the graph also auto-builds in the background and refreshes live as files change — stella init is about doing it once, eagerly, and generating the taxonomy alongside. Re-run it after large refactors to rebuild the index and re-infer the taxonomy.

What lands where

Everything Stella knows about a workspace lives under .stella/ — plain files and SQLite databases you can inspect, version, or delete at will:

PathWhat it holds
.stella/domains.tomlThe domain taxonomy (tagging vocabulary)
.stella/codegraph.dbThe tree-sitter code-graph index
.stella/context.dbThe context plane — memory nodes, reflections, episodes, bi-temporal facts
.stella/store.dbExecutions, events, token/cost telemetry, the files-touched ledger
.stella/memories/*.mdWorkspace memories (plain Markdown)
.stella/rules/*.mdWorkspace rules — promoted memories and guard rules
.stella/skills/Project-scope skills
.stella/settings.jsonProject-scope settings
.stella/mcp.tomlMCP servers to connect at session start
.stella/tools/*.tomlCustom script tools
.stella/commands/ · .stella/agents/Custom commands and custom agents
.stella/fleet.dbThe fleet ledger — runs, attempts, commits
.stella/worktrees/Dedicated worktrees for fleet tasks marked isolation = "isolated"
.stella/exports/Session telemetry exports (ZIP + HTML)
.stella/reflections.jsonlPost-turn reflection log (lessons the context engine distills)
.stella/mcp_oauth.jsonOAuth tokens for MCP servers you've logged into — a secret, never commit it

User-scope counterparts live under ~/.config/stella/ (settings, skills, agents, credentials).

What to commit

.stella/domains.toml, .stella/memories/, .stella/rules/, .stella/skills/, .stella/settings.json, .stella/mcp.toml, and .stella/tools/ are team-shareable and version-control-friendly — with one caveat: if .stella/settings.json carries an inline api_key, keep it out of version control (prefer api_key_env or credentials.toml). The .db files are local state, and .stella/mcp_oauth.json holds OAuth tokens — add all of them to .gitignore:

.gitignore
.stella/*.db
.stella/*.db-*
.stella/mcp_oauth.json
.stella/worktrees/
.stella/exports/
.stella/reflections.jsonl

Verify the result

stella graph definitions <SomeSymbol>   # the index answers structural questions
stella config                            # the resolved provider/model/workspace

Next: configure your provider keys, then run your first task from the quickstart.

Stella is totally free and open source, dual-licensed MIT or Apache 2.0— your choice: MIT's three-paragraph simplicity, or Apache 2.0's explicit patent grant that enterprises prefer. Use it, fork it, embed it, ship it — no account, no phone-home, no strings. What that means →

On this page