Welcome to the DGG-PM GitHub Wiki!
DGG-PM is a self-hosted, Discord-native project management platform designed to eliminate context-switching by embedding task tracking directly into Discord text channels, threads, forum posts, and direct messages.
-
- Discord Developer Portal configuration & bot permissions.
- Initial server setup (Teams, Projects, Forums).
- Zero-command workflows with Pinned Control Hubs.
- Creating, assigning, and executing tasks.
-
Slash Commands Reference (
/pm)- Complete reference of all
/pmgrouped slash commands. - Arguments, permissions, options, and autocomplete.
- Complete reference of all
-
- Discord-native role membership.
- Configurable Team Lead roles for delegated project management.
- Squad Leads & 3-tier self-healing protection.
- Role-restricted task assignments and mutation guards.
-
Forum Channels & Interactive Hubs
- Automatic PM tag provisioning (Status, Priority, Unassigned).
- Automated pinned control center post creation with direct Project & Task creation.
- Dynamic Task Action Cards & thread workspaces.
-
- Hexagonal architecture layer breakdown (Ports & Adapters).
- Concurrency guarantees: Optimistic Concurrency Control (CAS) & Transactional Outbox.
- Data standardization with RFC 5545 (
VTODO) and Microsoft Graph (todoTask).
-
- Local setup with
uv, Docker, and NixOS/devenv. - Common
Makefiletarget cheat sheet. - Declarative seeding engine (
make seed,make db-reset,--no-discord).
- Local setup with
-
- Turnkey deployment to Coolify (Docker Compose & Standalone).
- Recommended Git branch strategy (
develop➔main). - Self-hosted Docker Compose deployment runbook.
-
Database Migrations Manual (Alembic)
- Migration management with Alembic for development and production.
- Revision creation, testing, rollback runbooks, and zero-downtime rules.
- Single Namespace (
/pm): No top-level slash command clutter or collisions with other server bots. - 100% Discord-Native: Discord Server Roles are the real-time source of truth for squad rosters.
- Flexible Least-Privilege Delegation: Authorize designated Discord roles as Team Leads for project and squad management without granting server-wide administrator permissions.
- Zero-Command Workflows: Pinned Forum Hubs, Modals, Dropdowns, and Action Cards allow daily operations without typing CLI commands.
- Self-Healing State: Stripping a Discord role instantly revokes lead privileges and cleans up database records automatically.