diff --git a/docs/development/roadmap.md b/docs/development/roadmap.md index 1d367e3..1042bdb 100644 --- a/docs/development/roadmap.md +++ b/docs/development/roadmap.md @@ -4,12 +4,12 @@ See the complete roadmap at [ROADMAP.md](https://github.com/TeamNickHart/md2do/b This page highlights the major upcoming features and their current status. -## Current Version: v0.7.x +## Current Version: v0.8.x ### Completed - Core task parsing and filtering -- CLI commands (list, stats, config, migrate) +- CLI commands (list, stats, config, migrate, add, ingest) - **Todoist integration** (native — import, sync, list, add with full two-way sync) - MCP server for AI assistants - Hierarchical configuration @@ -20,13 +20,16 @@ This page highlights the major upcoming features and their current status. - **Obsidian plugin** — Task list view, grouping, sorting, commands, autocomplete - **Pluggable multi-source ingestion** — Open `{slug:ID}` source link pattern; `md2do ingest` command for JSONL-based import from any source (Teams, Outlook, Slack, etc.) - **`SourceProvider` interface** — Typed contract for native integrations (Todoist implements this today) +- **`build_integration` MCP prompt** — Ask Claude to fetch tasks from any external source and write valid ingest files; `mode=provider` appends a TypeScript `SourceProvider` skeleton +- **`sources` in MCP output** — `list_tasks` includes source IDs so Claude can correlate tasks with external systems +- **CI/CD** — GitHub Actions with coverage, type check, lint; npm Trusted Publishing via OIDC (no token) ## In Progress ### Obsidian Plugin Polish - [ ] Community plugin submission -- [ ] Auto-completion for `#due/`, `@`, `#` +- [x] Auto-completion for `#due/`, `@`, `#` ### Advanced Todoist Sync @@ -48,9 +51,9 @@ This page highlights the major upcoming features and their current status. AI-powered task ingestion from M365 and more -- Claude + M365 MCP tools → JSONL → `md2do ingest` -- Prompt templates for Teams, Outlook, calendar -- Scheduled agent runs (cron + MCP) +- [x] `build_integration` prompt for any source +- [ ] Scheduled agent runs (cron + MCP) +- [ ] Merge strategy for re-ingested vault files (preserve hand-edits) ### Watch Mode @@ -60,12 +63,6 @@ Real-time monitoring and auto-sync - Auto-sync on save - Desktop notifications -### Repository Polish - -- [ ] Issue/PR templates -- [ ] GitHub Actions CI/CD -- [ ] Automated releases - ## Mid-Term ### Native Integrations (via `SourceProvider`) diff --git a/docs/guide/what-is-md2do.md b/docs/guide/what-is-md2do.md index 055500f..a8f5a60 100644 --- a/docs/guide/what-is-md2do.md +++ b/docs/guide/what-is-md2do.md @@ -98,23 +98,33 @@ md2do list --due-this-week --project backend - Completion rates - Custom breakdowns +### 🔌 Multi-Source Ingestion + +Bring tasks from any external system into your vault via a simple JSONL pipeline — no hardcoded integrations required: + +- **Any source** — Teams, Outlook, Slack, Google Calendar, or anything that can emit JSON +- **Open format** — one JSON record per line, four required fields +- **Source links** — `{slug:ID}` tokens link vault tasks back to their origin +- **Unified view** — all sources queryable with the same `md2do list` filters + +```bash +md2do ingest /tmp/teams-mentions.jsonl --vault ~/notes +# Creates: ~/notes/teams/teams-mentions.md +``` + ### 🔄 Todoist Integration - Import markdown tasks to [Todoist](https://www.todoist.com) - Sync completion status from Todoist to markdown - Preserve all metadata -- Official Todoist API integration - -::: info Coming Soon -Full bidirectional sync (pushing markdown changes back to Todoist) is planned for a future release. -::: +- Official Todoist API integration — full two-way sync ### 🤖 AI-Powered (MCP) -- Claude Code integration -- Natural language queries -- AI-generated reports -- Smart task analysis +- Claude Code integration via MCP server +- Natural language queries across all your tasks +- AI-generated reports (standup, sprint summary, overdue review) +- **`build_integration` prompt** — ask Claude to fetch tasks from any source and write ingest files automatically ### ⚡ Performance @@ -189,7 +199,7 @@ Track TODOs in technical docs: ### Hybrid Workflows -Use markdown as source of truth, sync with Todoist for mobile access: +Use markdown as source of truth, sync with Todoist for mobile access, and pull in tasks from other tools: ```bash # Import important tasks to Todoist @@ -197,6 +207,9 @@ md2do todoist import roadmap.md:15 # Sync completion status md2do todoist sync + +# Ingest from Teams mentions or Outlook flags +md2do ingest /tmp/teams.jsonl --vault ~/notes ``` ## How It Works @@ -238,4 +251,5 @@ Ready to get started? - **[Install md2do](/guide/getting-started)** - Get up and running in minutes - **[Task Format Guide](/guide/task-format)** - Learn the syntax - **[CLI Reference](/cli/overview)** - Explore all commands +- **[Multi-Source Ingestion](/integrations/ingest)** - Bring in tasks from any source - **[Examples](/guide/examples)** - See real-world usage diff --git a/docs/index.md b/docs/index.md index aff9d64..a5ea02b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -42,12 +42,15 @@ features: - icon: ⚡ title: Fast details: Built with performance in mind using fast-glob and TypeScript. + - icon: 🔌 + title: Multi-Source Ingestion + details: Bring tasks from any external system — Teams, Outlook, Slack, Google Calendar — via a simple JSONL pipeline. No hardcoded integrations. - icon: 🔄 title: Todoist Integration details: Import tasks to Todoist and sync completion status. Official Todoist API integration. - icon: 🤖 title: AI-Powered - details: MCP server integration for Claude and other AI assistants. + details: MCP server for Claude with built-in prompts including build_integration — generate fetch-and-ingest workflows for any external source. --- ## Quick Example @@ -89,7 +92,7 @@ md2do recognizes standard markdown task syntax with rich metadata: - `#tag` - Tags - `#due/YYYY-MM-DD` - Due date - `{completed:YYYY-MM-DD}` - Completion date -- `{todoist:ID}` - Todoist sync ID +- `{slug:ID}` - Source link (e.g. `{todoist:123}`, `{teams:msg-789}`) > Legacy bracket syntax (`[due: ...]`, `[completed: ...]`, `[todoist: ...]`) is still parsed for backward compatibility. @@ -118,6 +121,22 @@ projects/ Context extraction works when running `md2do list` from the repository root directory. The `--path` option currently doesn't preserve project/person context. ::: +### 🔌 Multi-Source Ingestion + +Bring tasks from any external system via a simple JSONL pipeline: + +```bash +# Ingest tasks from Teams, Outlook, Slack, etc. +md2do ingest /tmp/teams-tasks.jsonl --vault ~/notes +md2do ingest /tmp/outlook-flagged.jsonl --vault ~/notes + +# Tasks appear in your vault with source links +# - [ ] Follow up on PR review {teams:msg-789} +# - [ ] Review Q3 budget {outlook:AAMk-abc} +``` + +See [Multi-Source Ingestion](/integrations/ingest) for the JSONL format and pipeline details. + ### 🔄 Todoist Integration Import tasks to [Todoist](https://www.todoist.com) and sync completion status: @@ -133,7 +152,7 @@ md2do todoist sync --direction pull ### 🤖 AI Integration -Use Claude Code or other AI assistants to query your tasks: +Use Claude Code or other AI assistants to query your tasks — including tasks ingested from external sources: > "What urgent tasks does @nick have?" @@ -141,6 +160,8 @@ Use Claude Code or other AI assistants to query your tasks: > "Generate my daily standup report" +> "Build an integration for Teams" _(uses the `build_integration` MCP prompt)_ + ## Next Steps
@@ -155,6 +176,8 @@ Use Claude Code or other AI assistants to query your tasks: **🔌 [Todoist Setup](/integrations/todoist)** - Set up [Todoist](https://www.todoist.com) integration +**📥 [Multi-Source Ingestion](/integrations/ingest)** - Bring in tasks from Teams, Outlook, Slack, and more + **🤖 [MCP Integration](/integrations/mcp)** - Connect with Claude Code **📋 [CLI Reference](/cli/overview)** - Complete command documentation