11 Commits

Author SHA1 Message Date
Yar Kravtsov
7f10e1ce8a feat(output): implement configurable color and emoji output
Add new output formatting system with flags for color and emoji control:
- Introduce OutputConfig and Writer structs for flexible output handling
- Add --colors and --emoji/--no-emoji global flags
- Refactor commands to use new Writer for consistent formatting
- Separate error content from presentation for better flexibility
2025-08-03 14:33:44 +03:00
Yar Kravtsov
dc524607fa fix: remove hardcoded branch names from push/pull operations
- Remove hardcoded "main" branch from git push and pull commands
- Let Git automatically detect and use current branch
- Add comprehensive tests for different branch names (main, master, develop)
- Fixes GitHub issue #14 where operations failed on repos using "master"
2025-08-01 06:45:56 +03:00
Yar Kravtsov
1e2c9704f3 refactor(errors): implement structured error handling for improved debugging 2025-06-03 07:58:21 +03:00
Yar Kravtsov
84c507828d fix(status): detect and report uncommitted changes in repository status, fixes #5 2025-05-25 07:35:16 +03:00
Yar Kravtsov
905d88e0cf feat: simplify README and improve init command 2025-05-24 08:52:27 +03:00
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