2.6 KiB
2.6 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 11-shared-local-remote-selector | Tab-free repository source chooser | done | 7 |
|
plan.md | ../../specs/tasks/system-design/attach-workspace-sources.md |
Task 11: Tab-free repository source chooser
Acceptance
- Task creation retains Repo / Remote / None, its state semantics, and existing test IDs. Add sources does not render a second segmented mode component.
- Add sources presents one Add repository menu with Workspace repository, Local Git repository, and Remote repository. It reuses the combined saved/discovered picker and the provider-backed/pasted-URL picker; Add folder remains available only when supported.
- Adding another kind never removes configured rows, validation state, or mixed-batch payload data.
- Phone triggers and source-kind menu rows provide an actual 44px touch target.
Verification
cd apps && pnpm --filter @kandev/web test -- --run \
components/task-create-dialog-repo-chips.test.tsx \
components/task/add-workspace-sources/add-workspace-sources-dialog.test.tsx \
components/workspace-source-picker/workspace-source-state.test.ts
cd apps/web && pnpm run typecheck
cd apps && pnpm --filter @kandev/web exec eslint \
components/task-create-dialog-source-mode.tsx \
components/task-create-dialog-repo-chips.tsx \
components/task/add-workspace-sources/add-workspace-sources-dialog.tsx \
--max-warnings=0
Files likely touched
apps/web/components/task-create-dialog-source-mode.tsxapps/web/components/task-create-dialog-repo-chips.tsxapps/web/components/task-create-dialog-remote-repo-chips.tsxapps/web/components/task/add-workspace-sources/add-workspace-sources-dialog.tsxapps/web/components/task/add-workspace-sources/add-workspace-sources-dialog.test.tsxapps/web/components/workspace-source-picker/apps/web/components/task-create-dialog-*.test.tsx
Dependencies
Task 06.
Inputs
- Spec: What repository-kind requirements and mixed-source scenarios.
- Plan: Frontend → Shared source picker and Mobile design contract.
- Patterns:
WorkspaceRepoChips,RemoteRepoChip,useDiscoverReposEffect, and the existing create-taskSourceModeSwitch.
Output contract
- Update only this task file to
in_progresswhen starting anddoneafter acceptance and verification pass. - Return a compact handoff capsule: accepted behaviors, base/head SHA, changed files and entry points, targeted command results, risk tags, and any uncertainty.
- Do not update
plan.md; the planner serializes shared-plan status.