Wake up to ready pull requests
Quick Start • Features • How It Works • Contributing • Website
Sia is an AI coding assistant that handles small coding tasks while you sleep. Give it a task before you log off, and wake up to a pull request ready for review.
Queue tasks from Slack or Discord. Sia writes the code, runs tests, fixes issues, and opens a PR—all automatically. Review and merge from your phone.
⚠️ Pre-alpha: Still in active development, not ready for production yet.
Traditional AI coding assistants require you to be at your computer, actively guiding them. Sia is different—it works asynchronously. Queue up small tasks before you clock out, and wake up to ready pull requests.
No new tools to learn. Sia lives in Slack and Discord. Just @mention it with a task, and it handles the rest. Review and merge PRs from your phone during your morning commute.
Sia doesn't just write code—it runs tests, fixes failures, iterates on issues, and opens polished PRs. You get to review finished work, not babysit an AI through each step.
| Feature | Description |
|---|---|
| Chat-Native Interface | Works directly in Slack and Discord—no context switching |
| Automatic PRs | Writes code, runs tests, fixes issues, and opens pull requests autonomously |
| 24/7 Operation | Queue tasks anytime, get results when you're ready |
| Mobile-Friendly | Review and merge PRs from your phone—no laptop required |
| Smart Queue Management | Prioritize, pause, or cancel tasks right from chat |
| Learning System | Adapts to your codebase patterns and preferences over time |
- Request a task — Mention
@siain Slack or Discord with what you need - Task gets queued — Sia acknowledges and adds it to the queue
- AI agents execute — Autonomous agents write code, run tests, and fix issues
- PR created — You receive a pull request ready for review
- Review and merge — Approve from your phone or desktop
Sia uses a distributed architecture designed for autonomous operation:
- Chat Integrations — Slack and Discord bots for task submission
- Web Dashboard — Monitor queue, view logs, manage tasks
- Backend Server — Orchestrates jobs and coordinates AI agents
- AI Agents — Run on cloud dev machines, execute tasks autonomously
- gRPC Communication — Real-time coordination between backend and agents
For detailed architecture documentation, see .kiro/specs/.
Get Sia running locally in minutes:
# Clone the repository
git clone https://github.com/getpullrequest/sia.git
cd sia
# Copy and configure environment files
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.local.example apps/web/.env.local
# Edit the .env files with your API keys and configuration
# Then start everything (choose one option):
# Option 1: With embedded PostgreSQL (for local development)
docker-compose -f docker-compose.dev.yml --profile embedded-db up
# Option 2: Connect to existing PostgreSQL (set DATABASE_URL in .env)
docker-compose -f docker-compose.dev.yml upSia supports two database setup options:
Option 1: Embedded PostgreSQL (Recommended for new users)
- Automatically starts a PostgreSQL container
- No external database setup required
- Set in
apps/api/.env:DATABASE_URL=postgresql://sia_user:sia_password@postgres:5432/sia_db - Use:
docker-compose -f docker-compose.dev.yml --profile embedded-db up
Option 2: Existing PostgreSQL (For teams with existing databases)
- Connect to your own PostgreSQL instance (local or remote)
- No git conflicts from commenting/uncommenting services
- Set in
apps/api/.env:DATABASE_URL=postgresql://user:pass@host.docker.internal:5432/your_db - Use:
docker-compose -f docker-compose.dev.yml up
Note: When connecting to a local database on your host machine, use host.docker.internal as the hostname.
This starts:
- PostgreSQL database (port 5432) - only if using
--profile embedded-db - API server (port 3001)
- Web UI (port 3000)
For detailed setup instructions, including local development without Docker, configuration guides, and troubleshooting, see CONTRIBUTING.md and DOCKER_SETUP.md.
| Document | Description |
|---|---|
| CONTRIBUTING.md | Development setup, contribution guidelines, and coding standards |
| DOCKER_SETUP.md | Detailed Docker Compose setup and configuration guide |
| CHANGELOG.md | Version history and release notes |
| AGENTS.md | Guide for AI agents working with this codebase |
.kiro/specs/ |
Architecture specifications and design documentation |
Built with modern, proven technologies:
| Layer | Technology |
|---|---|
| Monorepo | Nx |
| Frontend | Next.js, TailwindCSS, shadcn/ui, TanStack Query |
| Backend | Fastify (REST), WebSocket (logs), gRPC (agents) |
| Database | PostgreSQL + Drizzle ORM |
| Workflows | Temporal |
| Auth | PropelAuth |
We welcome contributions! Whether it's:
- 🐛 Bug reports and fixes
- ✨ New features and enhancements
- 📖 Documentation improvements
- 💡 Ideas and suggestions
Please read CONTRIBUTING.md for guidelines on:
- Development setup
- Coding standards
- Commit conventions
- Pull request process
- Discord: Join our community on Discord for discussions, support, and updates
- Website: getpullrequest.com
- Issues: Report bugs or request features on GitHub Issues
- Discussions: Join conversations on GitHub Discussions
MIT License - see LICENSE for details
Built with ❤️ by the GetPullRequest team and our contributors
