Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 2.92 KB

CONTRIBUTING.md

File metadata and controls

103 lines (71 loc) · 2.92 KB

Contributing to Shepherd

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.

Table of Contents

Code of Conduct

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.

How to Contribute

Reporting Bugs

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

Suggesting Enhancements

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.

Contributing Code

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add new feature').
  5. Push to the branch (git push origin feature-branch).
  6. Open a pull request.

Development Setup

To set up the project for development:

  1. Clone your forked repository:

    git clone https://github.com/<your-username>/shepherd.git
    cd shepherd
  2. Install dependencies:

    npm install
  3. Run tests:

    npm run test

To incrementally compile the source code while developing, run: sh npm run build:watch

Running e2e Tests

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:

  1. 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.

Style Guide

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.

Pull Request Process

  1. Ensure your changes pass all tests and lint checks.
  2. Write a clear and descriptive title and description for your pull request.
  3. Link to any relevant issues.
  4. Wait for the maintainers to review your pull request. They may suggest changes.
  5. Make requested changes and update the pull request.

Thank you for contributing to Shepherd!