Skip to content

GetPullRequest/Sia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sia

Sia Quick Walkthrough

Wake up to ready pull requests

Quick StartFeaturesHow It WorksContributingWebsite

Pre-alpha


Overview

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.

Why Sia?

Ship Code While You Sleep

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.

Works Where You Already Are

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.

Autonomous Task Execution

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.

Features

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

How It Works

  1. Request a task — Mention @sia in Slack or Discord with what you need
  2. Task gets queued — Sia acknowledges and adds it to the queue
  3. AI agents execute — Autonomous agents write code, run tests, and fix issues
  4. PR created — You receive a pull request ready for review
  5. Review and merge — Approve from your phone or desktop

Architecture Overview

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/.

Quick Start

Using Docker Compose (Recommended)

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 up

Database Configuration

Sia 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.

Documentation

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

Tech Stack

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

Contributing

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

Community & Support

License

MIT License - see LICENSE for details


Built with ❤️ by the GetPullRequest team and our contributors

About

🌟 Your AI dev assistant who works on your behalf while you are offline. It gets your tasks from Slack, works on it asynchronously through your favourite vibe coding platform and gets the PRs ready for you.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors