feat: Track main projects independently from issue worktrees (IW-148) #236
No reviewers
Labels
No labels
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli!236
Loading…
Reference in a new issue
No description provided.
Delete branch "IW-148"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds project registration support to the dashboard so projects appear even when they have zero active issue worktrees. This solves the chicken-and-egg problem where users couldn't create worktrees from the dashboard for a project that had never had one.
Problem
Projects were only derived from worktree paths — a project with no worktrees was invisible in the dashboard. Users had to fall back to the CLI (
./iw start <issue-id>) to bootstrap their first worktree.Solution
ProjectRegistrationvalue object,ServerState.projectsmapProjectRegistrationServicefor register/deregister logic,MainProjectService.resolveProjects()merges registered + derived projectsPUT /api/v1/projects/:projectNameendpoint,ServerClient.registerProject(), auto-pruning of stale registrations./iw registerregister.scalacontext-aware (project from main branch, worktree+project from issue branch),start.scalaauto-registers parent project,projects.scalaincludes registered projectsKey decisions
Test plan
./iw registerfrom main project dir./iw start <issue-id>and verify project appears in dashboardPhase PRs
🤖 Generated with Claude Code