Files
CleanArchitecture-template/.brain/.agent/skills/engineering-advanced-skills/git-worktree-manager/references/port-allocation-strategy.md
2026-03-12 15:17:52 +07:00

1.0 KiB

Port Allocation Strategy

Objective

Allocate deterministic, non-overlapping local ports for each worktree to avoid collisions across concurrent development sessions.

Default Mapping

  • App HTTP: 3000
  • Postgres: 5432
  • Redis: 6379
  • Stride per worktree: 10

Formula by slot index n:

  • app = 3000 + (10 * n)
  • db = 5432 + (10 * n)
  • redis = 6379 + (10 * n)

Examples:

  • Slot 0: 3000/5432/6379
  • Slot 1: 3010/5442/6389
  • Slot 2: 3020/5452/6399

Collision Avoidance

  1. Read .worktree-ports.json from existing worktrees.
  2. Skip any slot where one or more ports are already assigned.
  3. Persist selected mapping in the new worktree.

Operational Notes

  • Keep stride >= number of services to avoid accidental overlaps when adding ports later.
  • For custom service sets, reserve a contiguous block per worktree.
  • If you also run local infra outside worktrees, offset bases to avoid global collisions.
{
  "app": 3010,
  "db": 5442,
  "redis": 6389
}