Gravity platform: project management + event engine + auth. Go monorepo.
- Go 91.4%
- templ 6.6%
- PLpgSQL 1.2%
- Shell 0.7%
- Dockerfile 0.1%
|
All checks were successful
Publish / detect-release (push) Successful in 7s
Publish / tag (push) Successful in 8s
CI / test-gravity-pm (push) Successful in 1m11s
CI / test-event-engine (push) Successful in 1m29s
Publish / publish-containers (push) Successful in 2m25s
Publish / promote-release (push) Successful in 2s
CI / lint (push) Successful in 2m52s
CI / build (push) Successful in 55s
Reviewed-on: #10 |
||
|---|---|---|
| .forgejo/workflows | ||
| apps | ||
| deploy | ||
| docs | ||
| scripts | ||
| tools/gravity-migrate | ||
| .env.example | ||
| .gitignore | ||
| .golangci.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| go.work | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
Gravity Platform
All-in-one platform for project management, event-driven automation, and agent orchestration. Self-hosted, open source, designed for humans and AI agents as equal citizens.
Services
| Service | Port | Description |
|---|---|---|
| Gravity PM | 8910/8912 | Project management (work packages, versions, wiki, time tracking, MCP server) |
| Event Engine | 8920 | Event processing, webhook receiver, agent job queue and dispatch |
| Authelia | 9091 | OIDC identity provider |
| PostgreSQL | 5434 | Shared database |
| NATS | 4222 | Message bus (JetStream enabled) |
| Valkey | 6381 | Sessions, caching |
| Caddy | 443/80 | Reverse proxy, TLS termination |
Quick Start
cp .env.example .env
./setup.sh # Auto-generate secrets
docker compose up
See make dev for the recommended development workflow.
Development
# Full build + start (recommended)
make dev
# Rebuild app services only (fast iteration)
make restart
# Run tests
make test
# Build and run individually
cd apps/gravity-pm && go run ./cmd/server
cd apps/event-engine && go run ./cmd/server
Tech Stack
- Go 1.25 — backend services
- templ — type-safe HTML templates
- htmx + Alpine.js — server-driven interactivity
- Tailwind CSS — styling
- PostgreSQL 16 — data store
- NATS 2.11 + JetStream — event bus and durable job queue
- Watermill — pub/sub abstraction
- Valkey 8 — sessions and caching
- Authelia — OIDC identity provider
- Caddy — reverse proxy with Tailscale support
Architecture
Gravity PM publishes domain events (work package created, status changed, etc.) through NATS. The Event Engine subscribes to these events, logs them to an append-only audit trail, and dispatches AI agent jobs through a durable JetStream-backed queue with retry, dead-letter handling, and concurrency limiting.
Both services expose REST APIs. Gravity PM also runs an MCP server for direct AI agent integration.
License
Apache 2.0 — see LICENSE.