Your AI copilot's memory. Persistent context across sessions, projects, and teams.
Give your coding agent the context it needs β automatically.
Works with Claude Code Β· more copilots coming soon
Every time you start a new conversation with your AI copilot, it forgets everything.
- π You repeat the same context about your project, your team, your standards
- π€· The copilot makes mistakes you've already corrected in past sessions
- π Your policies, specs, and business rules sit in files the copilot never sees
- π§ Decisions and rationale from past conversations are lost forever
Copilots are powerful β but they have amnesia.
Kai gives your copilot a persistent memory that grows smarter over time.
| Without Kai | With Kai |
|---|---|
| Copilot starts fresh every session | Copilot remembers what it learned |
| You repeat context manually | Context surfaces automatically |
| Knowledge lives in your head | Knowledge lives in a structured KB |
| Decisions are forgotten | Decisions persist across sessions |
How it works: Kai runs as an MCP server alongside your copilot. You teach it your context once β policies, specs, decisions, patterns β and it proactively surfaces relevant information when you need it.
π All data stays local. Your code and context never leave your machine.
Step 1: Add Kai to Claude Code
claude mcp add kai -s user -e ANTHROPIC_API_KEY="your-anthropic-api-key" -- npx @aurite-ai/kaiScope options:
-s projectβ Config stored for current project only-s userβ Config stored globally (available across all projects)
Step 2: In any project, tell your copilot:
"Set up Kai"
This deploys copilot rules and runs onboarding. The copilot asks a few questions to understand your context β this only happens once.
Step 3: Start teaching it your context:
"learn ~/Downloads/api-guidelines.pdf"
"learn the docs/ folder"
Step 4: Start working β Kai surfaces the right context automatically.
"build a customer support agent"
Kai feeds your copilot your API conventions, auth patterns, and related context. No reminders needed.
π¦ More installation options (npm global, Docker, from source)
npm (Global Install)
npm install -g @aurite-ai/kaiConfigure your MCP client to use kai-mcp as the command.
npx (No Install)
npx @aurite-ai/kaiDocker
docker pull kai/mcp
docker run -i kai/mcpFrom Source
git clone https://github.com/Aurite-ai/kai.git
cd kai
pnpm install
pnpm --filter @aurite-ai/kai build
pnpm --filter @aurite-ai/kai bundleYou teach Kai your company's context:
"learn ~/docs/api-guidelines.pdf"
"learn the docs/ folder"
Later, you start a task:
"build a customer support agent"
Kai automatically surfaces the relevant context to your copilot:
- β Your API conventions and auth patterns
- β Customer data models and access policies
- β Error handling and response format standards
- β Related endpoints already in the codebase
Your copilot builds it right the first time β no reminders needed.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β YOU COPILOT KAI β
β β
β "set up Kai" βββββββββββββββββββΊ deploys rules ββββββΊ .kai/ β
β asks questions stores β
β context β
β β
β "learn these docs" βββββββββββββββββΊ kai_learn ββββββΊ knowledge β
β base β
β β
β "build feature X" ββββββββββββββββββΊ kai_prepare ββββββΊ surfaces β
β _context relevant β
β files β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π‘ If Kai saves you from repeating yourself, consider giving it a β. It helps others discover the project.
- The Problem
- The Solution
- Quickstart
- What It Looks Like
- How It Works
- How It Compares
- Features
- Available Tools
- Documentation
- Migrating from Kahuna
- Contributing
- License
| Feature | Kai | Copilot Memory | RAG Tools | Manual Context |
|---|---|---|---|---|
| Persists across sessions | β | Partial | β | β |
| Learns from files & conversations | β | β | Files only | N/A |
| Proactive context surfacing | β | β | Query-based | β |
| Auto-classifies knowledge | β | β | β | Manual |
| Works across projects | β | β | Varies | β |
| Zero-config for copilot | β | β | β | β |
| Data stays local | β | β | Varies | β |
Kai is not a replacement for built-in copilot memory β it's what copilot memory should have been.
- π§ Knowledge Base β Store, categorize, and retrieve context from markdown files
- π― Smart Context Surfacing β Automatically surface relevant knowledge for your task
- π Integration Management β Discover, verify, and use external service integrations
- π Secure Credential Vault β Store and manage secrets with multiple provider support
- π Usage Tracking β Monitor token consumption and costs per project
- π Onboarding System β Guided setup for organization and project context
| Tool | Description |
|---|---|
kai_initialize |
Deploys copilot rules, runs onboarding |
kai_learn |
Adds files to knowledge base with classification |
kai_prepare_context |
Surfaces relevant knowledge for a task |
kai_ask |
Quick Q&A against the knowledge base |
kai_delete |
Remove outdated files from the knowledge base |
kai_provide_context |
Store org or user context in the knowledge base |
kai_usage |
View token usage and cost summary for the project |
kai_list_integrations |
List all discovered integrations and their status |
kai_use_integration |
Execute operations on discovered integrations |
kai_verify_integration |
Verify integration credentials and connectivity |
kai_discover_integration |
Discover and add a connector for a new service, API, or tool |
kai_update_connector |
Update or refresh an existing integration connector |
health_check |
Verify MCP server connectivity |
For Users:
- MCP Server Documentation β Installation, tools, configuration
- Advanced Documentation β Integrations, vault, KB structure
For Contributors:
- Product Design β Core concepts, tool specifications
- Architecture: Repository Infrastructure
- Architecture: Context Management System
Kai was previously named Kahuna. Kai does not read any of the old Kahuna paths or settings, so everyone with an existing install needs to do these steps once.
Before you start: check that
~/.kahunaholds Kai data (knowledge/,integrations/,connectors/,.env) and not files from another Kahuna project.
1. Update your local clone (contributors only)
git remote set-url origin https://github.com/Aurite-ai/kai.git
git checkout main && git pull
pnpm install
pnpm clean && pnpm build2. Move your data directory
mv ~/.kahuna ~/.kai3. Rename environment variables and secrets
Every KAHUNA_* variable is now KAI_* (for example, KAHUNA_KNOWLEDGE_DIR is now KAI_KNOWLEDGE_DIR).
# Secrets stored by Kai
sed -i '' 's/KAHUNA_/KAI_/g' ~/.kai/.env
# Local MCP server config (contributors only)
sed -i '' 's/KAHUNA_/KAI_/g; s/\.kahuna-knowledge/.kai-knowledge/g' apps/mcp/.env
# Find leftovers in your shell profile, then rename them by hand
grep -n KAHUNA_ ~/.zshrc ~/.bashrc ~/.profile 2>/dev/nullOn Linux, use
sed -iinstead ofsed -i ''.
If you used apps/mcp/scripts/setup-claude.sh, also rename the repo-local knowledge base: mv .kahuna-knowledge .kai-knowledge.
4. Re-register the MCP server
Remove the old server:
claude mcp remove kahuna -s user
claude mcp remove kahuna -s projectThen add Kai back, using the published package or your local build:
# Published package
claude mcp add kai -s user -e ANTHROPIC_API_KEY="your-anthropic-api-key" -- npx @aurite-ai/kai
# Local build of this repo (contributors)
pnpm mcp:setupRestart Claude Code, run claude mcp list, and confirm kai is connected and kahuna is gone.
5. Update projects that use Kai
Tool names changed from kahuna_* to kai_* (for example, kahuna_learn is now kai_learn). In each project where Kai was set up:
[ -d .kahuna ] && mv .kahuna .kai # usage history and context guide
[ -f .kahuna-test.json ] && mv .kahuna-test.json .kai-test.json # test projects onlyThen refresh the copilot rules so they use the new tool names. kai_initialize skips files that already exist, so run it with overwrite:
- Commit or back up any rules you customized (for example,
.claude/CLAUDE.md). - Tell your copilot: "Run kai_initialize with overwrite=true"
- Review the changes with
git diffand restore any customizations.
Also replace any .kahuna entries in the project's .gitignore with .kai.
6. Verify
ls -d ~/.kahuna 2>/dev/null
grep -n KAHUNA_ ~/.kai/.env apps/mcp/.env 2>/dev/nullNeither command should print anything.
We welcome contributions of all kinds!
- π Found a bug? Open an issue
- π‘ Have an idea? Open a feature request
- π§ Want to contribute code? Open a PR
π οΈ Developer Setup
Prerequisites
- Node.js 18+
- pnpm 9+
Quick Start
# Install dependencies
pnpm install
# Set up environment
cp apps/mcp/.env.example apps/mcp/.env
# Build workspace packages
pnpm build
# Run tests
pnpm testScripts
| Command | Description |
|---|---|
pnpm build |
Build all packages (via Turborepo) |
pnpm test |
Run all tests across workspace |
pnpm lint |
Lint codebase (Biome) |
pnpm lint:fix |
Lint and auto-fix issues |
pnpm format |
Format codebase (Biome) |
pnpm typecheck |
Type-check all packages |
pnpm clean |
Remove build artifacts and caches |
Testing CLI
| Command | Description |
|---|---|
pnpm kai-test |
Run testing CLI |
pnpm test:create |
Create a test project from a scenario |
pnpm test:list |
List available scenarios and test projects |
pnpm test:collect |
Collect results from a test session |
Project Structure
kai/
βββ apps/
β βββ mcp/ # MCP server (stdio) β context management tools
β βββ src/
β β βββ knowledge/ # Knowledge base domain logic (agents, storage, surfacing)
β β βββ integrations/ # External service integration management
β β βββ vault/ # Secure credential management
β β βββ usage/ # Token usage and cost tracking
β β βββ tools/ # MCP tool handlers
β βββ templates/ # Project initialization templates
βββ packages/
β βββ testing/ # QA testing infrastructure (scenarios + CLI)
β βββ vck-templates/ # Copilot configuration templates
βββ docs/ # Documentation
MIT