2.5 KiB
2.5 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | ||
|---|---|---|---|---|---|---|---|---|
| 08-native-repository-provider | Native repository provider in task creation | completed | 2 |
|
plan.md | ../../specs/integrations/requirements/bitbucket-plugin.md |
Task 08: Native repository provider in task creation
Intent
Move native remote repository selection, branch listing, and pull-request inspection through repository-provider registry adapters without new host Bitbucket parsing.
Owned paths
apps/web/hooks/domains/integrations/use-remote-repositories.tsapps/web/hooks/domains/integrations/use-remote-repositories.test.tsxapps/web/hooks/domains/github/use-branches-by-url.tsapps/web/hooks/domains/github/use-branches-by-url.test.tsapps/web/hooks/domains/github/use-pr-info-by-url.tsapps/web/hooks/domains/github/use-pr-info-by-url.test.tsapps/web/components/task-create-dialog-types.tsapps/web/components/task-create-dialog-state.tsapps/web/components/task-create-dialog-state.test.tsapps/web/components/task-create-dialog-helpers.tsapps/web/components/task-create-dialog-helpers.test.tsapps/web/components/task-create-dialog-remote-repo-provider-tabs.tsxapps/web/components/task-create-dialog-remote-repo-provider-tabs.test.tsxapps/web/components/task-create-dialog-remote-repo-identity.tsapps/web/components/task-create-dialog-remote-repo-identity.test.ts
Dependencies
Tasks 01 and 04.
Acceptance
- Registry adapters drive built-in and plugin repository discovery, branch selection, and URL inspection; unknown self-managed URLs no longer default to GitLab.
- Provider-neutral state uses
remoteUrlwhile preservinggithubUrlcaller compatibility during migration. - Plugin-inspected URLs produce a complete descriptor for backend validation, including Cloud/DC custom host and exact clone URL behavior.
Verification
cd apps/web && pnpm test -- hooks/domains/integrations/use-remote-repositories.test.tsx hooks/domains/github/use-branches-by-url.test.ts hooks/domains/github/use-pr-info-by-url.test.ts components/task-create-dialog-helpers.test.ts components/task-create-dialog-remote-repo-provider-tabs.test.tsx components/task-create-dialog-remote-repo-identity.test.ts
cd apps/web && pnpm run typecheck
cd apps && pnpm --filter @kandev/web lint
Risks
Provider hint alone is untrusted. Preserve legacy callers while ensuring a plugin provider descriptor—not a host Bitbucket parser—crosses the backend boundary.