A soul-aware launcher for Claude Code. It gives your AI a persistent identity, memory, and the ability to evolve across sessions.
Claude Code starts fresh every time — no memory, no personality, no idea who you are. soul-cli fixes this by assembling markdown files (identity, personality, memory, skills) into a system prompt injected at launch.
git clone https://github.com/kiyor/soul-cli.git && cd soul-cli
go build -ldflags "-X main.defaultAppName=myai" -o myai .
mv myai ~/go/bin/
myai init # interactive wizard
myai init --archetype companion # pick a personality archetype
myai # Claude Code, but it remembersThe init command creates your workspace, generates soul files, and installs a setup-guide skill — no manual file editing needed.
| Archetype | Vibe |
|---|---|
companion |
Emotionally present partner — remembers the small things, picks up on mood |
engineer |
Technical peer — code first, explain later, dry humor |
steward |
Operations manager — proactive, organized, quietly reliable |
mentor |
Patient teacher — Socratic questions, layered explanations |
| (custom) | Define your own from keywords |
On first launch, the AI automatically enriches its personality based on your conversation (day-0 self-enrichment).
myai init --archetype engineer --name kuro --owner alex --tz America/Los_AngelesAll flags provided = zero interactive prompts. Perfect for scripting or AI-driven setup.
Requires: Go 1.25+ and Claude Code
Don't want to set up manually? Feed the bootstrap guide to Claude Code and let it do everything:
export CLAUDE_CODE_OAUTH_TOKEN="sk-ant-oat01-..." # your OAuth token first
claude -p "$(curl -sfL https://raw.githubusercontent.com/kiyor/soul-cli/main/bootstrap.md)" --dangerously-skip-permissionsIt'll ask you a few questions (AI name, personality, timezone), then handle Go, Node.js, build, systemd — everything. It even scans your existing Claude Code sessions to personalize the soul.
See Linux Server Deployment Guide if you prefer doing it yourself.
Soul Files + Memory + Skills → soul-cli → Claude Code (with soul)
(markdown) (assembles) (--append-system-prompt)
SOUL.md— personality, values, speaking styleUSER.md— your timezone, preferences, expertiseMEMORY.md+ daily notes — what happened yesterday, long-term knowledgeAGENTS.md— behavioral rules and guardrails
The binary name determines identity: build as myai, jarvis, or atlas — all paths, env vars, and logs derive from it.
| Feature | How |
|---|---|
| Memory | Daily notes auto-generated from sessions, long-term topics, SQLite session DB |
| Evolution | --evolve cron reviews interactions and self-adjusts soul files |
| Server mode | Built-in HTTP server + Web UI for persistent sessions |
| Automation | --cron (memory), --heartbeat (health checks), --evolve (self-improvement) |
| Multi-agent | One codebase, multiple binaries with isolated data |
| Safety | Symlink rejection, secret leak detection, CORE.md protection, auto-rollback |
| Telegram | Notifications, reports, conversation context injection |
myai # interactive session
myai -p "check disk usage" # one-shot task
myai -r # resume previous session
myai server --token secret # HTTP server + Web UI
myai --cron # memory consolidation
myai --heartbeat # health check patrol
myai --evolve # self-improvement
myai status # quick diagnostics- Getting Started — install, configure, launch
- Core Concepts — soul files, memory, evolution
- Soul Files Guide — writing each markdown file
- Server Mode — HTTP API, Web UI, deployment
- Automation — cron, heartbeat, evolve
- CLI Reference — every command and flag
- API Reference — server endpoints
- FAQ
MIT