Skip to content

Repository files navigation

dgg-pm: Discord-Native Task Management Platform

Python 3.13 Architecture: Hexagonal Schema: RFC 5545 & MS Graph

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.


📚 Documentation & Wiki

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)

✨ Key Features

  • Unified /pm Namespace: 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 LOCKED background workers.

⚡ Quickstart

1. Bot Invite

Install the bot to your server using the official OAuth2 install link:

🔗 Invite Bot to Discord Server

(Ensure Server Members Intent is enabled under the Bot tab in the Discord Developer Portal).

2. Run Locally (uv & Docker)

# 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 run

📋 Common Commands

make 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 migrations

For NixOS (devenv), offline seeding (--no-discord), and complete Coolify deployment runbooks, see the Wiki.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages