@prmichaelsen/acp-visualizer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/agent/commands/acp.clarification-address.md +417 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +437 -0
- package/agent/commands/acp.clarifications-research.md +326 -0
- package/agent/commands/acp.command-create.md +432 -0
- package/agent/commands/acp.design-create.md +286 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.handoff.md +270 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +546 -0
- package/agent/commands/acp.package-create.md +895 -0
- package/agent/commands/acp.package-info.md +212 -0
- package/agent/commands/acp.package-install.md +539 -0
- package/agent/commands/acp.package-list.md +280 -0
- package/agent/commands/acp.package-publish.md +541 -0
- package/agent/commands/acp.package-remove.md +293 -0
- package/agent/commands/acp.package-search.md +307 -0
- package/agent/commands/acp.package-update.md +361 -0
- package/agent/commands/acp.package-validate.md +540 -0
- package/agent/commands/acp.pattern-create.md +386 -0
- package/agent/commands/acp.plan.md +587 -0
- package/agent/commands/acp.proceed.md +882 -0
- package/agent/commands/acp.project-create.md +675 -0
- package/agent/commands/acp.project-info.md +312 -0
- package/agent/commands/acp.project-list.md +226 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +227 -0
- package/agent/commands/acp.project-update.md +307 -0
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +407 -0
- package/agent/commands/acp.resume.md +239 -0
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +293 -0
- package/agent/commands/acp.sync.md +364 -0
- package/agent/commands/acp.task-create.md +500 -0
- package/agent/commands/acp.update.md +302 -0
- package/agent/commands/acp.validate.md +466 -0
- package/agent/commands/acp.version-check-for-updates.md +276 -0
- package/agent/commands/acp.version-check.md +191 -0
- package/agent/commands/acp.version-update.md +289 -0
- package/agent/commands/command.template.md +339 -0
- package/agent/commands/git.commit.md +526 -0
- package/agent/commands/git.init.md +514 -0
- package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
- package/agent/commands/tanstack-cloudflare.tail.md +275 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +154 -0
- package/agent/design/local.dashboard-layout-routing.md +288 -0
- package/agent/design/local.data-model-yaml-parsing.md +310 -0
- package/agent/design/local.search-filtering.md +331 -0
- package/agent/design/local.server-api-auto-refresh.md +235 -0
- package/agent/design/local.table-tree-views.md +299 -0
- package/agent/design/local.visualizer-requirements.md +349 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/index/.gitkeep +0 -0
- package/agent/index/acp.core.yaml +137 -0
- package/agent/index/local.main.template.yaml +37 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +302 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
- package/agent/package.template.yaml +86 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/pattern.template.md +382 -0
- package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
- package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
- package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
- package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
- package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
- package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
- package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
- package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
- package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
- package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
- package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
- package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
- package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
- package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
- package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
- package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
- package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
- package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
- package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
- package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
- package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
- package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
- package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
- package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
- package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
- package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
- package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
- package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
- package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
- package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
- package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
- package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
- package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
- package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
- package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
- package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
- package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
- package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
- package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
- package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
- package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
- package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +145 -0
- package/agent/schemas/package.schema.yaml +276 -0
- package/agent/scripts/acp.common.sh +1781 -0
- package/agent/scripts/acp.install.sh +333 -0
- package/agent/scripts/acp.package-create.sh +924 -0
- package/agent/scripts/acp.package-info.sh +288 -0
- package/agent/scripts/acp.package-install.sh +893 -0
- package/agent/scripts/acp.package-list.sh +311 -0
- package/agent/scripts/acp.package-publish.sh +420 -0
- package/agent/scripts/acp.package-remove.sh +348 -0
- package/agent/scripts/acp.package-search.sh +156 -0
- package/agent/scripts/acp.package-update.sh +517 -0
- package/agent/scripts/acp.package-validate.sh +1018 -0
- package/agent/scripts/acp.uninstall.sh +85 -0
- package/agent/scripts/acp.version-check-for-updates.sh +98 -0
- package/agent/scripts/acp.version-check.sh +47 -0
- package/agent/scripts/acp.version-update.sh +176 -0
- package/agent/scripts/acp.yaml-parser.sh +985 -0
- package/agent/scripts/acp.yaml-validate.sh +205 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
- package/agent/tasks/task-1-{title}.template.md +244 -0
- package/bin/visualize.mjs +84 -0
- package/package.json +48 -0
- package/src/components/ExtraFieldsBadge.tsx +15 -0
- package/src/components/FilterBar.tsx +33 -0
- package/src/components/Header.tsx +23 -0
- package/src/components/MilestoneTable.tsx +167 -0
- package/src/components/MilestoneTree.tsx +84 -0
- package/src/components/ProgressBar.tsx +20 -0
- package/src/components/SearchInput.tsx +22 -0
- package/src/components/Sidebar.tsx +54 -0
- package/src/components/StatusBadge.tsx +23 -0
- package/src/components/StatusDot.tsx +12 -0
- package/src/components/TaskList.tsx +36 -0
- package/src/components/ViewToggle.tsx +31 -0
- package/src/lib/config.ts +8 -0
- package/src/lib/file-watcher.ts +43 -0
- package/src/lib/search.ts +48 -0
- package/src/lib/types.ts +73 -0
- package/src/lib/useAutoRefresh.ts +31 -0
- package/src/lib/useCollapse.ts +31 -0
- package/src/lib/useFilteredData.ts +55 -0
- package/src/lib/yaml-loader-real.spec.ts +47 -0
- package/src/lib/yaml-loader.spec.ts +201 -0
- package/src/lib/yaml-loader.ts +265 -0
- package/src/routeTree.gen.ts +140 -0
- package/src/router.tsx +10 -0
- package/src/routes/__root.tsx +75 -0
- package/src/routes/api/watch.ts +29 -0
- package/src/routes/index.tsx +115 -0
- package/src/routes/milestones.tsx +50 -0
- package/src/routes/search.tsx +84 -0
- package/src/routes/tasks.tsx +63 -0
- package/src/services/progress-database.service.ts +46 -0
- package/src/styles.css +25 -0
- package/tsconfig.json +24 -0
- package/vite.config.ts +16 -0
- package/vitest.config.ts +27 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
packages:
|
|
2
|
+
tanstack-cloudflare:
|
|
3
|
+
source: https://github.com/prmichaelsen/acp-tanstack-cloudflare.git
|
|
4
|
+
package_version: 1.2.0
|
|
5
|
+
commit: a7b38da5276d55bdd95e5afdde61bb17dfff52a3
|
|
6
|
+
installed_at: 2026-03-14T08:25:49Z
|
|
7
|
+
updated_at: 2026-03-14T08:25:49Z
|
|
8
|
+
files:
|
|
9
|
+
patterns:
|
|
10
|
+
- name: tanstack-cloudflare.zod-schema-validation.md
|
|
11
|
+
version: 0.0.0
|
|
12
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
13
|
+
modified: false
|
|
14
|
+
checksum: sha256:adb86721ba843d6aa0732d27bf2d67492e5771e3830f219303ea1b9172191ca6
|
|
15
|
+
- name: tanstack-cloudflare.wrangler-configuration.md
|
|
16
|
+
version: 0.0.0
|
|
17
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
18
|
+
modified: false
|
|
19
|
+
checksum: sha256:11bdd08fe4a069979d82eca9b6914e424bcf7de2cbdac87308aca15ec33f0e64
|
|
20
|
+
- name: tanstack-cloudflare.websocket-manager.md
|
|
21
|
+
version: 0.0.0
|
|
22
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
23
|
+
modified: false
|
|
24
|
+
checksum: sha256:3d02635ac5d36acc9a210a16349c52f86fb029c97bc3c708c970655b5e298583
|
|
25
|
+
- name: tanstack-cloudflare.user-scoped-collections.md
|
|
26
|
+
version: 0.0.0
|
|
27
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
28
|
+
modified: false
|
|
29
|
+
checksum: sha256:6469b71782f1e313d9d1042fe165e7976976537a43a259810f7a4089b60a8fe3
|
|
30
|
+
- name: tanstack-cloudflare.unified-header.md
|
|
31
|
+
version: 0.0.0
|
|
32
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
33
|
+
modified: false
|
|
34
|
+
checksum: sha256:766223cd53a8ec7706b924709d924351e1717c57b0ced19c15815472d8742549
|
|
35
|
+
- name: tanstack-cloudflare.toast-system.md
|
|
36
|
+
version: 0.0.0
|
|
37
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
38
|
+
modified: false
|
|
39
|
+
checksum: sha256:8ac5edd2b69b656775fdba1ac484b1c10218b97afde1547b6d1fb3ba5297e3a5
|
|
40
|
+
- name: tanstack-cloudflare.third-party-api-integration.md
|
|
41
|
+
version: 0.0.0
|
|
42
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
43
|
+
modified: false
|
|
44
|
+
checksum: sha256:c083463330b2fabb154349a7ab9c68791fd0a436e91b4b859cc1a8f9451385e3
|
|
45
|
+
- name: tanstack-cloudflare.ssr-preload.md
|
|
46
|
+
version: 0.0.0
|
|
47
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
48
|
+
modified: false
|
|
49
|
+
checksum: sha256:24758145fe8f65ff6cf1d44121157b7ccafbab4935631439b3a173162d964b2f
|
|
50
|
+
- name: tanstack-cloudflare.slide-over.md
|
|
51
|
+
version: 0.0.0
|
|
52
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
53
|
+
modified: false
|
|
54
|
+
checksum: sha256:093c6fd89cfaf999b0f3a742654ab11459fdfc341bbc8f0e27bf2e154cad505e
|
|
55
|
+
- name: tanstack-cloudflare.searchable-settings.md
|
|
56
|
+
version: 0.0.0
|
|
57
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
58
|
+
modified: false
|
|
59
|
+
checksum: sha256:e7dde5140043f1d22e719c62ed6f57d854b76bad826108c98667c81a46e75515
|
|
60
|
+
- name: tanstack-cloudflare.scheduled-tasks.md
|
|
61
|
+
version: 0.0.0
|
|
62
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
63
|
+
modified: false
|
|
64
|
+
checksum: sha256:0b82838b6f2c6e7f070786f8cc013ed06c25453c0ba5a7e3769f940724adef48
|
|
65
|
+
- name: tanstack-cloudflare.rate-limiting.md
|
|
66
|
+
version: 0.0.0
|
|
67
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
68
|
+
modified: false
|
|
69
|
+
checksum: sha256:6d1226c8316850cc35bad1e155e9a80d8b9866e227ca6cd0d49b7bc400ccc63a
|
|
70
|
+
- name: tanstack-cloudflare.provider-adapter.md
|
|
71
|
+
version: 0.0.0
|
|
72
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
73
|
+
modified: false
|
|
74
|
+
checksum: sha256:2d220ec327ca9b8b6cc4ec22c79554f64afce275639ad4c209bdb7f62bc9c7e9
|
|
75
|
+
- name: tanstack-cloudflare.pill-input.md
|
|
76
|
+
version: 0.0.0
|
|
77
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
78
|
+
modified: false
|
|
79
|
+
checksum: sha256:77cbb33bef218673ca48711c05a3f82cc0f2a426e33f77ac0031c5119ec15eb8
|
|
80
|
+
- name: tanstack-cloudflare.pagination.md
|
|
81
|
+
version: 0.0.0
|
|
82
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
83
|
+
modified: false
|
|
84
|
+
checksum: sha256:e82186a7e63e404b304294b8a4bf2009a7936149ca0229e81b7d62f6601485a2
|
|
85
|
+
- name: tanstack-cloudflare.og-metadata.md
|
|
86
|
+
version: 0.0.0
|
|
87
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
88
|
+
modified: false
|
|
89
|
+
checksum: sha256:77a215b9921b225580fbd2111d10b8a68b44ad942ad3ff4a31b65ea35137b236
|
|
90
|
+
- name: tanstack-cloudflare.oauth-token-refresh.md
|
|
91
|
+
version: 0.0.0
|
|
92
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
93
|
+
modified: false
|
|
94
|
+
checksum: sha256:5aa2142e895feb14632bca0adbea10cef65b886f993ba512a9b55d7901531d1f
|
|
95
|
+
- name: tanstack-cloudflare.notifications-engine.md
|
|
96
|
+
version: 0.0.0
|
|
97
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
98
|
+
modified: false
|
|
99
|
+
checksum: sha256:27f99c12451aec7dd41844560c2eaadf2aafb3d02300fed0a8db0e5e892f20fe
|
|
100
|
+
- name: tanstack-cloudflare.nextjs-to-tanstack-routing.md
|
|
101
|
+
version: 0.0.0
|
|
102
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
103
|
+
modified: false
|
|
104
|
+
checksum: sha256:c07222752febcd9841a8257d830ab45a28812805f223432798e2a362878e9af5
|
|
105
|
+
- name: tanstack-cloudflare.modal.md
|
|
106
|
+
version: 0.0.0
|
|
107
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
108
|
+
modified: false
|
|
109
|
+
checksum: sha256:7b3bb372452a0f6f7a6402af9dc68b1d88271f799640a031540d237080a3df5d
|
|
110
|
+
- name: tanstack-cloudflare.mention-suggestions.md
|
|
111
|
+
version: 0.0.0
|
|
112
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
113
|
+
modified: false
|
|
114
|
+
checksum: sha256:ddac4f68f056a0109b58dc684454c6a17811d9008fcb71e8f6e105ca4b49ca40
|
|
115
|
+
- name: tanstack-cloudflare.markdown-content.md
|
|
116
|
+
version: 0.0.0
|
|
117
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
118
|
+
modified: false
|
|
119
|
+
checksum: sha256:53d6f1da3683bd103f15206b9590a27c4d6203dbab96500ce3d308456db12a66
|
|
120
|
+
- name: tanstack-cloudflare.lightbox.md
|
|
121
|
+
version: 0.0.0
|
|
122
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
123
|
+
modified: false
|
|
124
|
+
checksum: sha256:4ffb50d603be7634f64fb40493eb645600f61d0126548b329286f6503aaedbfc
|
|
125
|
+
- name: tanstack-cloudflare.library-services.md
|
|
126
|
+
version: 0.0.0
|
|
127
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
128
|
+
modified: false
|
|
129
|
+
checksum: sha256:add205df35786610db4f30eeae5c22e8fef522d5e6da260cf7201a2e10d93995
|
|
130
|
+
- name: tanstack-cloudflare.image-carousel.md
|
|
131
|
+
version: 0.0.0
|
|
132
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
133
|
+
modified: false
|
|
134
|
+
checksum: sha256:418d2754d500e4f26b6e806ab1dd2fe5a88f21c9d3e84ebe386a6f3b8611bee2
|
|
135
|
+
- name: tanstack-cloudflare.global-search-context.md
|
|
136
|
+
version: 0.0.0
|
|
137
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
138
|
+
modified: false
|
|
139
|
+
checksum: sha256:e4639607f5a03fecf96cc56a441de680055ceac88140997ed9eb90b28216f8e8
|
|
140
|
+
- name: tanstack-cloudflare.form-controls.md
|
|
141
|
+
version: 0.0.0
|
|
142
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
143
|
+
modified: false
|
|
144
|
+
checksum: sha256:f8c617ae392a39d83c9a24cb88d22bcdf88648285f0fffee5bd82ea176b5e2d1
|
|
145
|
+
- name: tanstack-cloudflare.firebase-storage.md
|
|
146
|
+
version: 0.0.0
|
|
147
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
148
|
+
modified: false
|
|
149
|
+
checksum: sha256:af119009a4acf318a87478626234a4fc61d76787ff60f800105e04e89f88bab7
|
|
150
|
+
- name: tanstack-cloudflare.firebase-firestore.md
|
|
151
|
+
version: 0.0.0
|
|
152
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
153
|
+
modified: false
|
|
154
|
+
checksum: sha256:671ec50be46027dabb0c2498d85e2b5aa30f443534206f0252adb6b910478ee5
|
|
155
|
+
- name: tanstack-cloudflare.firebase-auth.md
|
|
156
|
+
version: 0.0.0
|
|
157
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
158
|
+
modified: false
|
|
159
|
+
checksum: sha256:b2b1701e5e1b34597e68fce18079288cf5a94440f0963e38f2ac723c4b860a14
|
|
160
|
+
- name: tanstack-cloudflare.firebase-anonymous-sessions.md
|
|
161
|
+
version: 0.0.0
|
|
162
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
163
|
+
modified: false
|
|
164
|
+
checksum: sha256:b0a3334caef04ddbb8bb8266e8e6c4a834f067447a8ed953530362e3f4975d08
|
|
165
|
+
- name: tanstack-cloudflare.fcm-push.md
|
|
166
|
+
version: 0.0.0
|
|
167
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
168
|
+
modified: false
|
|
169
|
+
checksum: sha256:31a1f4fa755cca2ddc9fb7df460d101fdfdaf3f618940a0151f9c4d962e28750
|
|
170
|
+
- name: tanstack-cloudflare.expander.md
|
|
171
|
+
version: 0.0.0
|
|
172
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
173
|
+
modified: false
|
|
174
|
+
checksum: sha256:1cca83093335dec65c70e4940f0cab42f139244d784dd27493b2509f21a19072
|
|
175
|
+
- name: tanstack-cloudflare.email-service.md
|
|
176
|
+
version: 0.0.0
|
|
177
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
178
|
+
modified: false
|
|
179
|
+
checksum: sha256:89191ee26f1151706cac35f31545d76f153199922e404d73352fa8f59bd05828
|
|
180
|
+
- name: tanstack-cloudflare.durable-objects-websocket.md
|
|
181
|
+
version: 0.0.0
|
|
182
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
183
|
+
modified: false
|
|
184
|
+
checksum: sha256:03f55b506bd0535c1f3aae769223becd9fc1ed436eb2d7f120d2c26bda061c23
|
|
185
|
+
- name: tanstack-cloudflare.confirmation-tokens.md
|
|
186
|
+
version: 0.0.0
|
|
187
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
188
|
+
modified: false
|
|
189
|
+
checksum: sha256:2886bee926fff0c0395a7c159257b1b741f933165126fdf44774b850db037108
|
|
190
|
+
- name: tanstack-cloudflare.chat-engine.md
|
|
191
|
+
version: 0.0.0
|
|
192
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
193
|
+
modified: false
|
|
194
|
+
checksum: sha256:f5fffc5f7c973b6b9e69d857b585afea7aa8e22f33c7275aa39eb4b5e48c0a99
|
|
195
|
+
- name: tanstack-cloudflare.card-and-list.md
|
|
196
|
+
version: 0.0.0
|
|
197
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
198
|
+
modified: false
|
|
199
|
+
checksum: sha256:97061ed34876e499559bca7af5c04bb0003328fb706a55ec014077ac600474f2
|
|
200
|
+
- name: tanstack-cloudflare.auth-session-management.md
|
|
201
|
+
version: 0.0.0
|
|
202
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
203
|
+
modified: false
|
|
204
|
+
checksum: sha256:bc4d32b53bbb6651daeb2fe532c0f43dd972fa939dea45bd7fc73f0eba95a512
|
|
205
|
+
- name: tanstack-cloudflare.api-route-handlers.md
|
|
206
|
+
version: 0.0.0
|
|
207
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
208
|
+
modified: false
|
|
209
|
+
checksum: sha256:d4ac07bb7453edd4493ca313c56a641c58fd8760a16741610d1ad0fc0da2b366
|
|
210
|
+
- name: tanstack-cloudflare.action-bar-item.md
|
|
211
|
+
version: 0.0.0
|
|
212
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
213
|
+
modified: false
|
|
214
|
+
checksum: sha256:d91fd67507ebfa7a304359124fc59c17f2906f6e70441863a491e54b1fc18bec
|
|
215
|
+
- name: tanstack-cloudflare.acl-permissions.md
|
|
216
|
+
version: 0.0.0
|
|
217
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
218
|
+
modified: false
|
|
219
|
+
checksum: sha256:769dae3dfc5dab520d5df259039a32db1e5d17082eef4a1060790d9f2e82ca46
|
|
220
|
+
commands:
|
|
221
|
+
- name: tanstack-cloudflare.tail.md
|
|
222
|
+
version: 0.0.0
|
|
223
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
224
|
+
modified: false
|
|
225
|
+
checksum: sha256:643d50910f50c3e7912488f4165cd0db92db53e12356efa15bac0161d100999e
|
|
226
|
+
- name: tanstack-cloudflare.deploy.md
|
|
227
|
+
version: 0.0.0
|
|
228
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
229
|
+
modified: false
|
|
230
|
+
checksum: sha256:66e1ab357c44cd26d356bc3e6ffe0b50d62bd36e9180f633a97b6b02d3de3e24
|
|
231
|
+
- name: git.init.md
|
|
232
|
+
version: 0.0.0
|
|
233
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
234
|
+
modified: false
|
|
235
|
+
checksum: sha256:2cd8bef13ba0278c3c3389631835aa4663a82c324bbb894aabd4299bb2370d53
|
|
236
|
+
- name: git.commit.md
|
|
237
|
+
version: 0.0.0
|
|
238
|
+
installed_at: 2026-03-14T08:25:56Z
|
|
239
|
+
modified: false
|
|
240
|
+
checksum: sha256:96249dee1a09f941f8ca2f072b53c90fa21fc34505fca4999d7c0c02982b3d02
|
|
241
|
+
designs:
|
|
242
|
+
scripts:
|
|
243
|
+
files:
|
|
244
|
+
indices:
|
|
245
|
+
acp-core:
|
|
246
|
+
source: https://github.com/prmichaelsen/agent-context-protocol.git
|
|
247
|
+
package_version: 5.18.3
|
|
248
|
+
installed_at: 2026-03-14T08:19:21Z
|
|
249
|
+
updated_at: 2026-03-14T08:19:21Z
|
|
250
|
+
files:
|
|
251
|
+
commands:
|
|
252
|
+
- name: acp.clarification-address.md
|
|
253
|
+
- name: acp.clarification-capture.md
|
|
254
|
+
- name: acp.clarification-create.md
|
|
255
|
+
- name: acp.clarifications-research.md
|
|
256
|
+
- name: acp.command-create.md
|
|
257
|
+
- name: acp.design-create.md
|
|
258
|
+
- name: acp.design-reference.md
|
|
259
|
+
- name: acp.handoff.md
|
|
260
|
+
- name: acp.index.md
|
|
261
|
+
- name: acp.init.md
|
|
262
|
+
- name: acp.package-create.md
|
|
263
|
+
- name: acp.package-info.md
|
|
264
|
+
- name: acp.package-install.md
|
|
265
|
+
- name: acp.package-list.md
|
|
266
|
+
- name: acp.package-publish.md
|
|
267
|
+
- name: acp.package-remove.md
|
|
268
|
+
- name: acp.package-search.md
|
|
269
|
+
- name: acp.package-update.md
|
|
270
|
+
- name: acp.package-validate.md
|
|
271
|
+
- name: acp.pattern-create.md
|
|
272
|
+
- name: acp.plan.md
|
|
273
|
+
- name: acp.proceed.md
|
|
274
|
+
- name: acp.project-create.md
|
|
275
|
+
- name: acp.project-info.md
|
|
276
|
+
- name: acp.project-list.md
|
|
277
|
+
- name: acp.project-remove.md
|
|
278
|
+
- name: acp.project-set.md
|
|
279
|
+
- name: acp.project-update.md
|
|
280
|
+
- name: acp.projects-restore.md
|
|
281
|
+
- name: acp.projects-sync.md
|
|
282
|
+
- name: acp.report.md
|
|
283
|
+
- name: acp.resume.md
|
|
284
|
+
- name: acp.sessions.md
|
|
285
|
+
- name: acp.status.md
|
|
286
|
+
- name: acp.sync.md
|
|
287
|
+
- name: acp.task-create.md
|
|
288
|
+
- name: acp.update.md
|
|
289
|
+
- name: acp.validate.md
|
|
290
|
+
- name: acp.version-check-for-updates.md
|
|
291
|
+
- name: acp.version-check.md
|
|
292
|
+
- name: acp.version-update.md
|
|
293
|
+
- name: git.commit.md
|
|
294
|
+
- name: git.init.md
|
|
295
|
+
patterns:
|
|
296
|
+
- name: bootstrap.template.md
|
|
297
|
+
- name: pattern.template.md
|
|
298
|
+
designs:
|
|
299
|
+
- name: design.template.md
|
|
300
|
+
- name: requirements.template.md
|
|
301
|
+
manifest_version: 1.0.0
|
|
302
|
+
last_updated: 2026-03-14T08:25:49Z
|
|
File without changes
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Milestone 1: Project Scaffold & Data Pipeline
|
|
2
|
+
|
|
3
|
+
**Goal**: Set up TanStack Start project with Tailwind and implement the complete data loading pipeline from YAML file to SSR-rendered React components
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: None
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone establishes the project foundation and the entire data flow: reading progress.yaml from disk, parsing it into typed TypeScript structures with agent-drift tolerance, serving it via SSR, and auto-refreshing when the file changes. By the end of this milestone, the app will load and display raw progress data in the browser with live updates.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. TanStack Start Project
|
|
19
|
+
- Initialized project with Vite, React, TanStack Start, TanStack Router
|
|
20
|
+
- Tailwind CSS configured with custom design tokens (status colors, fonts)
|
|
21
|
+
- TypeScript strict mode enabled
|
|
22
|
+
- Dev server runs with `npm run dev`
|
|
23
|
+
|
|
24
|
+
### 2. Data Model & Parser
|
|
25
|
+
- TypeScript interfaces for ProgressData, Milestone, Task, WorkEntry
|
|
26
|
+
- Lenient YAML parser with agent-drift handling (aliases, fuzzy status, extra fields)
|
|
27
|
+
- ProgressDatabaseService wrapping all data access
|
|
28
|
+
|
|
29
|
+
### 3. Server API & Auto-Refresh
|
|
30
|
+
- Server-side data loading via `beforeLoad`
|
|
31
|
+
- SSE endpoint for file change notifications
|
|
32
|
+
- useAutoRefresh hook for client-side live updates
|
|
33
|
+
- Configurable progress.yaml path
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Success Criteria
|
|
38
|
+
|
|
39
|
+
- [ ] `npm run dev` starts the dev server without errors
|
|
40
|
+
- [ ] Browser loads and displays parsed progress.yaml data
|
|
41
|
+
- [ ] Modifying progress.yaml triggers auto-refresh in browser
|
|
42
|
+
- [ ] Parser handles missing fields, unknown properties, and status variants without crashing
|
|
43
|
+
- [ ] SSR renders data on first page load (no loading spinner)
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Tasks
|
|
48
|
+
|
|
49
|
+
1. [Task 1: Initialize TanStack Start project](../tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md) - Scaffold project with Vite, Tailwind, routing
|
|
50
|
+
2. [Task 2: Implement data model & YAML parser](../tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md) - Types, parsing, drift handling
|
|
51
|
+
3. [Task 3: Build server API & data loading](../tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md) - ProgressDatabaseService, beforeLoad SSR
|
|
52
|
+
4. [Task 4: Add auto-refresh via SSE](../tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md) - File watcher, SSE endpoint, useAutoRefresh hook
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Testing Requirements
|
|
57
|
+
|
|
58
|
+
- [ ] YAML parser unit tests with real-world progress.yaml files
|
|
59
|
+
- [ ] Drift handling tests (unknown fields, aliases, fuzzy status)
|
|
60
|
+
- [ ] Server function returns valid ProgressData
|
|
61
|
+
- [ ] Dev server starts and responds
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
**Next Milestone**: [Milestone 2: Dashboard Views & Interaction](milestone-2-dashboard-views-interaction.md)
|
|
66
|
+
**Blockers**: None
|
|
67
|
+
**Notes**: All subsequent milestones depend on this data pipeline being solid
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Milestone {N}: {Descriptive Name}
|
|
2
|
+
|
|
3
|
+
**Goal**: [One-line objective that clearly states what this milestone achieves]
|
|
4
|
+
**Duration**: [Estimated time: e.g., "1-2 weeks", "3-5 days"]
|
|
5
|
+
**Dependencies**: [List prerequisite milestones or external dependencies, or "None"]
|
|
6
|
+
**Status**: Not Started | In Progress | Completed
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
[Provide a comprehensive description of what this milestone accomplishes and why it's important to the project. Explain how it fits into the overall project roadmap.]
|
|
13
|
+
|
|
14
|
+
**Example**: "This milestone establishes the foundational infrastructure for the project, including build system, database connections, and basic server setup. It creates the scaffolding that all future features will build upon."
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Deliverables
|
|
19
|
+
|
|
20
|
+
[List concrete, measurable outputs this milestone will produce. Be specific about what will exist when this milestone is complete.]
|
|
21
|
+
|
|
22
|
+
### 1. [Deliverable Category 1]
|
|
23
|
+
- Specific item 1
|
|
24
|
+
- Specific item 2
|
|
25
|
+
- Specific item 3
|
|
26
|
+
|
|
27
|
+
### 2. [Deliverable Category 2]
|
|
28
|
+
- Specific item 1
|
|
29
|
+
- Specific item 2
|
|
30
|
+
|
|
31
|
+
### 3. [Deliverable Category 3]
|
|
32
|
+
- Specific item 1
|
|
33
|
+
- Specific item 2
|
|
34
|
+
|
|
35
|
+
**Example**:
|
|
36
|
+
|
|
37
|
+
### 1. Project Structure
|
|
38
|
+
- New `project-name/` directory with organized subdirectories
|
|
39
|
+
- package.json with all metadata and scripts
|
|
40
|
+
- TypeScript configuration (tsconfig.json)
|
|
41
|
+
- Build system using esbuild
|
|
42
|
+
- Directory structure: src/, tests/, agent/
|
|
43
|
+
|
|
44
|
+
### 2. Core Dependencies
|
|
45
|
+
- @modelcontextprotocol/sdk installed and configured
|
|
46
|
+
- Database client libraries installed
|
|
47
|
+
- Development tools (TypeScript, testing framework)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Success Criteria
|
|
52
|
+
|
|
53
|
+
[Define objective, verifiable criteria that indicate this milestone is complete. Each criterion should be testable.]
|
|
54
|
+
|
|
55
|
+
- [ ] Criterion 1: [Specific, measurable condition]
|
|
56
|
+
- [ ] Criterion 2: [Specific, measurable condition]
|
|
57
|
+
- [ ] Criterion 3: [Specific, measurable condition]
|
|
58
|
+
- [ ] Criterion 4: [Specific, measurable condition]
|
|
59
|
+
- [ ] Criterion 5: [Specific, measurable condition]
|
|
60
|
+
|
|
61
|
+
**Example**:
|
|
62
|
+
- [ ] Project builds successfully (`npm run build` completes without errors)
|
|
63
|
+
- [ ] TypeScript compiles without errors (`npm run typecheck` passes)
|
|
64
|
+
- [ ] All dependencies install correctly (`npm install` succeeds)
|
|
65
|
+
- [ ] Basic server starts and responds to health check
|
|
66
|
+
- [ ] All tests pass (`npm test` succeeds)
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Key Files to Create
|
|
71
|
+
|
|
72
|
+
[List the specific files and directories that will be created during this milestone. Use a tree structure for clarity.]
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
project-root/
|
|
76
|
+
├── file1.ext
|
|
77
|
+
├── file2.ext
|
|
78
|
+
├── directory1/
|
|
79
|
+
│ ├── file3.ext
|
|
80
|
+
│ └── file4.ext
|
|
81
|
+
└── directory2/
|
|
82
|
+
├── subdirectory/
|
|
83
|
+
│ └── file5.ext
|
|
84
|
+
└── file6.ext
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Example**:
|
|
88
|
+
```
|
|
89
|
+
my-project/
|
|
90
|
+
├── package.json
|
|
91
|
+
├── tsconfig.json
|
|
92
|
+
├── esbuild.build.js
|
|
93
|
+
├── .gitignore
|
|
94
|
+
├── .env.example
|
|
95
|
+
├── README.md
|
|
96
|
+
├── src/
|
|
97
|
+
│ ├── index.ts
|
|
98
|
+
│ ├── server.ts
|
|
99
|
+
│ ├── types/
|
|
100
|
+
│ │ └── index.ts
|
|
101
|
+
│ └── utils/
|
|
102
|
+
│ └── logger.ts
|
|
103
|
+
└── tests/
|
|
104
|
+
└── setup.test.ts
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Tasks
|
|
110
|
+
|
|
111
|
+
[List the tasks that comprise this milestone. Reference task documents if they exist.]
|
|
112
|
+
|
|
113
|
+
1. [Task 1: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
114
|
+
2. [Task 2: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
115
|
+
3. [Task 3: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
116
|
+
4. [Task 4: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
117
|
+
|
|
118
|
+
**Example**:
|
|
119
|
+
1. [Task 1: Initialize Project Structure](../tasks/task-1-initialize-project-structure.md) - Set up directories and config files
|
|
120
|
+
2. [Task 2: Install Dependencies](../tasks/task-2-install-dependencies.md) - Install and configure npm packages
|
|
121
|
+
3. [Task 3: Create Basic Server](../tasks/task-3-create-basic-server.md) - Implement minimal MCP server
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Environment Variables
|
|
126
|
+
|
|
127
|
+
[If this milestone requires environment configuration, document it here:]
|
|
128
|
+
|
|
129
|
+
```env
|
|
130
|
+
# Category 1
|
|
131
|
+
VAR_NAME_1=example_value
|
|
132
|
+
VAR_NAME_2=example_value
|
|
133
|
+
|
|
134
|
+
# Category 2
|
|
135
|
+
VAR_NAME_3=example_value
|
|
136
|
+
VAR_NAME_4=example_value
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Example**:
|
|
140
|
+
```env
|
|
141
|
+
# Database Configuration
|
|
142
|
+
DATABASE_URL=postgresql://localhost:5432/mydb
|
|
143
|
+
DATABASE_POOL_SIZE=10
|
|
144
|
+
|
|
145
|
+
# API Configuration
|
|
146
|
+
API_KEY=your_api_key_here
|
|
147
|
+
API_URL=https://api.example.com
|
|
148
|
+
|
|
149
|
+
# Server Configuration
|
|
150
|
+
PORT=3000
|
|
151
|
+
NODE_ENV=development
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Testing Requirements
|
|
157
|
+
|
|
158
|
+
[Describe what testing should be in place by the end of this milestone:]
|
|
159
|
+
|
|
160
|
+
- [ ] Test category 1: [Description]
|
|
161
|
+
- [ ] Test category 2: [Description]
|
|
162
|
+
- [ ] Test category 3: [Description]
|
|
163
|
+
|
|
164
|
+
**Example**:
|
|
165
|
+
- [ ] Unit tests for core utilities
|
|
166
|
+
- [ ] Integration test for database connection
|
|
167
|
+
- [ ] Server initialization test
|
|
168
|
+
- [ ] Environment variable loading test
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Documentation Requirements
|
|
173
|
+
|
|
174
|
+
[List documentation that should be created or updated:]
|
|
175
|
+
|
|
176
|
+
- [ ] Document 1: [Description]
|
|
177
|
+
- [ ] Document 2: [Description]
|
|
178
|
+
- [ ] Document 3: [Description]
|
|
179
|
+
|
|
180
|
+
**Example**:
|
|
181
|
+
- [ ] README.md with project overview and quick start
|
|
182
|
+
- [ ] API documentation for core interfaces
|
|
183
|
+
- [ ] Development setup guide
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Risks and Mitigation
|
|
188
|
+
|
|
189
|
+
[Identify potential risks and how to address them:]
|
|
190
|
+
|
|
191
|
+
| Risk | Impact | Probability | Mitigation Strategy |
|
|
192
|
+
|------|--------|-------------|---------------------|
|
|
193
|
+
| [Risk 1] | High/Medium/Low | High/Medium/Low | [How to mitigate] |
|
|
194
|
+
| [Risk 2] | High/Medium/Low | High/Medium/Low | [How to mitigate] |
|
|
195
|
+
|
|
196
|
+
**Example**:
|
|
197
|
+
| Risk | Impact | Probability | Mitigation Strategy |
|
|
198
|
+
|------|--------|-------------|---------------------|
|
|
199
|
+
| Database connection issues | High | Medium | Provide clear error messages and connection testing utilities |
|
|
200
|
+
| Dependency conflicts | Medium | Low | Pin dependency versions and test thoroughly |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
**Next Milestone**: [Link to next milestone: milestone-{N+1}-{name}.md]
|
|
205
|
+
**Blockers**: [List any current blockers, or "None"]
|
|
206
|
+
**Notes**: [Any additional context or considerations]
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Milestone 2: Dashboard Views & Interaction
|
|
2
|
+
|
|
3
|
+
**Goal**: Build the complete dashboard UI with sidebar navigation, overview page, table/tree milestone views, search, and filtering
|
|
4
|
+
**Duration**: 1.5 weeks
|
|
5
|
+
**Dependencies**: M1 - Project Scaffold & Data Pipeline
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone transforms the raw data pipeline from M1 into a polished admin dashboard. It builds the application shell (sidebar, header, routing), the overview page, two milestone visualization views (table and tree), and the search/filtering system. By the end, users have a fully functional P0 visualizer.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Application Shell
|
|
19
|
+
- Root layout with sidebar navigation and header
|
|
20
|
+
- File-based routing for all pages
|
|
21
|
+
- Design tokens applied (dark theme, status colors, monospace data)
|
|
22
|
+
|
|
23
|
+
### 2. Overview Page
|
|
24
|
+
- Project metadata card (name, version, status, dates)
|
|
25
|
+
- Overall progress bar
|
|
26
|
+
- Milestone summary list with progress indicators
|
|
27
|
+
- Next steps and current blockers display
|
|
28
|
+
|
|
29
|
+
### 3. Milestone Views
|
|
30
|
+
- Sortable table view with @tanstack/react-table
|
|
31
|
+
- Expandable tree view with milestone → task hierarchy
|
|
32
|
+
- View toggle (table/tree) with shared filter state
|
|
33
|
+
- TaskList component with StatusDot and ExtraFieldsBadge
|
|
34
|
+
|
|
35
|
+
### 4. Search & Filtering
|
|
36
|
+
- Fuse.js search index across milestones, tasks, and extra fields
|
|
37
|
+
- Status filter bar (all/in_progress/not_started/completed)
|
|
38
|
+
- SearchBar in sidebar
|
|
39
|
+
- GlobalSearchContext for cross-component state
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Success Criteria
|
|
44
|
+
|
|
45
|
+
- [ ] Sidebar navigation works across all routes
|
|
46
|
+
- [ ] Overview page shows project metadata, progress, and next steps
|
|
47
|
+
- [ ] Table view renders milestones with sortable columns
|
|
48
|
+
- [ ] Tree view expands to show tasks per milestone
|
|
49
|
+
- [ ] Search returns fuzzy-matched results
|
|
50
|
+
- [ ] Status filter narrows visible milestones/tasks
|
|
51
|
+
- [ ] View toggle preserves filter state
|
|
52
|
+
- [ ] All views render via SSR (no loading spinners)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Tasks
|
|
57
|
+
|
|
58
|
+
1. [Task 5: Build dashboard layout & routing](../tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md) - Root layout, sidebar, header, design tokens
|
|
59
|
+
2. [Task 6: Build overview page](../tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md) - Project summary dashboard
|
|
60
|
+
3. [Task 7: Implement milestone table view](../tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md) - @tanstack/react-table with sorting
|
|
61
|
+
4. [Task 8: Implement milestone tree view](../tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md) - Expandable hierarchy with TaskList
|
|
62
|
+
5. [Task 9: Implement search & filtering](../tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md) - Fuse.js, GlobalSearchContext, FilterBar
|
|
63
|
+
6. [Task 10: Polish & integration testing](../tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md) - View toggle, error states, empty states
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Testing Requirements
|
|
68
|
+
|
|
69
|
+
- [ ] Component tests for StatusBadge, ProgressBar, FilterBar
|
|
70
|
+
- [ ] Table sorting works correctly
|
|
71
|
+
- [ ] Tree expand/collapse toggles
|
|
72
|
+
- [ ] Search returns expected results for known queries
|
|
73
|
+
- [ ] Filter narrows visible items correctly
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
**Next Milestone**: None (P0 complete)
|
|
78
|
+
**Blockers**: None
|
|
79
|
+
**Notes**: P1 features (kanban, activity timeline, GitHub remote, multi-project) would follow as M3
|