Thank you for your interest in contributing to this repository. Please read this guide carefully before submitting any contributions.
This repository serves as a personal reference guide for CLI design principles, synthesized from authoritative industry sources. It is primarily maintained for use in my own CLI projects.
While contributions may be considered, please understand that there is a strong possibility they will not be accepted unless they:
- Align with existing source material - Corrections or clarifications that better represent the original sources (clig.dev, Heroku, Atlassian, GNU)
- Add authoritative sources - New references from well-established industry leaders that complement existing principles
- Fix errors - Typos, broken links, or factual inaccuracies
- Improve clarity - Better examples or explanations that maintain the original intent
- Personal opinions or preferences not backed by authoritative sources
- New principles or patterns not found in the referenced materials
- Significant restructuring or reorganization
- Features or patterns specific to particular frameworks or languages
- Expansion beyond the scope of general CLI design principles
- Check existing content - Ensure your contribution isn't already covered
- Reference sources - All contributions must cite authoritative sources
- Maintain tone - Keep the concise, practical style of existing documentation
- Respect scope - This is a synthesis, not an encyclopedia
This project follows Conventional Commits v1.0.0.
<type>: <description>
[optional body]
[optional footer(s)]
feat: New content or featuresfix: Corrections to existing contentdocs: Documentation only changesstyle: Formatting, missing semi-colons, etc.refactor: Restructuring without changing meaningchore: Maintenance tasks
fix: correct GNU standards exit code range
docs: add missing source attribution for progress indicators
feat: add terminal capabilities pattern from clig.dev
- Fork the repository
- Create a feature branch (
git checkout -b fix/typo-in-principles) - Commit your changes using conventional commits
- Push to your fork
- Open a Pull Request with:
- Clear description of the change
- Reference to source material
- Explanation of why it improves the guide
Your PR should:
- Have a clear, descriptive title
- Reference the source material being corrected or added
- Maintain existing formatting and structure
- Include only related changes
- Pass any automated checks
If you're unsure whether a contribution would be accepted, please open an issue first to discuss your proposed changes.
By contributing, you agree that your contributions will be licensed under the same license as this project.
Remember: This repository aims to be a concise, authoritative synthesis of CLI design best practices. Quality and accuracy are prioritized over quantity.