Thank you for considering contributing to ShotAPI! This document outlines the process for contributing to the project.
By participating in this project, you agree to be respectful and considerate of others. We aim to foster an inclusive and welcoming community.
If you find a bug, please create an issue with the following information:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment details (OS, browser, etc.)
Feature suggestions are welcome! Create an issue with:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant context or examples
- If possible, outline a potential implementation approach
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests to ensure they pass (
npm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
To set up the project locally:
-
Clone the repository
git clone https://github.com/yourusername/shotapi.git cd shotapi -
Install dependencies
npm install
-
Create a
.envfile based on.env.examplecp .env.example .env
-
Run the development server
npm run dev
We use ESLint for linting. Please make sure your code passes linting before submitting a PR:
npm run lintWe use Jest for testing. Run tests with:
npm testWhen adding new features, please include appropriate tests.
If your changes affect the API or functionality, please update the documentation accordingly, including:
- README.md
- API documentation in public/docs.html
- JSDoc comments in the code
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.
Thank you for contributing!