Stella listens to GitHub webhooks, reads your issues, plans a solution, writes the code, runs tests, and opens a Pull Request—entirely autonomously.
git clone https://github.com/sohamsangole/stella.git
cd stellapython3 -m venv venv
source venv/bin/activatepip install -r requirements.txt- Go to GitHub → Settings → Developer settings → GitHub Apps.
- Click New GitHub App.
- Set:
Setting Value
Homepage URL http://localhost:8000
Webhook URL Your Smee URL
Webhook Secret Any secure random string
Grant Read & Write access to:
- Contents
- Issues
- Pull Requests
Enable:
- Issue comments
- Generate a Private Key (.pem)
- Download it
- Install the GitHub App on your test repository
Create a .env file:
GITHUB_WEBHOOK_SECRET="your-webhook-secret"
REDIS_URL="redis://localhost:6379/0"
GITHUB_APP_ID="your-app-id"
GITHUB_PRIVATE_KEY_PATH="/absolute/path/to/private-key.pem"Open four terminals.
docker run -p 6379:6379 -d redisReplace with your own Smee URL.
npx smee-client \
--url https://smee.io/your-channel \
--target http://localhost:8000/webhook/githubuvicorn main:app --reload --port 8000celery -A worker.app worker --loglevel=info- Open an issue in your repository.
- Mention Stella in a comment:
@coding-agent-stella fix the login bug
- Stella will:
- Receive the GitHub webhook
- Queue the task in Redis
- Celery picks up the task
- Clone the repository
- Generate a solution using the configured LLM
- Commit the changes
- Open a Pull Request
MIT License
