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
- Slash Command (
/pm project export [project] format:[csv|markdown|json] [include_archived:bool]):
- Authorized for Server Managers and Project Leads.
- Project name autocomplete support.
- 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.
- Discord File Attachment:
- Serializes into memory (
io.BytesIO) without writing temporary files to disk, and sends as a direct message attachment.
Acceptance Criteria
Summary
Introduce
/pm project exportto 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
/pm project export [project] format:[csv|markdown|json] [include_archived:bool]):Short ID,Title,Status,Priority,Assignee ID,Due Date,Completed Date,Created Date,Thread Jump URL.io.BytesIO) without writing temporary files to disk, and sends as a direct message attachment.Acceptance Criteria
/pm project exportgenerates valid CSV, Markdown, and JSON payloads.include_archivedflag to allow full backups.