52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
|
|
---
|
|||
|
|
kind: epic
|
|||
|
|
slug: cursor-sync-layer
|
|||
|
|
title: Cursor integration and bidirectional to-do sync
|
|||
|
|
plan_slug: multitenant-cursor-sync
|
|||
|
|
status: ready
|
|||
|
|
priority: P0
|
|||
|
|
tenant_id: global
|
|||
|
|
cursor_epic_id: null
|
|||
|
|
updated_at: "2026-04-26"
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Epic objective
|
|||
|
|
|
|||
|
|
Implement the **data integration layer** that maps internal plans/epics/tasks to Cursor artifacts and runs **push**, **pull**, and optional **reconciliation** per tenant.
|
|||
|
|
|
|||
|
|
## In scope / out of scope
|
|||
|
|
|
|||
|
|
**In scope**
|
|||
|
|
|
|||
|
|
- Mapping schema (see `config/CursorSync.md`)
|
|||
|
|
- API stubs or routers for sync triggers
|
|||
|
|
- Polling job skeleton; webhook handler behind feature flag
|
|||
|
|
|
|||
|
|
**Out of scope**
|
|||
|
|
|
|||
|
|
- Cursor product features not exposed by API (document as risk; use export fallback)
|
|||
|
|
|
|||
|
|
## Related tasks
|
|||
|
|
|
|||
|
|
| Task | Link |
|
|||
|
|
|------|------|
|
|||
|
|
| Mapping model and migration | `./Task-mapping-model-and-migration.md` |
|
|||
|
|
| Push/pull job interface | `./Task-push-pull-job-interface.md` |
|
|||
|
|
|
|||
|
|
## Dependencies
|
|||
|
|
|
|||
|
|
- Depends on: Markdown backlog epic (stable paths + frontmatter)
|
|||
|
|
- Blocks: None for MVP if file export is enough for v0
|
|||
|
|
|
|||
|
|
## Acceptance criteria
|
|||
|
|
|
|||
|
|
- [ ] Tenant can store `cursor_plan_id` / `cursor_todo_id` on entities (DB or sidecar table).
|
|||
|
|
- [ ] One documented manual flow: export task list to Cursor via copy or file.
|
|||
|
|
|
|||
|
|
## Proposed timeline
|
|||
|
|
|
|||
|
|
| Phase | Window | Notes |
|
|||
|
|
|-------|--------|-------|
|
|||
|
|
| Spec | Week 1 | `config/CursorSync.md` |
|
|||
|
|
| MVP | Week 2–4 | Mapping + manual id |
|