AI-powered code analysis and improvement platform
Connect your GitHub, GitLab, or Bitbucket repositories — let AI scan for issues and deliver fixes as pull requests.
Features • Getting Started • Docker • 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
- 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 clientdocker-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
├── worker/ Background jobs via pg-boss + Claude Agent SDK
├── packages/shared/ Shared types and constants
└── prisma/ Database schema and migrations
- Connect — Sign in with GitHub, GitLab, or Bitbucket and connect your repositories
- Scan — AI analyzes your codebase on a schedule (or on demand) and creates tasks for discovered issues
- Plan — The AI asks clarifying questions to refine the approach before making changes
- Fix — An autonomous agent creates a branch, applies the fix, and opens a pull request
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS, shadcn/ui, TanStack Query |
| Backend | Fastify 5, Prisma, PostgreSQL 16 |
| Worker | pg-boss, Claude Agent SDK, simple-git |
| AI | Anthropic Claude (scanning, planning, execution) |
| 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