Explicit AI — Agile Development Assistant
A VS Code extension for AI-driven development with explicit context control. No auto-indexing, no hidden magic — you control exactly what the AI sees. Works with any OpenAI-compatible API: LM Studio, Ollama, OpenAI, Groq, Together, and more.
No telemetry. No data collection. Your code stays local.
Features
Three Workflow Modes
Switch between modes with Tab (or click the badge in the textarea):
| Mode |
Icon |
Behavior |
| Chat |
💬 |
Just chat — no tool execution, no file changes. Quick Q&A. |
| Plan |
📋 |
Explores & plans first, shows the plan for approval, then applies changes. |
| Agent |
🤖 |
Full auto-execution with tool chaining, undo support, and self-healing. |
Inline Completions
Ghost text autocomplete as you type — powered by your local model. Tab to accept. Configurable via explicitAI.inlineCompletions.
Paste screenshots or images into chat to ask about them. Supported by vision-capable models. Configurable via explicitAI.allowImages.
Drag & Drop File Mentions
Drag files from the VS Code explorer into the chat input — automatically inserts #relative/path at cursor and attaches the file for context.
Skills System
Load best-practice skill instructions into the AI's context with @skill <name>:
@skill react # Load React best practices
@skill testing # Load testing best practices
@skills # List all available skills
Skills are stored as markdown in .explicitai/skills/. Bundled skills included: react, testing. Create your own — just add .md files.
@ and # Syntax
@agentName message — invoke a specific agent (autocomplete on @)
#relative/path — attach a file (autocomplete on #)
@skill name — load a skill
@skills — list available skills
@codebase — semantic search across codebase
@terminal — include recent terminal errors
@workspace — include project file structure
@errors — include diagnostics
@git — include uncommitted changes
@selection — include current editor selection
Built-in Agents
| Agent |
Invoke with |
Purpose |
| Planner |
@planner |
Breaks requirements into tasks with story points |
| Sprint Master |
@sprint-master |
Manages sprints, tracks velocity |
| Code Reviewer |
@reviewer |
Reviews code for bugs and best practices |
| Retro Facilitator |
@retro |
Runs retrospectives |
| Architect |
@architect |
System design and trade-offs |
| Test Strategist |
@tester |
Test strategies |
Auto-Compaction at 60%
The conversation automatically compacts when token utilization reaches 60% — older messages are summarized to free context space and prevent hallucination. No manual intervention needed. A visual [auto] indicator appears in the chat when it triggers.
Self-Healing
After every write/edit, the extension auto-fixes lint and compile errors using VS Code code actions. Configurable via explicitAI.selfHealing.
Agile Planning
Full sprint-based agile workflow built into the chat:
- Plans & Tasks — Create plans with goals, break into tasks with priorities, story points, acceptance criteria, and dependencies
- Sprints — Time-boxed sprints, task assignment, velocity tracking
- Retrospectives — What went well, what to improve, action items
- Auto-Plan — Describe a requirement and the AI suggests a task breakdown
Project Memory
Persistent memory across sessions:
- Decisions, preferences, patterns, warnings, knowledge
- Keyword-based retrieval into AI prompts
- Manual remember/forget from the chat UI
| Tool |
Category |
Approval |
| readFile |
read |
auto |
| listDir |
read |
auto |
| search |
read |
auto |
| findFiles |
read |
auto |
| writeFile |
write |
required |
| editFile |
write |
required |
| createDir |
write |
required |
| deleteFile |
write |
required |
| runCommand |
shell |
required |
Read tools execute immediately. Write/shell tools require approval (except in Agent mode with undo support).
MCP Integration
Model Context Protocol support with manual approval for every action:
- Configure servers in
.explicitai/mcp.json
- Toggle individual tools (filesystem, terminal, HTTP)
- Enable/disable servers from the UI
The AI can query language intelligence directly:
getDiagnostics — errors and warnings for a file
getDefinition — go to definition
getReferences — find all references
getHoverInfo — type info at position
getDocumentSymbols — outline of a file
getCodeActions — available quick-fixes
getImplementations — find implementations
getTypeDefinition — go to type definition
Thread History
- Conversations auto-save as threads
- Switch between threads or revert to a previous state
- Threads track mode (chat/plan/agent) and active agent
Commands
| Command |
Keybinding |
Description |
| Open Chat |
Ctrl+Shift+A |
Open the AI chat |
| Ask About Selection |
Ctrl+Shift+E |
Ask about selected code |
| Ask (No Context) |
Ctrl+Shift+M |
Free-form question |
| Explain This Code |
Ctrl+Shift+H |
Explain current file |
| Fix Errors in File |
Ctrl+Shift+F |
Fix diagnostics |
| Generate Tests |
Ctrl+Shift+T |
Unit tests |
| New Session |
Ctrl+Shift+N |
Save thread and start fresh |
| Stop Generation |
Ctrl+Shift+X |
Cancel response |
| Inline Chat |
Ctrl+K |
Edit code inline |
| Auto-Fix Errors |
Ctrl+Shift+. |
Auto-fix diagnostics |
| Retry Last Prompt |
Ctrl+Shift+R |
Retry with same prompt |
| Generate PR Description |
— |
From git diff + commits |
| Generate Documentation |
— |
JSDoc/TSDoc for exports |
| Ask About Codebase |
— |
Workspace-aware questions |
| Export Conversation |
— |
Markdown or JSON |
| Check Connection |
— |
Health check |
Context Management
- Token budget tracking with visual utilization bar
- Automatic compaction at 60% utilization
- Manual compact button
- Stack detection auto-injects project info
Setup
- Install LM Studio (or any OpenAI-compatible provider) and load a model
- Start the local server (default:
http://localhost:1234)
- Install the extension from VS Code marketplace
- Open the Explicit AI sidebar from the activity bar
Configuration
All settings under explicitAI.* in VS Code settings:
| Setting |
Default |
Description |
lmStudioBaseUrl |
http://localhost:1234 |
API base URL |
apiUrl |
{baseUrl}/v1/chat/completions |
Chat completions endpoint |
apiKey |
"" |
API key for cloud providers |
defaultModel |
meta-llama-3.1-8b-instruct |
Fallback model |
codeModel |
codeqwen1.5-7b-chat |
Model for code tasks |
chatModel |
meta-llama-3.1-8b-instruct |
Model for chat |
contextWindow |
32768 |
Model context window |
streaming |
true |
Stream tokens via SSE |
temperature |
0.7 |
Sampling temperature |
maxTokens |
4096 |
Max tokens per response |
inlineCompletions |
true |
Enable inline completions |
allowImages |
true |
Allow pasting images |
selfHealing |
true |
Auto-fix errors after writes |
mcpEnabled |
false |
Enable MCP tools |
Architecture
src/
├── agents/ # Custom AI agent registry
├── chat/ # Chat session management
├── commands/ # VS Code command implementations
├── completions/ # Inline completion provider
├── core/ # LLM client, config, memory, planner, skills, etc.
├── mcp/ # Model Context Protocol integration
├── threads/ # Conversation thread persistence
├── tools/ # Built-in workspace tools + LSP tools
├── ui/ # Webview host, panel, provider
└── extension.ts # Entry point
Data stored in workspace:
.explicitai/
├── agents/ # Agent JSON configs
├── threads/ # Conversation snapshots
├── skills/ # Markdown skill files
├── plans.json # Plans, tasks, sprints, retros
└── memory.json # Persistent project memory
Development
npm install
npm run build # Compile TypeScript + validate HTML
npm run watch # Watch mode for development
Press F5 in VS Code to launch the extension in a development host.
License
Local use only.