Yar Kravtsov
43b68bc071
fix(init): prevent data loss when reinitializing with existing content
2025-07-30 10:41:03 +03:00
Yar Kravtsov
ab97fa86dc
chore(brew): move lnk formula to core Homebrew repository
2025-07-29 12:29:09 +03:00
Yar Kravtsov
4cd8191805
style: standardize code formatting and whitespace
v0.4.0
2025-07-29 09:04:57 +03:00
Yar Kravtsov
6830c06eb4
docs(README): enhance usage examples and feature descriptions
2025-07-29 08:59:39 +03:00
Yar Kravtsov
8a29b7fe43
feat(add): implement dry-run mode and enhance output formatting
2025-07-29 08:56:33 +03:00
Yar Kravtsov
a6852e5ad5
feat(add): implement recursive file addition with progress tracking
2025-07-29 08:47:14 +03:00
Yar Kravtsov
36d76c881c
feat(add): implement multiple file addition with atomic operation
2025-07-29 08:32:33 +03:00
Yar Kravtsov
6de387797e
chore(gitignore): refine file exclusions for better repo management
2025-07-29 08:14:51 +03:00
Yar Kravtsov
9cbad5e593
Merge pull request #10 from reneleonhardt/chore/update-actions
...
ci: update github-actions
2025-07-28 14:20:31 +03:00
Rene Leonhardt
150e8adf8b
ci: update github-actions
2025-07-28 09:10:51 +02:00
Yar Kravtsov
4b11563bdf
Update README.md
2025-06-03 15:06:15 +03:00
Yar Kravtsov
b476ce503b
docs(README): refine project description and highlight key benefits
2025-06-03 15:02:34 +03:00
Yar Kravtsov
ae9cc175ce
feat(bootstrap): add automatic environment setup with bootstrap scripts
...
Implement bootstrap functionality for streamlined dotfiles setup:
- Add 'bootstrap' command to run setup scripts manually
- Auto-execute bootstrap on 'init' with remote (--no-bootstrap to skip)
- Update README with bootstrap usage and examples
- Extend tests to cover bootstrap scenarios
v0.3.0
2025-06-03 08:33:59 +03:00
Yar Kravtsov
1e2c9704f3
refactor(errors): implement structured error handling for improved debugging
v0.2.2
2025-06-03 07:58:21 +03:00
Yar Kravtsov
3cba309c05
refactor(core): simplify Lnk creation with functional options pattern
2025-06-03 06:50:52 +03:00
Yar Kravtsov
3e6b426a19
test(cmd): improve test coverage for file storage and .lnk tracking
2025-05-27 08:33:23 +03:00
Yar Kravtsov
02f342b02b
refactor(core): simplify path handling and remove redundant generateRepoName function
2025-05-27 08:00:04 +03:00
Yar Kravtsov
92f2575090
fix: preserve directory structure for common files and fix display paths
v0.2.1
2025-05-26 09:23:46 +03:00
Yar Kravtsov
0f74723a03
docs(README): update examples for host-specific configurations and usage patterns
2025-05-26 08:38:21 +03:00
Yar Kravtsov
093cc8ebe7
feat(multihost): add support for host-specific configurations
...
Implement multihost functionality allowing separate management of common and host-specific dotfiles. Add new commands and flags for handling host-specific files, update core logic for file storage and tracking, and enhance documentation to reflect new capabilities.
v0.2.0
2025-05-26 08:26:06 +03:00
Yar Kravtsov
ff3cddc065
docs: Update README.md
2025-05-26 07:58:29 +03:00
Yar Kravtsov
4a275ce4ca
feat(cmd): add 'list' command to display managed files
...
Implements a new 'list' command that shows all files and directories managed by lnk, improving visibility and user experience.
fixes #4
v0.1.0
2025-05-26 05:59:33 +03:00
Yar Kravtsov
69c1038f3e
Merge pull request #6 from yarlson/alert-autofix-4
...
Potential fix for code scanning alert no. 4: Workflow does not contain permissions
2025-05-26 05:46:31 +03:00
Yar Kravtsov
c670ac1fd8
Potential fix for code scanning alert no. 4: Workflow does not contain permissions
...
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-05-26 05:44:46 +03:00
Yar Kravtsov
27196e3341
docs(README): remove outdated technical details for accuracy
2025-05-25 07:50:47 +03:00
Yar Kravtsov
84c507828d
fix(status): detect and report uncommitted changes in repository status, fixes #5
v0.0.5
2025-05-25 07:35:16 +03:00
Yar Kravtsov
d02f112200
fix(core): remove unnecessary Windows drive letter check in getRelativePath
2025-05-24 18:13:03 +03:00
Yar Kravtsov
f96bfb6ce0
fix: prevent file loss when multiple files have same basename
...
Fixes #2 : https://github.com/yarlson/lnk/issues/2
Previously, files with the same basename (e.g., a/config.json and b/config.json)
would overwrite each other in the repository, causing data loss. The second file
would completely replace the first, and removing files would fail with 'no such
file or directory' errors.
Changes:
- Store files using unique names based on full relative paths (slashes → underscores)
- Track full relative paths in .lnk file instead of just basenames
- Generate repository names from relative paths to prevent collisions
- Update symlink restoration to work with new path-based system
- Add comprehensive tests for basename collision scenarios
This ensures each file maintains its unique content and can be managed
independently, eliminating the data loss issue.
v0.0.4
2025-05-24 18:10:20 +03:00
Yar Kravtsov
7007ec64f2
refactor(test): update test commands to include all packages recursively
2025-05-24 11:39:20 +03:00
Yar Kravtsov
ec6ad6b0d0
refactor(test): update test commands to include all packages
2025-05-24 11:37:57 +03:00
Yar Kravtsov
e7f316ea6e
ci: update test command to include all packages in CI and release workflows
2025-05-24 11:37:13 +03:00
Yar Kravtsov
09d67f181e
refactor(tests): reorganize test files for improved structure and modularity
2025-05-24 11:35:40 +03:00
Yar Kravtsov
3a34e4fb37
refactor(cmd): centralize output formatting with printf helper function
2025-05-24 11:30:55 +03:00
Yar Kravtsov
fc0b567e9f
refactor(cmd): improve testability and error handling in CLI commands
2025-05-24 11:28:16 +03:00
Yar Kravtsov
61a9cc8c88
feat: enhance CLI output with colorful and informative messages
v0.0.3
2025-05-24 10:13:00 +03:00
Yar Kravtsov
1e2728fe33
feat(install): enhance installer script robustness and flexibility
2025-05-24 09:56:51 +03:00
Yar Kravtsov
13657a8142
feat(release): enhance Homebrew integration and security
v0.0.2
2025-05-24 09:45:31 +03:00
Yar Kravtsov
3ebcae47d0
refactor(release): reorganize installation instructions for clarity
v0.0.1
2025-05-24 09:40:01 +03:00
Yar Kravtsov
ffcff4a8c5
ci: upgrade GoReleaser action to v6 in CI and validate workflows
2025-05-24 09:35:09 +03:00
Yar Kravtsov
37a49827f6
ci: update GoReleaser action to v6 for improved release process
2025-05-24 09:33:26 +03:00
Yar Kravtsov
c1e4107ea9
feat: integrate Homebrew tap and enhance release process
2025-05-24 09:31:37 +03:00
Yar Kravtsov
398d011270
feat: implement CI/CD pipeline and release automation
2025-05-24 09:20:43 +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
8ece50c5d7
docs: add MIT LICENSE file and proper linking - Add standard MIT license with copyright, update README to link to LICENSE file, complete repository licensing
2025-05-24 07:00:06 +03:00
Yar Kravtsov
4c3431b253
docs: showcase --remote flag in examples - Update Quick Start and examples to use 'lnk init -r' instead of manual git remote setup, better demonstrating built-in functionality
2025-05-24 06:56:37 +03:00
Yar Kravtsov
05922644a7
docs: strategic positioning based on competitive analysis - Position lnk as the missing middle between simple/unsafe and complex/overwhelming tools. Add comprehensive comparison with chezmoi, Mackup, Home Manager, Dotbot, and yadm. Emphasize safe simplicity, Git-native workflow, and zero-dependency advantages.
2025-05-24 06:54:12 +03:00
Yar Kravtsov
31ac8a4afa
docs: rewrite README with developer-first UX/DX - Lead with value proposition, quick start, technical credibility, comparison table, FAQ, and realistic workflows for immediate adoption
2025-05-24 06:52:01 +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