Thank you for considering contributing to Shepherd! By contributing, you help improve the tool for everyone. Here are some guidelines to help you get started.
- Code of Conduct
- How to Contribute
- Development Setup
- Running e2e Tests
- Style Guide
- Pull Request Process
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
If you find a bug, please create an issue and include the following:
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots or logs if applicable
Enhancements are welcome! To suggest an enhancement:
- Check if the enhancement is already reported by searching the issues.
- Open an issue and describe:
- The current state and the enhancement you suggest.
- Why you think this enhancement would be useful.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
To set up the project for development:
-
Clone your forked repository:
git clone https://github.com/<your-username>/shepherd.git cd shepherd
-
Install dependencies:
npm install
-
Run tests:
npm run test
To incrementally compile the source code while developing, run:
sh npm run build:watch
To ensure the robustness of your contributions, end-to-end (e2e) tests are crucial. Here's how to run e2e tests in the Shepherd project:
- Run the e2e tests:
npm run e2e-test
This command builds the project and runs the e2e tests. Ensure all e2e tests pass before finalizing your pull request. If you add new features, consider adding corresponding e2e tests.
Follow the code style defined by the project:
- Use ESLint for linting. Run
npm run lint
to check for linting errors. - Run
npm run fix-lint
to automatically fix linting issues.
- Ensure your changes pass all tests and lint checks.
- Write a clear and descriptive title and description for your pull request.
- Link to any relevant issues.
- Wait for the maintainers to review your pull request. They may suggest changes.
- Make requested changes and update the pull request.
Thank you for contributing to Shepherd!