You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: human-readable worktree folder names
Replace cryptic base36 IDs with readable names for worktree directories:
- Worktree folders now use adjective-landscape pattern (e.g., "golden-meadow")
- Project folders now use the sanitized project name (e.g., "lumpos-saas")
Before: ~/.21st/worktrees/mksuo7x8o4j231wz/mkt3o6tuipqprfwl/
After: ~/.21st/worktrees/lumpos-saas/golden-meadow/
Backward compatible: existing worktrees continue to work via dual-lookup
strategy in resolveProjectPathFromWorktree().
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: address PR review feedback
- Add short projectId suffix to sanitized project names to prevent
slug collisions (e.g., "My Project" and "my_project" now produce
distinct folder names like "my-project-abc123" vs "my-project-def456")
- Truncate sanitized project names to 50 chars to avoid filesystem
path length limits
- Add database index on chats.worktree_path for faster lookups in
resolveProjectPathFromWorktree()
- Document TOCTOU race condition as acceptable (180k combinations,
git worktree add fails atomically on collision)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: remove projectId suffix from project folder names
Slug collisions (e.g., "My Project" and "my_project" → "my-project")
are safe because resolveProjectPathFromWorktree() resolves via the full
chats.worktreePath (unique per chat), not the project folder name alone.
Keeps the 50-char truncation for filesystem safety.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
0 commit comments