Detection: - Find() walks up from given directory looking for markers - Primary marker: config/town.json - Secondary marker: mayor/ directory - Follows symlinks using filepath.EvalSymlinks Functions: - Find, FindOrError: from given directory - FindFromCwd, FindFromCwdOrError: from current directory - IsWorkspace: check if directory is workspace root Closes gt-f9x.2 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>