Coders in Flow
A powerful VS Code extension for AI-powered coding assistance, featuring a sophisticated context management system inspired by Roo-Code, with extensive multi-provider AI support, semantic code search, and Git integration.
🏗️ Built for Developers
Written from the ground up to be easy to debug and extend:
- Comprehensive Logging System - Multiple logging channels with ID-based filtering for targeted debugging
- Modular Architecture - Clean separation of concerns makes adding new features quick and straightforward
- Provider Plugin System - Adding new AI providers requires implementing just one interface
- Tool Plugin System - New tools can be added by dropping in a single file
- Debug Commands - Built-in commands for testing connections, validating configurations, and troubleshooting issues
- Development Mode - Special logging and debugging features activated during development
🚀 Key Features
🤖 Multi-Provider AI Support
Support for 12+ AI providers with seamless switching:
- Anthropic Claude (Claude 3 Opus, Sonnet, Haiku)
- OpenAI (GPT-4, GPT-3.5)
- Google Gemini (Pro, Flash - with caching support)
- Claude Code CLI (Direct integration with claude.ai/code)
- DeepSeek (Coder and Chat models)
- Mistral AI
- Ollama (Local models)
- LM Studio (Local models)
- OpenRouter (Multi-provider gateway)
- AWS Bedrock
- Google Vertex AI
- VS Code Language Models (GitHub Copilot integration)
🔍 Semantic Code Search
Advanced vector-based code search powered by embeddings:
- Qdrant Vector Database for fast similarity search
- Smart Code Chunking with configurable overlap
- Multiple Embedding Providers (OpenAI is best for cost around $0.2 for 3000 files)
- Project-Aware Indexing with intelligent file filtering
- Incremental Indexing for changed files only
- Instant Project Understanding - AI immediately knows project details via auto-generated summaries
- No More Context Confusion - AI never mistakes what project it's working on
- Reduced Search Time - AI spends less time learning about your codebase
- Commands:
semanticSearch
, indexWorkspace
, indexFile
, generateProjectSummary
🗃️ ShadowGit - Advanced Version Control
Built-in Git-like version control system:
- Automatic File Snapshots with change tracking
- Checkpoint System for saving and restoring states
- Visual Diff Viewer with side-by-side comparison
- Great Git Interface - Intuitive UI for all Git operations
- Git Integration for syncing with actual Git repositories
- Staging Support with file-level operations
- Checkpoint Management UI via dedicated webview panel
💬 Intelligent Chat Interface
React-based chat UI with advanced features:
- Task-Based Conversations - Organize work into separate tasks
- Smart Context Management - Intelligent conversation history handling
- Mode-Based Assistance - Different modes for different tasks
- Real-time Token Counting with usage tracking
- Code Preview with syntax highlighting
- Inline Diff Viewing for code changes
- Markdown Rendering with full GitHub Flavored Markdown support
⚙️ Admin Interface
Easy-to-use configuration panel for complete customization:
- Visual Settings Editor - No more JSON editing, use intuitive UI
- Prompt Customization - Edit system prompts for each mode visually
- Provider Management - Add/remove/configure AI providers with clicks
- Model Configuration - Enable/disable models, set preferences
- Profile Management - Create and switch between multiple profiles
- Live Preview - See changes in real-time before applying
- Import/Export - Share configurations with team members
AI has access to powerful tools for automation:
- Multiple Tool Calls - Execute multiple tools in a single request to reduce API costs
- Self-Healing Tool Calls - Automatic correction of malformed requests
- Parameter Auto-Correction - Fixes spacing, line numbers, and formatting issues
- Smart Error Recovery - No more failed tool calls from minor AI mistakes
- File Operations: Read, write, search, list files
- Code Manipulation: Insert at location, search & replace
- Command Execution: Run terminal commands
- Semantic Search: Query codebase by meaning
- Diagram Creation: Generate Mermaid diagrams
- Memory Storage: Persistent information storage
🎯 Context Management System
Sophisticated context handling inspired by Roo-Code:
- Token-Aware Truncation - Smart message prioritization
- Visual Context Editor - See and edit what's included in context
- Context Exclusion - Remove specific items to reduce costs
- System Prompt Optimization - Mode-specific prompts
- Custom Mode Prompts - Define your own prompts per mode
- Environment Awareness - Project context inclusion
- Multi-Strategy Support - Simple, smart, or summarize modes
📊 Additional Features
- Terminal Integration - Capture and execute commands
- Mermaid Diagram Support - Create and render diagrams
- Project Type Detection - Automatic framework detection
- MCP Hub Support - Model Context Protocol integration
- Easily insert files with @ tool based on index of codebase, easy search
💰 Cost Optimization & Intelligence
- Live Cost Calculation - See API costs calculated in real-time as you chat
- GitHub Copilot Integration - Unlimited GPT-4.1 access for just $10/month
- DeepSeek Excellence - Use one of the smartest models available for pennies per day
- Dynamic Model Updates - Automatically fetch latest models when providers add/remove them
- Automatic Pricing Updates - Real-time pricing information fetched remotely
- Usage Tracking - Monitor token usage and costs across all providers
- Smart Batching - Multiple tool calls per request to minimize API costs
- Context Optimization - Visual editor to exclude unnecessary context
🏛️ Smart Architecture
- Profile-Based Design - Everything organized under user profiles
- Hierarchical Structure - Profiles → API Providers → Models
- Automatic Model Discovery - Models dynamically fetched from providers
- Remote Configuration - Pricing and capabilities updated automatically
- Custom Prompts - Define unique prompts for each mode
🧠 AI Intelligence Features
- AI Memory System - Remembers your preferences, patterns, and project context
- Project-Aware Rules - Automatically adapts rules based on project type (React, Node.js, Python, etc.)
- Smart TypeScript Enforcement - Prevents common TS mistakes, drastically reducing lint errors
- Dynamic Model Switching - AI automatically switches between models based on task complexity to optimize costs
- Error Prevention - Proactively catches and fixes common coding mistakes before they happen
- Context-Aware Suggestions - Learns from your codebase to provide better recommendations
Human Cerebrum Mode
- Coming soon new AI model that thinks like a human to keep context small, while having full information available, lowering costs by large extremes
🚀 Getting Started
Installation
- Install from VS Code Marketplace or download the VSIX file
- Open VS Code Command Palette (
Cmd+Shift+P
/ Ctrl+Shift+P
)
- Run
Coders in Flow: Open Chat
to start
Configuration
- Choose your AI provider in settings
- Add your API key
- Select your preferred model
- Configure context window size and strategy
⚙️ Extension Settings
AI Provider Settings
codersinflow.ai.provider
: Select AI provider (OpenAI, Anthropic, etc.)
codersinflow.ai.apiKey
: Your API key for the selected provider
codersinflow.ai.model
: The model to use (e.g., gpt-4, claude-3-opus)
Context Management
codersinflow.context.maxTokens
: Maximum tokens for context window
codersinflow.context.strategy
: Truncation strategy (simple, smart, summarize)
Semantic Search
codersinflow.search.embeddingProvider
: Embedding provider (OpenAI, Xenova)
codersinflow.search.chunkSize
: Code chunk size for indexing
codersinflow.search.chunkOverlap
: Overlap between chunks
📚 Usage Examples
Basic Chat
- Open the chat panel
- Type your question or request
- The AI will respond with code suggestions, explanations, or solutions
Semantic Search
1. Index your workspace: Cmd+Shift+P → "Index Workspace"
2. Search semantically: Cmd+Shift+P → "Semantic Search"
3. Enter natural language query like "authentication logic"
ShadowGit Checkpoints
1. Open ShadowGit: Cmd+Shift+P → "Open ShadowGit"
2. Make code changes
3. Create checkpoint with description
4. Restore to any previous checkpoint if needed
Context Management
1. View Context: Cmd+Shift+P → "View Context"
2. See all messages, files, and data included
3. Click items to exclude from context
4. Monitor token count in real-time
5. Save on API costs by removing unnecessary items
🧩 Task Management & Git Integration
How Tasks Work
- Each task gets its own conversation history
- Tasks can be paused, resumed, and completed
- Context is preserved across task switches
Git Branch Behavior
When creating a new task:
- Creates and checks out a new Git branch
- Branch name derived from task description
When switching tasks in UI:
- UI state updates to show active task
- Git branch remains unchanged
- Changes go to current branch, not UI-selected task
Important: Be aware that task switching in the UI doesn't switch Git branches. Your changes always go to the current Git branch.
🔧 Development
Building from Source
# Install dependencies
npm install
# Development build with watch
npm run watch
# Production build
npm run package
# Build VSIX package
npm run build
Testing
# Run all tests
npm test
# Run specific test
jest path/to/test.test.ts
# Type checking
npm run check-types
# Linting
npm run lint
Debugging Features
The extension includes extensive debugging capabilities:
Console Logging System
Enable specific log categories by adding IDs to ENABLED_LOG_IDS
in src/utils/consoleLog.ts
:
const ENABLED_LOG_IDS = [
'tool-execution', // Track tool calls
'message-store', // Message handling
'context-manager', // Context window management
'provider-api', // AI provider communication
// Add more IDs as needed
];
Debug Commands
testConnection
- Test AI provider connectivity
validateApiKey
- Verify API key configuration
debugContext
- View current context window
testClaudeCodeTerminal
- Test Claude Code integration
checkWorkspaceIndexing
- Verify semantic search status
Adding New Features
New AI Provider:
// Simply implement the BaseProvider interface
export class MyProvider extends BaseProvider {
async complete(messages, options) {
// Your implementation
}
}
New Tool:
// Add to src/tools/ directory
export const myTool = {
name: 'myTool',
description: 'What it does',
inputSchema: { /* JSON schema */ },
execute: async (input) => {
// Tool logic
}
};
📦 Requirements
- VS Code 1.74.0 or higher
- Node.js 20.18.3 or higher (for development)
- API key for your chosen AI provider
🐛 Known Issues
- Git branch doesn't auto-switch with task changes
- Some providers may have connection issues in certain regions
- Large workspaces may take time to index for semantic search
📄 License
MIT
🤝 Contributing
Contributions are welcome! Please read our contributing guidelines and submit PRs to our GitHub repository.
📮 Support
- Report issues on GitHub
- Join our community discussions
- Check the wiki for detailed documentation
Possible Issues
- insert content and search_and_replace seem to overlap
APIs
Enjoy coding with AI assistance! 🎉