Features
llmenv is intentionally small at the command line and rich in what it stores. These are the shipped building blocks behind the universal syncing workflow.
Core Engine
Everything your AI needs to know.
llmenv acts as the silent mediator between your codebase and your intelligent tools, ensuring that constraints, environments, and architectural decisions are never forgotten.
Identity
Persistent developer identity
Store who you are, how you communicate, and what kind of output you want so every session starts with the same baseline.
- GitHub bootstrap with
llmenv identity --github - Keeps role, experience, and communication preferences together
- Applies globally across projects
Profiles
Five built-in work modes
Switch between build, review, debug, learn, and refactor without rebuilding your prompt frame from scratch.
- Task-based context switching
- Useful defaults for common engineering work
- Fits implementation, review, and debugging loops
Projects
Project-aware scanning and local context
Initialize inside a repo, then scan package files, TypeScript config, directories, and env examples to keep context close to the codebase.
- Per-repository
.llmenvconfig - Auto-scan for stack details and structure
- Keeps projects from leaking into each other
Pins
Durable rules and learned guardrails
Pins turn recurring guidance into something reusable, including learned corrections and file-pattern-scoped rules.
- Persistent facts with
pinandpins - Learn mode for sticky corrections
- Optional scope patterns like
*.test.ts
Sync
Native rule-file sync for AI tools
Write compact context into the rule formats your tools already understand instead of copying instructions around by hand.
- Tool detection plus manual selection
- Writes into native rules files
- Runs automatically after key updates
Inspect
Status, dry-run injection, and history
See the merged context, preview the final wrapped prompt, and inspect recorded decision history when you need to audit what happened.
- Status view for merged layers
- Dry-run prompt wrapping with
inject --dry - Project history for previous decisions