A self-hosted, zero-signup Discord-native project management platform built to eliminate context-switching by embedding task workflows directly into Discord text channels, threads, and direct messages.
All comprehensive documentation, guides, and technical references are organized in the DGG-PM Wiki:
| Guide | Description |
|---|---|
| 🚀 Workflow & Quickstart Guide | End-to-end setup and zero-command daily workflows |
⌨️ Slash Commands Reference (/pm) |
Complete parameter and permission breakdown |
| 🏛️ System Architecture | Hexagonal ports & adapters, concurrency (CAS), and outbox pattern |
| 👥 Squads & Authorization Matrix | Native role rosters, configurable lead roles, and self-healing |
| 📌 Forum Channels & Interactive Hubs | Automatic PM tag provisioning and pinned Control Hubs |
| 💻 Local Development & Seeding | uv, NixOS/devenv, Makefile reference, and declarative seeder |
| 🚀 Deployment & Coolify | Coolify hosting, branch strategy, and Docker Compose stack |
| 🗄️ Database Migrations Manual | Development and production migration runbook (Alembic) |
- Unified
/pmNamespace: Single isolated command tree eliminating server clutter and bot collisions. - Zero-Command Workflows: Pinned Forum Control Hubs and thread Action Cards allow creating, assigning, and progressing tasks without typing CLI commands.
- 100% Discord-Native Squads: Live Discord server roles serve as the single source of truth for squad rosters with 3-tier self-healing lead protection.
- Dedicated Task Threads: Automatic forum post and thread provisioning with optimistic concurrency control (CAS) preventing lost update races.
- Human-Friendly Short IDs: Sequential project-prefixed IDs (e.g.
INF-1,PRJ-42) with channel-scoped autocomplete. - Transactional Outbox: Guaranteed notification delivery with rate-limit-aware backoff and
FOR UPDATE SKIP LOCKEDbackground workers.
Install the bot to your server using the official OAuth2 install link:
(Ensure Server Members Intent is enabled under the Bot tab in the Discord Developer Portal).
# 1. Configure environment
cp .env.example .env
# Edit .env with your DISCORD_BOT_TOKEN and credentials
# 2. Install dependencies & start PostgreSQL container
make install && make db-up
# 3. Run test suite (uses in-memory SQLite; does not require Postgres)
make test
# 4. Start the application
make runmake help # List all available targets and descriptions
make check # Run full quality gate (lint, format check, and tests)
make test # Run pytest test suite
make seed # Declarative sync (non-destructive; preserves channels/threads)
make db-reset # Destructive reset (wipes DB tables and re-provisions cleanly)
make db-migrate # Apply pending Alembic migrationsFor NixOS (devenv), offline seeding (--no-discord), and complete Coolify deployment runbooks, see the Wiki.