Contributing Guide
We welcome contributions to cmark-writer! This guide outlines the process for contributing to the project.
Getting Started
Fork the repository on GitHub
Clone your fork to your local machine
Set up the development environment:
bashgit clone https://github.com/YOUR-USERNAME/cmark-writer.git cd cmark-writer cargo build cargo test
Development Workflow
Making Changes
Create a new branch for your feature or bugfix:
bashgit checkout -b feature/your-feature-name
Make your changes following the coding standards
Add tests for your changes where applicable
Update documentation as needed
Testing
Before submitting, make sure all tests pass:
bash
# Run all tests
cargo test
# Run specific tests
cargo test -- test_name
# Run tests with the gfm feature enabled
cargo test --features gfm
Documentation
When adding new features, please update the documentation:
- Add inline code documentation with doc comments
- Update the README.md if necessary
- Consider adding examples
Pull Request Process
- Push your changes to your fork on GitHub
- Create a Pull Request from your branch to the main repository
- Describe your changes in the PR description, including:
- What the PR adds or fixes
- Any breaking changes
- Testing approach
- Address review feedback if requested
Coding Standards
- Follow the Rust style guidelines
- Use meaningful variable and function names
- Add doc comments to public APIs
- Keep functions focused on a single responsibility
- Format code with
cargo fmt
before committing
Bug Reports and Feature Requests
If you find a bug or have a feature request, please open an issue on GitHub:
- For bugs, include steps to reproduce, expected behavior, and actual behavior
- For feature requests, describe the feature and why it would be valuable
License
By contributing to cmark-writer, you agree that your contributions will be licensed under the project's MIT License.