Skip to content

sohamsangole/stella

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stella Logo

Stella

A self-hosted, open-source AI software engineer.

License: MIT Python


Stella listens to GitHub webhooks, reads your issues, plans a solution, writes the code, runs tests, and opens a Pull Request—entirely autonomously.


Setup

1. Clone the Repository

git clone https://github.com/sohamsangole/stella.git
cd stella

2. Create a Virtual Environment

python3 -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

Create a GitHub App

  1. Go to GitHub → Settings → Developer settings → GitHub Apps.
  2. Click New GitHub App.
  3. Set:

Setting Value


Homepage URL http://localhost:8000 Webhook URL Your Smee URL Webhook Secret Any secure random string

Repository Permissions

Grant Read & Write access to:

  • Contents
  • Issues
  • Pull Requests

Subscribe to Events

Enable:

  • Issue comments

Generate Credentials

  • Generate a Private Key (.pem)
  • Download it
  • Install the GitHub App on your test repository

Configure Environment Variables

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"

Running Stella

Open four terminals.

Terminal 1 --- Start Redis

docker run -p 6379:6379 -d redis

Terminal 2 --- Start Smee

Replace with your own Smee URL.

npx smee-client \
  --url https://smee.io/your-channel \
  --target http://localhost:8000/webhook/github

Terminal 3 --- Start FastAPI

uvicorn main:app --reload --port 8000

Terminal 4 --- Start Celery

celery -A worker.app worker --loglevel=info

Usage

  1. Open an issue in your repository.
  2. Mention Stella in a comment:
@coding-agent-stella fix the login bug
  1. 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

License

MIT License

About

A self-hosted, open-source AI software engineer.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages