6 Commits

Author SHA1 Message Date
Yar Kravtsov
d730007fb3 feat: add directory support and .lnk tracking
- Add directory management support alongside individual files

- Implement .lnk tracking file to manage files and directories

- Update filesystem validation to allow directories

- Add MoveDirectory method for handling directory operations

- Use git rm --cached to properly handle directory removal

- Add comprehensive tests for directory operations

- Update README with directory support documentation

- All 20 integration tests passing

Breaking: None (backward compatible)

Resolves: Git limitation of not tracking directories
2025-05-24 08:25:34 +03:00
Yar Kravtsov
88b3fbd238 feat: implement phase 1 sync functionality
- Add lnk status command to show repository sync status

- Add lnk push command for smart staging, committing, and pushing

- Add lnk pull command with automatic symlink restoration

- Add comprehensive sync functionality to git and core packages

- Add 5 new integration tests for sync commands (17 total tests)

- Update README with sync workflow examples and documentation

- Support commits ahead/behind tracking relative to remote

- Implement change detection to avoid empty commits

- Add graceful error handling for missing remotes

Closes: Phase 1 sync implementation
2025-05-24 07:20:49 +03:00
Yar Kravtsov
2e4995eeb1 feat: implement comprehensive edge case handling for init command - Make lnk init idempotent and safe with repository protection, idempotent remote handling, comprehensive tests, and updated documentation 2025-05-24 06:49:06 +03:00
Yar Kravtsov
11cca86f4d feat: set 'main' as default branch instead of 'master' 2025-05-24 06:36:26 +03:00
Yar Kravtsov
f640d6d11e feat: add --remote flag to init command for adding origin remote 2025-05-24 06:26:43 +03:00
Yar Kravtsov
9088bbda50 feat: initial Lnk CLI implementation 2025-05-24 06:17:52 +03:00