Skip to content

[Feature]: Project Data Export & Portability (/pm project export to CSV & Markdown) #27

Description

@espdesign

Summary

Introduce /pm project export to allow server managers and project leads to export all active and archived tasks for a project as downloadable CSV, Markdown, or JSON file attachments directly in Discord.

Background & Context

Early adopters and server leads testing the bot during alpha need data ownership and portability assurance. Providing a zero-friction export command gives testers confidence that their team's project records are never locked in or trapped inside the bot database.

Proposed Capabilities

  1. Slash Command (/pm project export [project] format:[csv|markdown|json] [include_archived:bool]):
    • Authorized for Server Managers and Project Leads.
    • Project name autocomplete support.
  2. Multi-Format Serialization:
    • CSV: Standard columns: Short ID, Title, Status, Priority, Assignee ID, Due Date, Completed Date, Created Date, Thread Jump URL.
    • Markdown: Formatted summary table grouped by status and priority, ideal for posting to GitHub or external notes.
    • JSON: Machine-readable payload mapped to RFC 5545 and Microsoft Graph schema standards.
  3. Discord File Attachment:
    • Serializes into memory (io.BytesIO) without writing temporary files to disk, and sends as a direct message attachment.

Acceptance Criteria

  • /pm project export generates valid CSV, Markdown, and JSON payloads.
  • Uploads export directly to Discord as a file attachment.
  • Honors include_archived flag to allow full backups.
  • Unit tests for exporters and permission checks.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions