58 lines
2.8 KiB
Markdown
58 lines
2.8 KiB
Markdown
# Letta Code
|
||
|
||
[](https://www.npmjs.com/package/@letta-ai/letta-code) [](https://discord.gg/letta)
|
||
|
||
Letta Code is a memory-first coding harness, built on top of the Letta API. Instead of working in independent sessions, you work with a persisted agent that learns over time and is portable across models (Claude Sonnet/Opus, GPT-5, Gemini 3 Pro, GLM-4.6, and more).
|
||
|
||
**Read more about how to use Letta Code on the [official docs page](https://docs.letta.com/letta-code).**
|
||
|
||

|
||
|
||
## Get started
|
||
|
||
Requirements:
|
||
* [Node.js](https://nodejs.org/en/download) (version 18+)
|
||
* A [Letta Developer Platform](https://app.letta.com/) account (or a [self-hosted Letta server](https://docs.letta.com/letta-code/configuration#self-hosted-server))
|
||
|
||
Install the package via [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm):
|
||
```bash
|
||
npm install -g @letta-ai/letta-code
|
||
```
|
||
Navigate to your project directory and run `letta` (see various command-line options [on the docs](https://docs.letta.com/letta-code/commands)):
|
||
|
||
## Philosophy
|
||
Letta Code is built around long-lived agents that persist across sessions and improve with use. Rather than working in independent sessions, each session is tied to a persisted agent that learns.
|
||
|
||
**Claude Code / Codex / Gemini CLI** (Session-Based)
|
||
- Sessions are independent
|
||
- No learning between sessions
|
||
- Context = messages in the current session + `AGENTS.md`
|
||
- Relationship: Every conversation is like meeting a new contractor
|
||
|
||
**Letta Code** (Agent-Based)
|
||
- Same agent across sessions
|
||
- Persistent memory and learning over time
|
||
- `/clear` resets the session (clears current in-context messages), but memory persists
|
||
- Relationship: Like having a coworker or mentee that learns and remembers
|
||
|
||
## Agent Memory & Learning
|
||
If you’re using Letta Code for the first time, you will likely want to run the `/init` command to initialize the agent’s memory system:
|
||
```bash
|
||
> /init
|
||
```
|
||
|
||
Over time, the agent will update its memory as it learns. To actively guide your agents memory, you can use the `/remember` command:
|
||
```bash
|
||
> /remember [optional instructions on what to remember]
|
||
```
|
||
Letta Code works with skills (reusable modules that teach your agent new capabilities in a `.skills` directory), but additionally supports [skill learning](https://www.letta.com/blog/skill-learning). You can ask your agent to learn a skill from it's current trajectory with the command:
|
||
```bash
|
||
> /skill [optional instructions on what skill to learn]
|
||
```
|
||
|
||
Read the docs to learn more about [skills and skill learning](https://docs.letta.com/letta-code/skills).
|
||
|
||
---
|
||
|
||
Made with 💜 in San Francisco
|