If the image does not render in a third-party viewer, open the SVG directly.
## Quick start Four steps from zero to your first task. ### 1. Install Use the one-line installer from [Install in 30 seconds](#install-in-30-seconds). > [!TIP] > In security-conscious environments, download and inspect the installer before running it. See [Installation options](#installation-options) for version pinning, PATH control, and source builds. > [!IMPORTANT] > On Windows, run AlphaCode from **Windows Terminal or PowerShell**. Do not double-click `alphacode.exe`; the temporary console closes as soon as the process exits. ### 2. Check your setup and launch ```bash alphacode doctor alphacode ``` `alphacode doctor` checks your environment and reports common setup issues. The built-in free AI lane lets you start without configuring an API key. Connected providers may require their own credentials and may incur charges. The first launch includes a short onboarding flow for preferences such as telemetry, model defaults, and key bindings. Press `Esc` to skip any step. ### 3. Give it a task Type a request in the terminal UI: ```text Explain this project and identify its main entry points. ``` Or ask it to find and repair a bug: ```text Find the highest-impact bug, fix it with the smallest reasonable change, and run the relevant tests. ``` To run a task without opening the interactive UI: ```bash alphacode run "fix the failing test" ``` ### 4. Optional: connect Firefox Install the [AlphaCode Browser Agent extension](https://addons.mozilla.org/en-US/firefox/addon/alphacode-browser-agent/), then run: ```bash alphacode browser setup alphacode browser status ``` The status command reports whether the browser bridge is available and responding. ## Features | Capability | What it does | | --- | --- | | **AI coding agent** | Understands natural-language tasks, plans multi-step work, edits code, and checks results | | **Code and file tools** | Reads and writes files, applies targeted edits and patches, and searches code | | **Terminal execution** | Runs commands, batches operations, and supports background jobs with safety controls | | **Web tools** | Searches, fetches, and analyzes web content and HTTP flows | | **Firefox automation** | Works with pages, DOM, forms, tabs, frames, screenshots, downloads, and existing sessions | | **Desktop automation** | Uses platform accessibility APIs to interact with native applications | | **Swarm mode** | Coordinates multiple agents on work that can be split into independent tasks | | **Persistent sessions** | Resumes work across terminal restarts | | **Project memory** | Supports continuity during longer workflows | | **Skills and MCP** | Adds reusable workflows and connections to external tools and services | | **Model choice** | Supports multiple hosted providers and OpenAI-compatible endpoints | | **Cross-platform** | Supports Windows, macOS, and Linux | ### Coding and repository work Explore an unfamiliar codebase, trace a bug, refactor a module, add a feature, run a build, create regression tests, review a diff, or investigate a failure. ### Web workflows and quality assurance Combine web tools with a real browser to inspect dynamic pages, fill forms, validate user flows, capture screenshots, and support web application QA. Browser automation is especially useful when a page depends on JavaScript or an existing authenticated session. ## Firefox browser automation The [AlphaCode Browser Agent](https://addons.mozilla.org/en-US/firefox/addon/alphacode-browser-agent/) is a Firefox extension that connects AlphaCode to a real Firefox session through native messaging. AlphaCode handles reasoning and orchestration, and Firefox provides the live browser environment. ```mermaid flowchart LR U["You"] --> A["AlphaCode agent"] A --> B["Browser tool"] B --> C["Native messaging"] C --> D["Browser Agent extension"] D --> F["Firefox"] F --> G["Page DOM, forms, frames, UI"] G --> D D --> A A --> R["Reported result"] ``` Browser automation helps with: - JavaScript-heavy sites and dynamic interfaces - DOM inspection, form entry, and interactive controls - Tabs, frames, and embedded content - Existing authenticated sessions - Scrolling, navigation, screenshots, and downloads - Browser-based testing, QA, and web application debugging - Security testing of systems you own or are explicitly authorized to assess Example instruction: ```text Open the application, test the login flow, navigate to the dashboard, check the form validation, and report reproducible problems. ``` > [!WARNING] > **Privacy note:** Browser automation acts inside a real browser session. Review requested actions carefully, and treat page content as untrusted input. ## Desktop automation AlphaCode interacts with native applications through platform accessibility APIs rather than relying only on fixed screen coordinates. | Platform | Accessibility backend | | --- | --- | | Windows | UI Automation | | macOS | Accessibility API | | Linux | AT-SPI2 | **Supported actions:** `list_windows`, `snapshot`, `find`, `click`, `type`, `press`, `scroll`, `focus`, `screenshot`, `toggle`, `expand`, `collapse` Example: ```text Open Calculator, calculate 123 × 456, and read the result. ``` The expected result is `56088`. Actual desktop interaction depends on a working accessibility backend and on the target application being available. If it does not work, see [Desktop automation is unavailable](#troubleshooting). ## Swarm mode Swarm mode splits a large goal into parallel or semi-independent tasks and coordinates the results. ```mermaid flowchart TD G["Large goal"] --> P["Planner"] P --> A["Agent A: code analysis"] P --> B["Agent B: security review"] P --> C["Agent C: tests"] P --> D["Agent D: documentation"] A --> M["Coordinator"] B --> M C --> M D --> M M --> R["Review"] R --> F["Final result"] ``` Example command inside AlphaCode: ```text /swarm "Analyze this application from architecture, security, testing, and performance perspectives." ``` > [!NOTE] > Swarm mode works best when a task can be divided so that agents do not modify the same files at the same time. ## Sessions and memory Persistent sessions preserve context across terminal restarts and support longer debugging, research, security-review, and refactoring workflows. ```bash alphacode sessions list # List saved sessions alphacode --resume # Resume the latest session alphacode --resumealphacode command not found