Getting Started¶
Get Forge running locally in about 10 minutes.
Prerequisites¶
- Python 3.11+ with uv
- Podman — for running task containers (
brew install podman/dnf install podman) - Docker Compose — for Redis (
brew install docker-compose/ included with Docker Desktop) - Jira Cloud account with API access
- GitHub Personal Access Token (scopes:
repo,read:org) - Claude API key (Anthropic direct) or Google Cloud project with Vertex AI enabled
1. Install¶
2. Configure¶
Edit .env with your credentials at minimum:
# Jira
JIRA_BASE_URL=https://your-org.atlassian.net
JIRA_USER_EMAIL=you@example.com
JIRA_API_TOKEN=your-jira-api-token
# GitHub
GITHUB_TOKEN=github_pat_your_token
# LLM — choose one
ANTHROPIC_API_KEY=sk-ant-your-key # Anthropic direct
# ANTHROPIC_VERTEX_PROJECT_ID=my-proj # OR Vertex AI
# ANTHROPIC_VERTEX_REGION=us-east5
LLM_MODEL=claude-opus-4-5@20251101
3. Build the Container Image¶
4. Start Services¶
# Terminal 1 — Redis
docker compose up redis -d
# Terminal 2 — API server
uv run uvicorn forge.main:app --reload --port 8000 --host 0.0.0.0
# Terminal 3 — Worker (must run on the host — it spawns Podman containers)
uv run forge worker
5. Configure Webhooks¶
Point Jira and GitHub webhooks at your server.
URL: https://your-server.com/api/v1/webhooks/jira
Events: Issue created, Issue updated, Comment created
URL: https://your-server.com/api/v1/webhooks/github
Events: Pull requests, Pull request reviews, Check runs, Issue comments
For local development you have two options:
forge-poller polls Jira and GitHub directly and forwards events to Forge — no public URL or webhook configuration needed.
git clone https://github.com/forge-sdlc/forge-poller
cd forge-poller
cp .env.example .env # fill in Jira, GitHub, and FORGE_GATEWAY_URL=http://localhost:8000
uv sync
uv run uvicorn poller.main:app --port 8001
Register the ticket you're testing:
Expose your local server with ngrok and point your Jira and GitHub webhooks at the public URL.
6. Start Your First Workflow¶
- Create a Jira issue (type: Feature) and add the label
forge:managed - Forge will automatically generate a PRD and post it as a comment
- Review the PRD and change the label to
forge:prd-approvedto continue
That's it. Forge will carry the ticket through the full pipeline with similar approval gates at each planning stage.
Local development shortcut
Set FORGE_REQUIRE_PROJECT_CONFIG=false in .env and configure GITHUB_KNOWN_REPOS / GITHUB_DEFAULT_REPO to skip the Jira project property setup. See the Developer Guide for details.
Next Steps¶
- Read the Feature Workflow to understand each stage
- See the Developer Guide for payload-based testing and debugging
- Check out Reference: Configuration for all environment variables