# Nodecode > Nodecode is an agent that rewrites itself. It runs as one process in SBCL, a Common Lisp system, and shells attach to it. The model has one tool: it evaluates Lisp in the running program. What it defines, it keeps. Every page below is markdown. The whole reference as one file: https://nodecode.ai/docs/llms-full.txt ## Getting started - [Overview](https://nodecode.ai/docs/index.md): What Nodecode is, and the reference in reading order. - [Install](https://nodecode.ai/docs/install.md): One line for Linux, macOS and Windows. What it prints, what it needs, where files land, and the mistakes people make. - [Quickstart](https://nodecode.ai/docs/quickstart.md): Install, start, connect a provider, send a request, keep one definition, leave it running. - [First run](https://nodecode.ai/docs/first-run.md): The setup wizard: when it opens, what each stage shows, and the usual mistakes. - [Current support](https://nodecode.ai/docs/support.md): What works today on each platform, and what is limited or unfinished. - [Troubleshooting](https://nodecode.ai/docs/troubleshooting.md): The diagnostic commands, the log files, and common failures as symptom then fix. - [FAQ](https://nodecode.ai/docs/faq.md): Short answers to what a newcomer asks first, each with the page that has the detail. - [Changelog](https://nodecode.ai/docs/changelog.md): The release each platform runs on the stable channel, how to see your own build, and what changed. ## Use - [The shell](https://nodecode.ai/docs/shell.md): Keys, composer prefixes, header, footer and turn bar of the terminal UI. - [Sessions and undo](https://nodecode.ai/docs/sessions.md): Session ids, resume, rename, export, fork, the session tree, undo, crash recovery and throwaway stores. - [Slash commands](https://nodecode.ai/docs/slash-commands.md): Every built-in and cell slash command, with syntax, aliases and headless support. - [Command line](https://nodecode.ai/docs/cli.md): Every nodecode command and option, the rules for combining them, and the exit codes. - [Models and providers](https://nodecode.ai/docs/models.md): Providers, wire dialects, key lookup, default and auxiliary model, effort, retries and failover. - [Config](https://nodecode.ai/docs/config.md): The config file, how to change it, and every core key with type and default. - [Environment variables](https://nodecode.ai/docs/environment.md): Every environment variable the nodecode binary and the installers read, by purpose. - [Files](https://nodecode.ai/docs/files.md): Every file and folder Nodecode keeps: the home, the cache, and the folder it leaves in each project. - [Instruction files](https://nodecode.ai/docs/instructions.md): Which files Nodecode reads into the prompt, where the model finds them, and when an edit takes effect. - [Profiles](https://nodecode.ai/docs/profiles.md): Separate homes under one binary: -p NAME, every nodecode profile verb, /profile and the active-profile file. - [Updates](https://nodecode.ai/docs/updates.md): The update command, the update config keys, channels, staging, the hot and restart paths, and manual steps. - [Safety and trust](https://nodecode.ai/docs/security.md): What protects the machine, and what Nodecode does not protect. - [The gateway](https://nodecode.ai/docs/gateway.md): The background gateway: its verbs, what it installs per platform, logout, automatic start and updates. - [RPC](https://nodecode.ai/docs/rpc.md): Drive Nodecode from a program: one command a line on stdin, one frame a line on stdout. - [Gateway operations](https://nodecode.ai/docs/operations.md): Choose an owner, inspect it, recover from a crash, apply config changes, and know what survives a restart. ## How it works - [The organism](https://nodecode.ai/docs/organism.md): What runs when you type nodecode, what it keeps, and what happens when it stops. - [Eval and the layer](https://nodecode.ai/docs/eval.md): The eval tool, its helpers, and how a definition is kept, held, skipped, inspected and undone. - [Context and recall](https://nodecode.ai/docs/context.md): The window budget, eviction, the stub it leaves, /evict, the recall forms and checkpoints. ## Cells - [Cells](https://nodecode.ai/docs/cells.md): What a cell is, where to find one, how to turn one on or off, the hub, how cells load. - [Cell API](https://nodecode.ai/docs/cell-api.md): How a cell is written: nle:define-cell, its clauses, tool contracts, the config section, hooks, notices, stop, and what Nodecode shows when one is written wrong.