Skip to content

Latest commit

 

History

History
95 lines (63 loc) · 3.22 KB

File metadata and controls

95 lines (63 loc) · 3.22 KB

Contributing to CLI Design Guidelines

Thank you for your interest in contributing to this repository. Please read this guide carefully before submitting any contributions.

Purpose and Scope

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:

  1. Align with existing source material - Corrections or clarifications that better represent the original sources (clig.dev, Heroku, Atlassian, GNU)
  2. Add authoritative sources - New references from well-established industry leaders that complement existing principles
  3. Fix errors - Typos, broken links, or factual inaccuracies
  4. Improve clarity - Better examples or explanations that maintain the original intent

What Will NOT Be Accepted

  • 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

Before Contributing

  1. Check existing content - Ensure your contribution isn't already covered
  2. Reference sources - All contributions must cite authoritative sources
  3. Maintain tone - Keep the concise, practical style of existing documentation
  4. Respect scope - This is a synthesis, not an encyclopedia

Commit Message Convention

This project follows Conventional Commits v1.0.0.

Format

<type>: <description>

[optional body]

[optional footer(s)]

Types

  • feat: New content or features
  • fix: Corrections to existing content
  • docs: Documentation only changes
  • style: Formatting, missing semi-colons, etc.
  • refactor: Restructuring without changing meaning
  • chore: Maintenance tasks

Examples

fix: correct GNU standards exit code range

docs: add missing source attribution for progress indicators

feat: add terminal capabilities pattern from clig.dev

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b fix/typo-in-principles)
  3. Commit your changes using conventional commits
  4. Push to your fork
  5. Open a Pull Request with:
    • Clear description of the change
    • Reference to source material
    • Explanation of why it improves the guide

Pull Request Guidelines

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

Questions?

If you're unsure whether a contribution would be accepted, please open an issue first to discuss your proposed changes.

License

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.