5.0 KiB
5.0 KiB
Task: Consolidate plugin navigation into project configuration
Identity
- Task ID: 20260831-consolidate-plugin-navigation-3d9a6c71
- Mode: Feature
- Branch: codex/20260831-consolidate-plugin-navigation-3d9a6c71-consolidate-plugin-navigation
- Worktree: /Users/inmanx/Documents/makelore-consolidate-plugin-navigation-3d9a6c71
- Base commit:
38f85f6b5e - Owner: codex
- Status: Completed
Scope
- Remove all plugin entries from the programming sidebar and make Project Configuration’s “插件服务” resource the single user-facing plugin surface.
- Combine Marketplace discovery, account/device plugin management, and current-project enablement/configuration as URL-backed “发现插件”, “我的插件”, and “项目启用” tabs.
- Preserve account acquisition, device installation, project enablement, Agent skill assignment, runtime authorization, and billing as independent lifecycle states.
- Keep
/plugin-marketplace,/my-plugins, and/project-pluginsas compatibility redirects into the appropriate Project Configuration tab. - Update focused unit tests, Electron E2E coverage, and README product-state documentation.
Intent And Constraints
- Reduce navigation duplication without changing Main-owned plugin contracts or
.makelore/project.jsonauthority. - Reuse the existing light visual system, Radix tabs/sheets, stores, and Host API clients; add no dependency or alternate backend path.
- Keep discovery/account/device data global even though its user-facing surface is nested under the active project’s configuration; project enablement and Agent assignment remain project-scoped.
- Do not silently acquire, download, enable, assign, authorize, or bill as a side effect of another action.
- Preserve unavailable/removed plugin IDs and explicit status messaging rather than inventing metadata or hiding retained configuration.
Outcome
- Removed the remaining global Plugin Center from the programming sidebar. Project Configuration now exposes one “插件服务” resource beside models, Skills, and knowledge files.
- Added one wider Plugin Services sheet with URL-backed “发现插件”, “我的插件”, and “项目启用” tabs. The resource card defaults to current-project enablement, while compatibility and in-product links can deep-link directly to discovery or the account/device library.
- Reused the existing Marketplace, Library, device installation, project plugin, and Agent Skill stores. Enabling a project plugin refreshes the Skill projection, but does not acquire, download, configure a backend, or assign a Skill.
- Preserved compatibility for saved/deep links:
/plugin-marketplace,/my-plugins, and/project-pluginsredirect to their corresponding Plugin Services tab. My Plugins discovery and project actions now target those tabs. - Reused semantic embedded
sectionvariants for all three tabs and removed the routed standalone Plugin Center container. - Updated README product-state copy and focused unit/Electron E2E coverage.
Verification
- Exact
pnpm@10.33.4was used for repository commands. pnpm run typecheck: passed.- Focused Vitest: 3 files / 19 tests passed.
pnpm test: 213 test files / 1,730 tests passed; 3 existing conditional tests skipped.pnpm run lint:check: passed with zero errors and five pre-existing warnings (Home/index.tsxhook dependency and fourMakelore/index.tsxFast Refresh warnings).pnpm run build:vite: passed for Renderer, Electron Main, Preload, and utility worker; existing dynamic-import and large-chunk warnings remain non-fatal.- Focused Electron E2E: 3/3 passed across Plugin Services discovery/account-device management, sidebar removal, and current-project enablement.
git diff --check: passed.
Follow-ups
- Canonical
.project-docsnavigation wording should be promoted only by a later Integration Gate; no plugin lifecycle, trust, billing, or backend contract changed.
Promotion Candidates
- Target canonical documents:
.project-docs/30-worklog/current-state.mdand.project-docs/20-architecture/module-map.md. - Proposal: record that Renderer exposes no standalone plugin sidebar destination; Project Configuration’s single Plugin Services sheet owns discovery, account/device management, and current-project enablement tabs beside models, Skills, and knowledge.
- Evidence: this task's source diff, 19 focused unit tests, the 1,730-test full unit suite, three focused Electron E2E flows, typecheck, lint, and production build.
- Future impact: new navigation, documentation, and E2E work should target
/project-config?resource=plugins&pluginTab=discover|mine|project; all standalone plugin routes are compatibility redirects only. - Semantic conflicts: none identified. The existing independent lifecycle and Main-owned trust boundaries remain unchanged.
- Human confirmation: not required for the factual promotion; the user explicitly approved this consolidation, but Integration Gate ownership is still required.