"For AI by AI" - An AI-powered IDE where AI agents autonomously code across multiple repositories
AI IDE is a next-generation development environment that revolutionizes how you work with code. Unlike traditional IDEs where AI merely assists, AI IDE features autonomous AI agents that perform coding tasks across multiple repositories simultaneously.
β Workspace Management - Organize projects with virtual groupings of repositories β Multi-Repository Management - Work with multiple repos in a single workspace β Autonomous AI Agents - AI writes, refactors, and debugs code independently β Agent Collaboration - Multiple AI agents coordinate via a shared message bridge β Streaming Responses - Real-time feedback as AI works β Git Integration - Stage, commit, and push directly from the IDE β Session Persistence - All workspace data encrypted and saved automatically β Smart Search - Find workspaces by name, description, or tags β Modern UI - Beautiful blue-themed interface with Monaco editor β File Watching - Auto-refresh file tree when files change externally β Voice Input - Push-to-talk voice input with OpenAI Whisper β Terminal Integration - Built-in terminal with xterm.js β Quick Open - Fuzzy search files with Cmd/Ctrl+P β Global Search - Search across all files with Cmd/Ctrl+Shift+F β Find & Replace - Find and replace across all files with Cmd/Ctrl+Shift+H β Recent Files - Quick access to recently opened files with Cmd/Ctrl+E β AI Context Menu - Right-click code to explain, refactor, fix, comment, or optimize β Test Runner - Run tests with integrated results display β Screen Recording - Built-in screen capture for creating tutorials and demos β Line Navigation - Jump to specific lines from search results β High Performance - Virtual scrolling, lazy loading, and React optimizations β Logging System - Built-in logging with log viewer for debugging β Production Ready - DevTools disabled, error handling, security hardening
- Node.js 18+ and npm
- Anthropic API Key (Get one here)
- Git installed on your system
-
Clone the repository
git clone https://github.com/sandeepuppalapati/project-ka.git cd project-ka -
Install dependencies
npm install
-
Set up your API key
Create a
.envfile in the root directory:ANTHROPIC_API_KEY=your_api_key_here ANTHROPIC_MODEL=claude-sonnet-4-20250514
-
Run the application
npm run dev
The IDE will launch in development mode with hot reloading enabled.
On first launch, you'll see a welcome screen where you can:
- Create a new workspace - Give it a name, description, and optional tags
- Open an existing workspace - Select from your list of workspaces
- Search workspaces - Filter by name, description, or tags
All workspace data (repos, chats, settings) is encrypted and stored locally.
Click the "Manage Repos" button to add local repositories to your workspace. You can add multiple repos and work with them simultaneously. Each workspace maintains its own set of repositories.
- Bridge Tab: Coordinate between multiple AI agents working on different repos (workspace-specific)
- Repo Tabs: Each repository gets its own AI agent with repo-specific context
- All chat history is saved per workspace and persists across sessions
Give natural language commands:
- "Add user authentication to the API"
- "Fix the bug in the checkout flow"
- "Refactor the database layer to use TypeORM"
The AI agent will:
- Read relevant files
- Execute commands as needed
- Write/modify code
- Provide explanations and updates
- View changes in the file tree (modified files highlighted)
- Stage files in the Git panel
- Write commit messages and push to remote
Click the workspace selector in the header to switch between workspaces. Each workspace remembers:
- Open files and cursor positions
- Expanded folders in the file tree
- Chat history with AI agents
- UI layout preferences
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [β‘ My Workspace βΌ] [Edit] [Manage Repos] [βοΈ Settings] β
ββββββββββββ¬βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββ€
β β β β
β File β Code Editor β Chat with AI β
β Tree β (Monaco) β βββββββββββββββββββ β
β β β β Bridge β Repo1 β β
β π repo1β β βββββββββββββββββββ β
β π repo2β β [Chat Messages] β
β β β [Bridge Activity] β
β β β [Input Area] β
β Git β β β
β Panel β β β
ββββββββββββ΄βββββββββββββββββββββββ΄ββββββββββββββββββββββββββββ
| Shortcut | Action |
|---|---|
Cmd/Ctrl + Enter |
Send message |
Cmd/Ctrl + K |
Focus chat input |
Cmd/Ctrl + B |
Toggle sidebar |
Cmd/Ctrl + / |
Show shortcuts modal |
Escape |
Cancel operation |
- Frontend: React 18 + TypeScript
- Desktop: Electron 34
- Editor: Monaco Editor
- Git: isomorphic-git
- AI: Anthropic Claude API (Sonnet 4)
- Build: Vite + TypeScript
AI agents use Anthropic's Tool Use API to:
read_file- Read file contentswrite_file- Create or modify filesexecute_command- Run shell commandspost_to_bridge- Communicate with other agents
Agents work autonomously in a multi-step loop:
- Receive task from user
- Plan approach
- Use tools to gather info and make changes
- Verify results
- Report completion
You can configure your AI settings in two ways:
-
Environment Variables (
.envfile)ANTHROPIC_API_KEY=your_key ANTHROPIC_MODEL=claude-sonnet-4-20250514 -
Settings Panel (βοΈ button in header)
- Update Anthropic API key
- Switch between Claude models
- Configure OpenAI API key (for voice input)
- Adjust log level (debug, info, warn, error)
- View, download, and clear application logs
- Settings persist globally across all workspaces
claude-sonnet-4-20250514- Latest and most capable (recommended)claude-3-5-sonnet-20241022- Previous generation
Configure where workspace data is stored:
- Default Path:
~/Documents/ai-ide-workspaces/(configurable) - Data Storage: All workspace files are encrypted at rest using OS-level encryption
- macOS: Keychain
- Windows: DPAPI
- Linux: Secret Service API / libsecret
AI IDE is optimized for large codebases and long-running sessions:
- Virtual Scrolling: Only visible file tree nodes are rendered (react-window)
- React Optimizations: Memoization with React.memo, useCallback, useMemo
- Lazy Loading: Monaco editor loads only when opening files
- Debouncing: Git panel and file watcher refreshes are debounced
- Reduced Re-renders: Timer intervals optimized (5s instead of 1s)
Built-in logging for debugging and monitoring:
- 4 Log Levels: debug, info, warn, error (default: error)
- File Rotation: Logs kept for 7 days, automatically deleted
- Log Viewer: View, search, and download logs from Settings
- Performance Metrics: File operations, AI requests, and startup times tracked
- JSON Format: Structured logs with timestamps, categories, and metadata
Access logs via Settings β Application Logs section.
ai-ide/
βββ src/
β βββ main/ # Electron main process
β β βββ main.ts # App entry point, IPC handlers
β β βββ preload.ts # Secure IPC bridge
β β βββ workspace.ts # Workspace file operations (encrypted)
β β βββ logger.ts # Logging system with file rotation
β β βββ terminal.ts # Terminal integration with node-pty
β β βββ fileWatcher.ts # File watching with chokidar
β βββ renderer/ # React UI
β βββ components/
β β βββ WorkspaceWelcome.tsx
β β βββ CreateWorkspace.tsx
β β βββ EditWorkspace.tsx
β β βββ Settings.tsx
β β βββ Terminal.tsx
β β βββ ...
β βββ hooks/
β βββ contexts/
β β βββ BridgeContext.tsx
β β βββ ThemeContext.tsx
β βββ types/
β β βββ workspace.d.ts
β β βββ electron.d.ts
β βββ App.tsx
βββ docs/ # Design documentation
β βββ WORKSPACE_DESIGN.md # Workspace architecture
βββ dist/ # Build output
βββ package.json
# Development mode with hot reload
npm run dev
# Production build
npm run build
# Type checking
npm run type-check
# Run production build
npm start- Main process (
npm run dev:main): Compiles TypeScript and launches Electron - Renderer process (
npm run dev:renderer): Vite dev server for React UI - Both run concurrently via
npm run dev
Test the IDE with a real multi-repo project:
- Create a workspace with a descriptive name and tags
- Add 2-3 related repositories to the workspace
- Ask the AI to make a change that spans repos
- Verify the AI coordinates across repos via the Bridge
- Test git operations (stage, commit, push)
- Switch to another workspace and verify state isolation
- Search for workspaces by name or tags
- Multi-repository support
- Autonomous AI agents
- Agent coordination via Bridge
- Session persistence
- Git integration
- Keyboard shortcuts
- Error handling & retry logic
- Improved UI and loading states
- Workspace creation and management
- Encrypted workspace storage
- Workspace metadata (description, tags, lastAccessed)
- Search and filter workspaces
- Edit workspace details
- Workspace-specific Bridge chat
- State persistence per workspace
- Visual diff viewer
- File watching & auto-refresh
- Workspace deletion with confirmation
- Full state persistence (open tabs, file tree state)
- Voice input (push-to-talk with OpenAI Whisper)
- Terminal integration (xterm.js with node-pty)
- Voice recorder UI with waveform
- Icon replacement (emojis β Lucide React icons)
- Color scheme refresh (teal β soft blue)
- Improved visual consistency
- Virtual scrolling for large file trees
- React optimizations (memo, useCallback, useMemo)
- Timer optimizations (reduced re-renders)
- Monaco editor lazy loading
- Debounced git panel refresh
- Comprehensive logging system with log viewer
- DevTools disabled in production
- Performance instrumentation
- Dynamic version display from package.json
- Error log level default for production
- Remove redundant localStorage usage
- Disk-only storage architecture
- Single source of truth for all data
- OS-level encryption for sensitive data
- Unlimited storage (no localStorage quota limits)
- Clean codebase (-290 lines)
- OpenAI API integration
- Ollama local model support
- Model provider abstraction layer
- Per-agent model selection
- Model switching UI
- Cost tracking dashboard
- API usage analytics per workspace
- Token usage visualization
- Workspace import/export
- Search across repos within workspace
- Multiple workspace windows
- Plugin system
- Workspace templates
- Collaborative workspaces (team sharing)
- Code review workflow
- Testing integration
We welcome contributions! See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Anthropic for the Claude API and Tool Use capabilities
- Monaco Editor team for the excellent code editor
- Electron and React communities
- Issues: GitHub Issues
- Discussions: GitHub Discussions
AI IDE uses the Anthropic Claude API (bring your own key). Costs vary based on usage:
- Sonnet 4: ~$3 per million input tokens, ~$15 per million output tokens
- Average session: $0.10-$0.50
- Monitor your usage at console.anthropic.com
- Never commit your
.envfile - Keep your API key secure
- Review AI-generated code before committing
- Use git carefully - AI has full file system access within repos
- All workspace data is encrypted at rest using OS-level security
- Workspaces are stored locally on your machine only
Built with β€οΈ for developers who want AI to do the heavy lifting