First off, thank you for considering contributing to QuickMark! Your contributions are what make this project better. Whether you're reporting bugs, adding new features, or improving documentation, we appreciate your help.
If you find a bug, please open an issue and include as much detail as possible:
- Steps to reproduce the issue
- The expected behavior
- The actual behavior
- Screenshots or logs, if applicable
- Your environment (OS, Rust version, etc.)
We welcome suggestions for improvements. Please open an issue and provide:
- A clear and descriptive title
- A detailed description of the proposed enhancement
- Any relevant context or examples
If you'd like to contribute code to QuickMark, please follow these steps:
-
Fork the Repository
- Click the "Fork" button at the top of this repository.
-
Clone Your Fork
git clone https://github.com/your-username/quickmark.git cd quickmark -
Set Up Git Hooks
Configure git to use our custom hooks for branch name enforcement:
git config --local core.hooksPath .githooks
-
Create a Branch
Use descriptive branch names that include the issue number:
Format: type/issue-number-short-description
feature/123-add-md025-rule- New featuresfix/456-line-ending-detection- Bug fixesdocs/789-update-contributing-guide- Documentation changeschore/101-update-dependencies- Maintenance tasksrefactor/202-rule-system-cleanup- Code improvements
git checkout -b feature/123-your-feature-nameIf working on something without an existing issue, please create one first to get an issue number.
- Make Changes
- implement your feature or bugfix.
- Ensure your code follows the project’s coding standards.
- Add or update tests as necessary.
- Run tests to ensure everything works correctly.
- Commit Changes
Follow the Conventional Commits standard for commit messages:
Format: type(scope): description
Examples:
feat(md025): add single H1 rule implementationfix(parser): handle edge case in heading detectiondocs(contributing): update branch naming guidelinestest(md013): add comprehensive line length tests
If your commit relates to a specific issue, include Fixes #123 in the commit body:
git add .
git commit -m "feat(md025): add single H1 rule implementation
Implements the MD025 rule that ensures documents have only one H1 heading.
Includes comprehensive tests and documentation.
Fixes #123"- Push to Your Fork
git push origin feature-or-bugfix-description- Open a Pull Request
- Go to the original repository on GitHub.
- Click on the "Pull Requests" tab and then the "New Pull Request" button.
- Provide a clear title and description of your changes.
- Follow Rust’s standard formatting with rustfmt.
- Write meaningful commit messages.
- Ensure your code is well-documented.
QuickMark is in the early stages of porting rules from markdownlint. If you're interested in helping with this effort:
- Check the list of rules that need to be ported in the issues section.
- Follow the guidelines in existing rule implementations.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
If you have any questions or need assistance, feel free to open an issue or contact the maintainers.
Thank you for your interest in contributing to QuickMark! We look forward to your contributions and appreciate your support in improving the project.