AI-powered code analysis, improvement, and interactive development platform
Connect your repositories or local folders — scan for issues, collaborate with AI agents in real-time workspaces, and ship fixes as pull requests.
Features • Quick Start • Getting Started • Workspaces • Architecture • Contributing • License
- Automated scanning — Periodic AI-powered analysis of your codebase for bugs, security issues, performance bottlenecks, and code quality improvements
- Task management — Tracks discovered issues with type, priority, and status
- Autonomous fixes — AI agent creates branches and opens pull requests using the Claude Agent SDK
- File browser — GitHub-style code viewer with syntax highlighting
- Project grouping — Organize repos into projects with shared context documents
- External integrations — Sync tasks with Linear, Jira, Asana, Azure DevOps, Sentry, and GitHub Issues
- Embeddable widget — Collect feature requests and bug reports from external users, with AI-powered screening and automatic task conversion
- API key management — Per-repository usage and cost tracking
- Job queue dashboard — Monitor background jobs in real time
- Activity feed — Full event stream and audit trail
- Real-time AI collaboration — Chat with AI coding agents in a split-pane IDE-like environment
- Multi-agent support — Choose from 7 supported agents: Claude Code, OpenAI Codex, Cursor, GitHub Copilot, Gemini CLI, Amp, and Aider
- Agent Client Protocol (ACP) — Standardized protocol for spawning and communicating with coding agents
- Git worktree isolation — Each workspace gets an isolated git worktree so agents can't interfere with each other
- Live terminal output — Real-time streaming of agent activity via WebSocket
- Advanced diff viewer — Side-by-side and unified diff views powered by
@git-diff-view/react - Browser preview — Embedded iframe preview of your dev server with URL bar, navigation, and device emulation (Desktop/Tablet/Mobile)
- Element inspection — Ctrl+Shift+Click on any element in the browser preview to capture its selector, dimensions, and styles, then reference it in chat
- Approval workflow — Review and approve/reject agent actions (file edits, shell commands) before they execute
- Run anywhere with NPX —
npx auto-softwarestarts the full platform locally with zero configuration - Embedded PostgreSQL — No database setup required; an embedded PostgreSQL instance manages data automatically
- Local folder support — Work with any local project folder, not just Git repositories
- Auto-login — Single-user mode with automatic authentication
Run AutoSoftware locally with a single command — no database, no OAuth, no configuration required:
npx auto-softwareThis will:
- Start an embedded PostgreSQL database
- Run database migrations automatically
- Launch the backend API and frontend
- Open your browser at http://localhost:8001
npx auto-software --port 8002 # Backend port (default: 8002)
npx auto-software --frontend-port 8001 # Frontend port (default: 8001)
npx auto-software --data-dir ~/mydata # Data directory (default: ~/.auto-software)
npx auto-software --no-open # Don't open browser automatically- Node.js 22+
- PostgreSQL 16+
- Anthropic API key (get one here)
- OAuth credentials for at least one Git provider (GitHub, GitLab, or Bitbucket)
# Clone the repository
git clone https://github.com/your-org/autosoftware.git
cd autosoftware
# Install dependencies
npm install
# Configure environment
cp .env.example .envEdit .env and fill in the required values:
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
ANTHROPIC_API_KEY |
Your Anthropic API key |
SESSION_SECRET |
Random string — generate with openssl rand -hex 32 |
API_KEY_ENCRYPTION_SECRET |
Random string — generate with openssl rand -hex 32 |
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET |
GitHub OAuth app credentials |
GITLAB_CLIENT_ID / GITLAB_CLIENT_SECRET |
GitLab OAuth app credentials (optional) |
BITBUCKET_CLIENT_ID / BITBUCKET_CLIENT_SECRET |
Bitbucket OAuth app credentials (optional) |
FRONTEND_URL |
Frontend URL (default: http://localhost:5001) |
BACKEND_URL |
Backend URL (default: http://localhost:5002) |
You need at least one Git provider configured to log in.
# Run database migrations
npx prisma migrate dev
# Start all services (frontend + backend + worker)
npm run devThe app will be available at http://localhost:5001.
npm run dev:backend # Backend API (port 5002)
npm run dev:worker # Background job processor
npm run dev:frontend # Frontend dev server (port 5001)npm run build # Build all packages
npm run typecheck # Type-check all packages
npm run db:migrate # Run Prisma migrations
npm run db:generate # Regenerate Prisma clientWorkspaces are interactive AI development environments where you collaborate with a coding agent in real time.
- Create a workspace — Select a repository or local folder and choose an AI agent
- Start a session — The agent process spawns in an isolated git worktree
- Collaborate — Send messages, review file changes, approve actions, and preview results in a split-pane UI
- Ship — When done, review the diff and merge or create a PR
| Agent | Protocol | Auto-detected |
|---|---|---|
| Claude Code | ACP | Yes (claude CLI) |
| OpenAI Codex | Codex | Yes (codex CLI) |
| Cursor | Custom | Yes (cursor CLI) |
| GitHub Copilot | Custom | Yes (github-copilot-cli) |
| Gemini CLI | Custom | Yes (gemini CLI) |
| Amp | Custom | Yes (amp CLI) |
| Aider | Custom | Yes (aider CLI) |
Agents are auto-detected at startup. Only agents installed on your system will be available.
The workspace includes an embedded browser preview that proxies your local dev server. Set a dev server port in workspace settings to enable it.
- Device emulation — Switch between Desktop (100%), Tablet (768px), and Mobile (375px)
- Element inspection — Toggle inspect mode, then click any element to capture its CSS selector, bounding box, computed styles, and attributes. The selection is passed back to the chat for referencing in conversations with the agent.
docker-compose upThis starts PostgreSQL alongside the application services.
docker-compose -f docker-compose.prod.yml upThe production setup uses a multi-stage Docker build with nginx as a reverse proxy for the frontend.
autosoftware/
├── frontend/ React 19 + TypeScript + Vite + Tailwind CSS + shadcn/ui
├── backend/ Fastify 5 + Prisma ORM + PostgreSQL
│ └── services/
│ ├── acp/ Agent Client Protocol (registry, sessions, protocol)
│ ├── workspace/ Workspace manager (git worktrees, diff)
│ └── browser-preview/ Preview proxy + DevTools bridge injection
├── worker/ Background jobs via pg-boss + Claude Agent SDK
├── npx-cli/ Standalone NPX package with embedded PostgreSQL
├── packages/shared/ Shared types and constants
└── prisma/ Database schema and migrations
- Connect — Sign in with GitHub/GitLab/Bitbucket or run locally with
npx auto-software - Scan — AI analyzes your codebase on a schedule (or on demand) and creates tasks for discovered issues
- Workspace — Open an interactive workspace to collaborate with an AI agent on any task
- Fix — The agent creates a branch, applies fixes, and opens a pull request — with your approval at every step
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS, shadcn/ui, TanStack Query, zustand, @git-diff-view/react, framer-motion, react-virtuoso |
| Backend | Fastify 5, Prisma, PostgreSQL 16, WebSocket |
| Worker | pg-boss, Claude Agent SDK, simple-git |
| AI | Agent Client Protocol (ACP), multi-agent support (Claude Code, Codex, Cursor, Copilot, Gemini, Amp, Aider) |
| Local Mode | embedded-postgres, Commander CLI, http-proxy |
| Infra | Docker, nginx, OpenSSL |
Configure these in .env to enable two-way sync with external services:
- Linear —
LINEAR_CLIENT_ID/LINEAR_CLIENT_SECRET - Jira —
JIRA_CLIENT_ID/JIRA_CLIENT_SECRET - Asana —
ASANA_CLIENT_ID/ASANA_CLIENT_SECRET - Azure DevOps —
AZURE_DEVOPS_CLIENT_ID/AZURE_DEVOPS_CLIENT_SECRET - Sentry and GitHub Issues are configured through the app's settings UI.
See SECURITY.md for security best practices when self-hosting, including TLS, secrets management, and database hardening.
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feat/my-feature) - Commit your changes
- Push to the branch and open a pull request
If you discover a security vulnerability, please report it responsibly. See SECURITY.md for details.
MIT © AutoSoftware Contributors