- cmdInit (--init) now substitutes EDITOR_PATH, PAGER_PATH, and
WORK_PATH instead of leaving them as literal strings
- Installer now substitutes WORK_PATH and always creates personal
and work directories regardless of community cheatsheet choice
- When community cheatsheets are declined, the community cheatpath
is commented out in the generated config
- config.New() skips nonexistent cheatpaths with a warning instead
of hard-erroring on EvalSymlinks failure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add .gitattributes to force LF in mock files (Windows autocrlf)
- Fix parse.go: detect line endings from content instead of runtime.GOOS
- Add fail-fast: false to CI matrix; trigger on all branch pushes
- Skip chmod-based tests on Windows (permissions work differently)
- Use filepath.Join for expected paths in Windows path tests
- Use platform-appropriate invalid paths in error tests
- Add Windows absolute path test case for ValidateSheetName
- Skip Unix-specific integration tests on Windows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Resolve symlinks in temp dir paths (macOS /var -> /private/var)
- Pre-create non-empty community dir to ensure clone fails reliably
regardless of network access on CI runners
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>