direnv for Claude Code and other AI tools.
A single global agent config can't express βuse the office MCP server only at workβ or βload these plugins only in this repoβ. llmenv lets you declare configuration once, attach it to scopes via tags, and have the right slice activate automatically β from a shell hook that fires on every prompt.
Scopes detect network, host, user, and project context; tags attach config to the scopes that need it. A work MCP server or a personal plugin activates automatically β no global config bleeding into repos it doesnβt belong in.
Capabilities β MCP, LSP, hooks, permissions, plugins β are declared once in an engine-neutral format. Adapters translate that into Claude Code, Crush, Opencode, and others, so switching tools doesnβt mean rewriting config.
ICM gives agents durable, queryable memory across sessions β decisions and prior fixes survive /clear and new sessions. Codebase memory indexes your repo so agents search a knowledge graph instead of re-reading files cold.
Built-in guards keep long sessions on track: loop detection catches a model stuck repeating itself, a task tracker survives compaction, and context-mode offloads large tool output to a sandbox instead of bloating the conversation.
MCP servers and language servers are top-level config, not an afterthought. Declare them once and every adapter renders the engine-specific wiring β transports, permission scoping β for you.
Bundle skills, commands, agents, and MCP servers together and activate them by tag. llmenv translates plugin content across engines, so a Claude Code plugin still works when a teammate is on Crush.