Gravity platform: project management + event engine + auth. Go monorepo.
  • Go 91.4%
  • templ 6.6%
  • PLpgSQL 1.2%
  • Shell 0.7%
  • Dockerfile 0.1%
Find a file
Mike Bros 970942f5e7
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
Merge pull request 'Release v1.19.2' (!10) from release/1.19.2 into main
Reviewed-on: #10
2026-02-23 14:58:45 +00:00
.forgejo/workflows chore(ci): bump coverage gate to 40% and exclude generated templ files 2026-02-23 08:54:10 -06:00
apps test: add web package unit tests for setup, theme, and admin helpers 2026-02-23 08:52:02 -06:00
deploy fix(deploy): correct Grafana histogram_quantile queries with sum by (le) 2026-02-22 23:08:04 -06:00
docs fix(ci): pin golangci-lint to v1.64.8 and sync wiki docs 2026-02-22 16:13:18 -06:00
scripts refactor(stack): separate Zitadel onto its own port 2026-02-17 15:54:36 -06:00
tools/gravity-migrate refactor: consolidate into mike/gravity monorepo 2026-02-17 01:44:55 -06:00
.env.example fix: address PR review findings — blocking, important, and CI fixes 2026-02-23 01:03:21 -06:00
.gitignore fix(ci): pin golangci-lint to v1.64.8 and sync wiki docs 2026-02-22 16:13:18 -06:00
.golangci.yml fix(ci): increase golangci-lint timeout to 5m for CI runners 2026-02-22 20:48:35 -06:00
docker-compose.dev.yml feat(deploy): use Forgejo container registry images in docker-compose 2026-02-17 08:34:40 -06:00
docker-compose.yml fix: address PR review findings — blocking, important, and CI fixes 2026-02-23 01:03:21 -06:00
go.work chore: remove unused Zitadel auth library and update go.work 2026-02-22 14:15:43 -06:00
LICENSE Initial commit 2026-02-17 06:27:42 +00:00
README.md test(handler): add work package CRUD handler tests with mock store 2026-02-22 15:11:59 -06:00
VERSION chore(release): bump version to 1.19.2 2026-02-22 23:46:49 -06:00

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.