Thank you for considering contributing to mdstfu! Contributions are essential for making this project better, and your support is greatly appreciated. Here's a guide to help you get started.
- Code of Conduct
- Getting Started
- Building the Project
- Running Tests
- Making a Pull Request
- Issue Guidelines
- Commit Guidelines
By participating in this project, you agree to abide by our Code of Conduct. Please review it to understand the expectations for all contributors.
Ensure you have the following installed:
- Node.js (>= 14.x)
- npm (>= 7.x)
- Git
- Fork and Clone the Repository:
git clone https://github.com/colack/mdstfu.git
cd mdstfu
- Install Dependencies:
npm install
- Verify the Setup by running the tests to make sure everything works:
npm test
Now, you're ready to start contributing!
To build the project, run:
npm run build
The build output will be in the dist/
directory. Ensure you rebuild after making changes to TypeScript files in the src/
directory.
We use Jest for testing. To run the tests, use:
npm test
To run tests in watch mode during development, use:
npm run test:watch
Before submitting any code, make sure that all tests pass.
To make a contribution:
- Create a Feature Branch:
git checkout -b feature/my-feature
- Make your Changes:
- Follow the Commit Guidelines.
- Add tests for any new features or bug fixes.
- Run
npm test
to ensure everything works.
- Push Your Changes:
git push origin feature/my-feature
- Submit a Pull Request:
- Go to the pull requests tab on the repository.
- Submit a new pull request with a description of your changes.
When submitting a issue, please include:
- A clear title and description.
- Steps to reproduce the issue, if applicable.
- Relevant screenshots, code snippets, or error messages.
To maintain consistency, please follow these commit guidelines:
- Format:
type(scope): message
- type: Describes the kind of change (e.g.,
feat
,fix
,docs
,style
,refactor
,test
,chore
). - scope: Optional, describes what part of the project is affected.
- message: A brief description of the change.
- type: Describes the kind of change (e.g.,
Examples:
feat(parser): add support for custom delimiters
fix(parser): handle empty strings
Thank you for your contributions! 🎉