lnk is an opinionated personal project designed to meet specific workflow needs.
While contributions may be considered, please note:
- This project reflects personal preferences and workflows
- There is no guarantee that contributions will be accepted
- Features and changes are driven by the maintainer's needs
- The project may not follow conventional open source practices
If you find lnk useful, you're welcome to:
- Fork it for your own needs
- Report bugs via GitHub issues
- Share ideas, though implementation is at maintainer's discretion
This project follows the Conventional Commits specification for commit messages.
type[(optional scope)]: description
[optional body]
[optional footer(s)]
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code
- refactor: A code change that neither fixes a bug nor adds a feature
- test: Adding missing tests or correcting existing tests
- chore: Changes to the build process or auxiliary tools
feat: add support for multiple link mappings
fix: prevent race condition during link creation
docs: add examples to README
feat(adopt): allow adopting entire directories
fix!: change config file format to JSON
BREAKING CHANGE: config files must now use .lnk.json extension
This project follows the principles outlined in cpplain/cli-design.
- Obvious Over Clever: Make the most intuitive path the easiest to follow
- Helpful Over Minimal: Provide clear guidance and helpful error messages
- Consistent Over Special: Follow established CLI conventions
- Human-First, Machine-Friendly: Prioritize human usability while ensuring scriptability
- Use clear, descriptive command names that are unambiguous in context
- Provide comprehensive help text with examples
- Support
--dry-runfor all destructive operations - Use consistent flag naming across commands
- Include helpful error messages that guide users to solutions
- Ensure all commands work both interactively and in scripts
- clig.dev - Command Line Interface Guidelines
- Heroku CLI Style Guide
- GNU Standards for Command Line Interfaces
Thank you for your understanding.