Files
fusion/plugins/fusion-plugin-todos
Phil Larson 5d8d494230 fix(todos): restore clean build and navigation coverage (#3321)
## Summary
- remove an unavailable jest-dom type from the Todo plugin production
TypeScript build
- update the dashboard navigation fixture for the plugin-owned Todo
destination and root test id

## Test plan
- `corepack pnpm --filter @fusion-plugin-examples/todos build`
- `corepack pnpm --filter @fusion-plugin-examples/todos test`
- `FUSION_DASHBOARD_DEEP=1 corepack pnpm --filter @fusion/dashboard exec
vitest run app/components/__tests__/navigation-history.test.tsx
--project dashboard-app-quality-components-a --silent=passed-only
--reporter=dot`
- `corepack pnpm check:changesets`

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Restored CLI packaging for the bundled Todo Lists plugin.
  * Made `AgentStore` available to bundled plugins at runtime.
* **Tests**
* Updated navigation coverage for Todo Lists dashboard views, overflow
placement, and ordering.
* Added coverage for opening and dismissing the Todo view through
browser history navigation.
  * Improved validation of runtime exports.
* **Chores**
  * Simplified test type configuration for the Todo Lists plugin.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-03 12:14:31 -07:00
..

Todo Lists plugin

@fusion-plugin-examples/todos is the bundled fusion-plugin-todos first-party plugin. Enable it for a project in Settings → Plugins to expose its Todo Lists navigation surface and API.

Why Todo Lists

Todo Lists is Fusion's second feature extraction after Roadmaps. Its bounded project-scoped TodoStore, cohesive list/item route contract, and dashboard handoff into planning provide a focused proof that a feature can move vertically into a plugin without duplicate host ownership.

Rejected alternatives: Insights couples AI generation, memory, research, and native previews; Artifacts/Documents are cross-cutting execution infrastructure; Goals is explicitly outside this extraction's scope.

Architecture

  • src/index.ts declares the fusion-plugin-todos manifest, dashboard contribution, and routes.
  • src/todo-routes.ts owns /api/plugins/fusion-plugin-todos/todos/*; routes resolve the request project through PluginContext.resolveProjectTaskStore.
  • src/dashboard/ owns the Todo view, list/item API client, state hook, responsive layout, and planning/task-created host callbacks.
  • The dashboard host discovers the view only when the plugin is installed and enabled. There is no /api/todos compatibility route or hardcoded Todo nav/view.

Use

Enable the plugin for the intended project, then select Todos from the plugin-discovered overflow, mobile More, or right-dock destination. Create lists and items, hide completed items, hand an item into Planning, or create a task from it. Requests use the plugin namespace and projectId, so lists remain isolated by project.