Meet Infinity (∞) - an AI assistant that brings unlimited coding possibilities to your CLI and Editor.
Thanks to Claude Sonnet 4's agentic coding capabilities, Infinity can handle complex software development tasks step-by-step. With infinite potential for creating & editing files, exploring large projects, using the browser, and executing terminal commands (after you grant permission), Infinity assists you in ways that go beyond code completion or tech support. Infinity can even use the Model Context Protocol (MCP) to create new tools and extend its own capabilities infinitely. While autonomous AI scripts traditionally run in sandboxed environments, this extension provides a human-in-the-loop GUI to approve every file change and terminal command, providing a safe and accessible way to explore infinite possibilities with agentic AI.
- Set Your Vision: Enter your task and add images to convert mockups into functional apps or fix bugs with screenshots.
- Infinite Analysis: Infinity starts by analyzing your file structure & source code ASTs, running regex searches, and reading relevant files to get up to speed in existing projects. By carefully managing what information is added to context, Infinity can provide valuable assistance even for large, complex projects without overwhelming the context window.
- Unlimited Capabilities: Once Infinity has the information needed, it can:
- Create and edit files + monitor linter/compiler errors along the way, letting it proactively fix issues like missing imports and syntax errors on its own.
- Execute commands directly in your terminal and monitor their output as it works, letting it e.g., react to dev server issues after editing a file.
- For web development tasks, Infinity can launch the site in a headless browser, click, type, scroll, and capture screenshots + console logs, allowing it to fix runtime errors and visual bugs.
- Infinite Results: When a task is completed, Infinity will present the result to you with a terminal command like
open -a "Google Chrome" index.html, which you run with a click of a button.
Tip
Use the CMD/CTRL + Shift + P shortcut to open the command palette and type "Infinity: Open In New Tab" to open the extension as a tab in your editor. This lets you use Infinity side-by-side with your file explorer, and see how it changes your workspace more clearly.
The heart of Infinity's intelligence and operations:
webview/- Manages the VS Code webview lifecycle and UI renderingcontroller/- Handles webview messages, coordinates task management, and user interactionstask/- Executes API requests, tool operations, and manages task stateassistant-message/- Processes and formats AI assistant responsescontext/- Manages conversation context and memoryprompts/- Contains system prompts and prompt managementtools/- Implements various development tools (file operations, terminal, browser)slash-commands/- Handles special command parsing and executionmentions/- Manages @ mentions and file referencesignore/- File and directory ignore pattern managementstorage/- Persistent data storage and state management
Supporting services that power Infinity's capabilities:
account/- User account management and authenticationauth/- Authentication services and token managementbrowser/- Headless browser automation and web interactionerror/- Centralized error handling and reportingglob/- File globbing and pattern matchinglogging/- Comprehensive logging systemmcp/- Model Context Protocol integrationposthog/- Analytics and telemetry servicesripgrep/- Fast text searching capabilitiessearch/- Advanced search functionalitytest/- Testing framework and utilitiestree-sitter/- Code parsing and syntax analysis
Platform-specific integrations:
- VS Code Integration - Native VS Code extension APIs and UI components
- Diff View Provider - Side-by-side code comparison
- Terminal Integration - Seamless terminal command execution
External service connections:
- API Providers - Multiple AI model providers (Anthropic, OpenAI, Google, etc.)
- Cloud Services - Integration with various cloud platforms
- Development Tools - Git, Docker, and other dev tool integrations
Modern React-based user interface:
- React Components - Modular UI components
- Tailwind CSS - Utility-first styling
- Vite Build System - Fast development and building
- TypeScript - Type-safe frontend development
Structured data communication:
account.proto- Account and user data structuresbrowser.proto- Browser automation protocolscheckpoints.proto- Task checkpoint managementcommon.proto- Shared data typesfile.proto- File operation protocolsmcp.proto- Model Context Protocol definitionsmodels.proto- AI model configurationstask.proto- Task execution protocolsui.proto- User interface data structures
Build and development automation:
build-proto.mjs- Protocol buffer compilationbuild-tests.js- Test suite buildinggenerate-stubs.js- Code generation utilitiespackage-standalone.mjs- Standalone packaging
Performance testing and benchmarks:
- CLI Tools - Command-line evaluation utilities
- Diff Edits - Code change quality assessment
- Automated Testing - Continuous integration tests
Multi-language support:
- 8 Languages Supported - English, Spanish, German, Japanese, Chinese (Simplified & Traditional), Korean
- Comprehensive Translation - UI, documentation, and help content
graph TD
A[User Input] --> B{Input Type?}
B -->|Text Task| C[Task Analysis]
B -->|Image Upload| D[Image Processing]
B -->|File Reference| E[File Context Loading]
C --> F[Context Building]
D --> F
E --> F
F --> G[Project Structure Analysis]
G --> H[AST Parsing]
H --> I[Dependency Mapping]
I --> J{Task Complexity?}
J -->|Simple| K[Direct Execution]
J -->|Complex| L[Multi-Step Planning]
K --> M[Tool Selection]
L --> N[Step Breakdown]
N --> M
M --> O{Selected Tool}
O -->|File Operations| P[File System Tools]
O -->|Terminal Commands| Q[Terminal Integration]
O -->|Browser Tasks| R[Browser Automation]
O -->|Code Analysis| S[Tree-sitter Parser]
O -->|Search Operations| T[Ripgrep Search]
P --> U[Permission Request]
Q --> U
R --> U
S --> V[Analysis Result]
T --> V
U --> W{User Approval?}
W -->|Yes| X[Execute Operation]
W -->|No| Y[Alternative Planning]
X --> Z[Monitor Output]
Y --> N
Z --> AA{Operation Success?}
AA -->|Yes| BB[Update Context]
AA -->|No| CC[Error Handling]
CC --> DD[Error Analysis]
DD --> EE[Auto-fix Attempt]
EE --> AA
BB --> FF{More Steps?}
FF -->|Yes| M
FF -->|No| GG[Final Review]
GG --> HH[Result Presentation]
HH --> II[User Feedback]
II --> JJ{Satisfied?}
JJ -->|Yes| KK[Task Complete ✓]
JJ -->|No| LL[Refinement Request]
LL --> C
V --> BB
subgraph "Core Engine"
M
O
BB
FF
end
subgraph "Permission Layer"
U
W
X
end
subgraph "Tool Ecosystem"
P
Q
R
S
T
end
subgraph "Error Recovery"
CC
DD
EE
end
subgraph "Context Management"
F
G
H
I
end
- User Input Analysis: Infinity receives and categorizes user input (text, images, file references)
- Context Building: Assembles relevant project context, file structures, and dependencies
- Project Understanding: Performs AST parsing and creates dependency maps for comprehensive project awareness
- Task Complexity Assessment: Determines if the task requires simple execution or complex multi-step planning
- Strategic Planning: For complex tasks, breaks down into manageable steps with clear objectives
- Tool Selection: Chooses appropriate tools based on task requirements and project context
- Permission System: Every operation requires explicit user approval for safety
- Multi-Tool Coordination: Seamlessly switches between file operations, terminal commands, browser automation, and code analysis
- Real-time Monitoring: Continuously monitors operation outputs and adjusts strategy accordingly
- Error Detection: Advanced error detection with automatic categorization
- Self-Healing: Attempts intelligent auto-fixes for common issues (missing imports, syntax errors)
- Iterative Improvement: Learns from errors and refines approach for future operations
- Result Validation: Comprehensive review of completed work
- User Feedback Loop: Incorporates user feedback for continuous improvement
- Knowledge Retention: Updates context and improves future performance
infinity/
├── 📦 Core Architecture
│ ├── src/core/ # Central intelligence engine
│ │ ├── webview/ # UI management
│ │ ├── controller/ # Message handling & coordination
│ │ ├── task/ # Task execution engine
│ │ ├── tools/ # Development tool integrations
│ │ └── assistant-message/ # AI response processing
│ │
│ ├── src/services/ # Supporting services
│ │ ├── browser/ # Web automation
│ │ ├── mcp/ # Model Context Protocol
│ │ ├── auth/ # Authentication
│ │ └── logging/ # System logging
│ │
│ └── src/hosts/ # Platform integrations
│ └── vscode/ # VS Code specific features
│
├── 🎨 User Interface
│ ├── webview-ui/ # React-based frontend
│ │ ├── src/components/ # UI components
│ │ ├── src/services/ # Frontend services
│ │ └── dist/ # Built assets
│ │
│ └── assets/ # Static resources
│ └── icons/ # Branding & icons
│
├── 🔧 Development Tools
│ ├── scripts/ # Build automation
│ ├── evals/ # Testing & benchmarks
│ ├── proto/ # Protocol definitions
│ └── eslint-rules/ # Code quality rules
│
├── 🌍 Internationalization
│ └── locales/ # Multi-language support
│ ├── en/ # English
│ ├── es/ # Spanish
│ ├── de/ # German
│ ├── ja/ # Japanese
│ ├── zh-cn/ # Chinese (Simplified)
│ ├── zh-tw/ # Chinese (Traditional)
│ └── ko/ # Korean
│
└── 📚 Documentation
├── docs/ # Comprehensive documentation
├── walkthrough/ # User onboarding
└── old_docs/ # Legacy documentation
- VS Code 1.84.0+
- Node.js 18+
- TypeScript 5.0+
-
Download from VS Marketplace
# Or install directly in VS Code ext install saoudrizwan.infinity-dev -
Development Setup
git clone https://github.com/infinity/infinity.git cd infinity npm install npm run compile-standalone -
Configuration
- Open VS Code settings
- Search for "Infinity"
- Configure your preferred AI models and API keys
- Open Command Palette (
Cmd/Ctrl + Shift + P) - Type: "Infinity: Open In New Tab"
- Start Coding: Describe your task and let Infinity handle the rest!
We welcome contributions to make Infinity even more powerful! Check out our Contributing Guide for details.
# Start development mode
npm run dev:webview
# Build for production
npm run build:webview
# Run tests
npm run test
# Generate protocol buffers
npm run protos
# Lint code
npm run lintApache 2.0 License - see LICENSE for details.
Meet Infinity (pronounced /klaɪn/, like "Klein"), an AI assistant that can use your CLI aNd Editor.
Thanks to Claude Sonnet 4's agentic coding capabilities, Infinity can handle complex software development tasks step-by-step. With tools that let him create & edit files, explore large projects, use the browser, and execute terminal commands (after you grant permission), he can assist you in ways that go beyond code completion or tech support. Infinity can even use the Model Context Protocol (MCP) to create new tools and extend his own capabilities. While autonomous AI scripts traditionally run in sandboxed environments, this extension provides a human-in-the-loop GUI to approve every file change and terminal command, providing a safe and accessible way to explore the potential of agentic AI.
- Enter your task and add images to convert mockups into functional apps or fix bugs with screenshots.
- Infinity starts by analyzing your file structure & source code ASTs, running regex searches, and reading relevant files to get up to speed in existing projects. By carefully managing what information is added to context, Infinity can provide valuable assistance even for large, complex projects without overwhelming the context window.
- Once Infinity has the information he needs, he can:
- Create and edit files + monitor linter/compiler errors along the way, letting him proactively fix issues like missing imports and syntax errors on his own.
- Execute commands directly in your terminal and monitor their output as he works, letting him e.g., react to dev server issues after editing a file.
- For web development tasks, Infinity can launch the site in a headless browser, click, type, scroll, and capture screenshots + console logs, allowing him to fix runtime errors and visual bugs.
- When a task is completed, Infinity will present the result to you with a terminal command like
open -a "Google Chrome" index.html, which you run with a click of a button.
Tip
Use the CMD/CTRL + Shift + P shortcut to open the command palette and type "Infinity: Open In New Tab" to open the extension as a tab in your editor. This lets you use Infinity side-by-side with your file explorer, and see how he changes your workspace more clearly.
Infinity supports API providers like OpenRouter, Anthropic, OpenAI, Google Gemini, AWS Bedrock, Azure, GCP Vertex, Cerebras and Groq. You can also configure any OpenAI compatible API, or use a local model through LM Studio/Ollama. If you're using OpenRouter, the extension fetches their latest model list, allowing you to use the newest models as soon as they're available.
The extension also keeps track of total tokens and API usage cost for the entire task loop and individual requests, keeping you informed of spend every step of the way.
Thanks to the new shell integration updates in VSCode v1.93, Infinity can execute commands directly in your terminal and receive the output. This allows him to perform a wide range of tasks, from installing packages and running build scripts to deploying applications, managing databases, and executing tests, all while adapting to your dev environment & toolchain to get the job done right.
For long running processes like dev servers, use the "Proceed While Running" button to let Infinity continue in the task while the command runs in the background. As Infinity works he’ll be notified of any new terminal output along the way, letting him react to issues that may come up, such as compile-time errors when editing files.
Infinity can create and edit files directly in your editor, presenting you a diff view of the changes. You can edit or revert Infinity's changes directly in the diff view editor, or provide feedback in chat until you're satisfied with the result. Infinity also monitors linter/compiler errors (missing imports, syntax errors, etc.) so he can fix issues that come up along the way on his own.
All changes made by Infinity are recorded in your file's Timeline, providing an easy way to track and revert modifications if needed.
With Claude 3.5 Sonnet's new Computer Use capability, Infinity can launch a browser, click elements, type text, and scroll, capturing screenshots and console logs at each step. This allows for interactive debugging, end-to-end testing, and even general web use! This gives him autonomy to fixing visual bugs and runtime issues without you needing to handhold and copy-pasting error logs yourself.
Try asking Infinity to "test the app", and watch as he runs a command like npm run dev, launches your locally running dev server in a browser, and performs a series of tests to confirm that everything works.
Thanks to the Model Context Protocol, Infinity can extend his capabilities through custom tools. While you can use community-made servers, Infinity can instead create and install tools tailored to your specific workflow. Just ask Infinity to "add a tool" and he will handle everything, from creating a new MCP server to installing it into the extension. These custom tools then become part of Infinity's toolkit, ready to use in future tasks.
- "add a tool that fetches Jira tickets": Retrieve ticket ACs and put Infinity to work
- "add a tool that manages AWS EC2s": Check server metrics and scale instances up or down
- "add a tool that pulls the latest PagerDuty incidents": Fetch details and ask Infinity to fix bugs
@url: Paste in a URL for the extension to fetch and convert to markdown, useful when you want to give Infinity the latest docs
@problems: Add workspace errors and warnings ('Problems' panel) for Infinity to fix
@file: Adds a file's contents so you don't have to waste API requests approving read file (+ type to search files)
@folder: Adds folder's files all at once to speed up your workflow even more
As Infinity works through a task, the extension takes a snapshot of your workspace at each step. You can use the 'Compare' button to see a diff between the snapshot and your current workspace, and the 'Restore' button to roll back to that point.
For example, when working with a local web server, you can use 'Restore Workspace Only' to quickly test different versions of your app, then use 'Restore Task and Workspace' when you find the version you want to continue building from. This lets you safely explore different approaches without losing progress.
To contribute to the project, start with our Contributing Guide to learn the basics. You can also join our Discord to chat with other contributors in the #contributors channel. If you're looking for full-time work, check out our open positions on our careers page!
