An open-source developer tool that combines AI coding with task management and code review. Async integrates Claude Code + Linear + GitHub PRs into one opinionated workflow.
async-demo.mp4
https://www.async.build/
What Async Does
Automatically researches coding tasks - analyzes your codebase and asks clarifying questions before execution
- analyzes your codebase and asks clarifying questions before execution Executes code changes in the cloud - runs in isolated environments without touching your local setup
- runs in isolated environments without touching your local setup Breaks work into reviewable subtasks - creates stack diffs for easier code review
- creates stack diffs for easier code review Handles the full workflow - from GitHub issue to merged PR without leaving the app
Why Async?
Traditional AI coding tools work great for new projects but struggle with mature codebases where you can't break things. Async solves the common problems:
Forces upfront planning - always asks clarifying questions and requires confirmation before executing
- always asks clarifying questions and requires confirmation before executing Eliminates context switching - executes asynchronously in the cloud while you work on other tasks
- executes asynchronously in the cloud while you work on other tasks Simple task tracking - automatically imports GitHub issues, no PM tool bloat
- automatically imports GitHub issues, no PM tool bloat Built-in code review - comment and iterate on stacked diffs without leaving the app
How It Works
Onboarding & Task Creation: Install the Async GitHub App and select repositories. Async automatically imports open GitHub issues as tasks. Research Phase: New tasks trigger a Google Cloud Run job that clones your repository and runs a research agent. The agent analyzes the codebase and generates clarifying questions. Tasks either auto-execute or wait for your input. Execution: Another isolated GCR job handles execution using Claude Code. Creates feature branch → breaks task into subtasks → executes each as separate commits → opens PR. Code Review: Review happens within Async. Step through each subtask's focused diffs, leave comments, and either request changes (creates new subtask) or approve (squashes and merges).
Tech Stack
Backend : FastAPI with async support
: FastAPI with async support AI Models : Claude Code for implementation, OpenAI/Anthropic/Google models for research
: Claude Code for implementation, OpenAI/Anthropic/Google models for research Cloud : Google Cloud Platform with containerized execution
: Google Cloud Platform with containerized execution Database : Firebase Firestore
: Firebase Firestore Integrations : GitHub App, Stripe payments, email notifications
: GitHub App, Stripe payments, email notifications Frontend: Supports desktop and mobile
Setup
Create and activate a virtual envirnoment:
uv venv .venv source .venv/bin/activate
To explicitly sync the environment, run the following command:
uv sync
Then run the following to setup pre-commit lints
pre-commit install
Local Development
To run the agent locally, create a .env file (look at .env.local for example) in the root directory.
Create a firebase config file with name "async-firebase.json".
Run the following command to grant the default login to Google Cloud client libraries:
gcloud auth application-default login
To start the server,
uvicorn src.server:app --reload --port 8000
To lint, run the following command:
uv run ruff format . uv run ruff check . --fix
Testing
To run all unit tests:
python -m pytest
API Documentation
The FastAPI server provides the following main endpoints:
Authentication
POST /auth/auth-with-github - Complete GitHub OAuth flow with access code
- Complete GitHub OAuth flow with access code POST /auth/verify-email - Send email verification code
- Send email verification code POST /auth/redeem-email-code - Validate email verification code
- Validate email verification code POST /auth/invite-people - Send team invitations
- Send team invitations POST /auth/redeem-invite-code - Validate invitation codes
GitHub Integration
POST /github/handle-github-events - Process GitHub webhook events (issues, PRs, push)
- Process GitHub webhook events (issues, PRs, push) POST /github/submit-review - Submit code review with approve/request changes
Task Management
POST /task/schedule-job - Schedule task execution jobs (research, execute, revise, index)
- Schedule task execution jobs (research, execute, revise, index) WebSocket /task/chat - Real-time task communication with AI agents
Onboarding
POST /onboarding/onboard-github - Complete GitHub App installation and repository setup
Payment
POST /payment/create-checkout-session - Create Stripe checkout for subscriptions
- Create Stripe checkout for subscriptions POST /payment/create-portal-session - Access customer billing portal
- Access customer billing portal POST /payment/handle-stripe-events - Process Stripe webhook events
Support
POST /support/handle-contact-us - Submit contact form and create lead
Google Cloud Run Jobs
The system uses isolated Google Cloud Run jobs for task processing:
Job Types
execute-task - Main task execution using Claude Code Clones repository to feature branch Breaks task into subtasks using Claude Code plan mode Executes each subtask as separate commit Opens pull request when complete
research-task - Codebase analysis and requirement gathering Analyzes repository structure and context Generates clarifying questions for ambiguous requirements Creates structured task summary for execution
revise-task - Handles code review feedback Processes review comments and requested changes Creates new subtask to address feedback Re-executes with updated requirements
index-project - Repository indexing and setup Analyzes project structure and programming languages Sets up project metadata for task execution Prepares repository for AI agent analysis
Each job runs in an isolated environment with the repository cloned and all necessary dependencies installed.
Deployment
Prerequisites
Google Cloud Platform account with Cloud Run enabled
Firebase project with Firestore
GitHub App configured for your organization
Stripe account for payment processing
Environment Variables
Configure the following in your production environment:
ANTHROPIC_API_KEY - Claude API access
- Claude API access OPENAI_API_KEY - OpenAI API access
- OpenAI API access GOOGLE_API_KEY - Google AI API access
- Google AI API access STRIPE_SECRET_KEY - Stripe payment processing
- Stripe payment processing GITHUB_WEBHOOK_SECRET - GitHub webhook validation
- GitHub webhook validation DB_URI - Database connection string
Cloud Deployment
The application is designed to run on Google Cloud Run with automatic scaling and isolated task execution.
Contributing
Fork the repository Create a feature branch ( git checkout -b feature/amazing-feature ) Make your changes Run tests and linting Commit your changes ( git commit -m 'Add amazing feature' ) Push to the branch ( git push origin feature/amazing-feature ) Open a Pull Request
Please ensure your code follows the existing style and passes all tests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For questions or issues, please open a GitHub issue or contact the team.
Built for experienced developers who know their codebases deeply. Async is the last tool you'll need to build something great.