Contributing
We love contributions! Here's how you can help improve omni-rest.
Getting Started
To contribute, you'll need Node.js 18+, npm/pnpm, Git, and a Prisma project for testing.
Setup Repository
Clone the repository and install dependencies:
git clone https://github.com/Abdulllah321/omni-rest.git
cd omni-rest
npm installBuild the Project
npm run buildRun Tests
npm testStart Development Mode
npm run devDevelopment Workflow
Making Changes
Create a feature branch
git checkout -b feature/your-feature-nameMake your changes
Edit the source code inside src/. Be sure to follow our code style guidelines below.
Write/Update tests
Add tests for your features in the test/ directory.
Build and Test
npm run build
npm testCommit
Use descriptive commit messages:
git commit -m "feat: add bulk update support for all adapters"Code Style Guidelines
We follow these conventions:
- TypeScript: Use TypeScript for all code (no
anyunless absolutely necessary) - Naming:
camelCasefor functions/variables,PascalCasefor classes/types - JSDoc: Add JSDoc comments for public functions
- Functions: Keep functions focused and under 50 lines when possible
- Async/Await: Use async/await, not callbacks
- Imports: Group imports rationally (external, internal, types)
Areas for Contribution
Submitting Changes
Pull Request Process
Update Documentation
Changes in docs/ and README.md must be updated if applicable.
Add Tests
New features must be accompanied by new tests.
Update Changelog
Add an entry to CHANGELOG.md.
Build & Test
Ensure npm run build && npm test passes successfully.
Create PR
Submit a Pull Request with a clear title and description using our PR template.
Your PR will be reviewed for Code Quality, Testing, Documentation, Performance, and Compatibility before merging.
Reporting Bugs & Feature Requests
Please use GitHub Issues with the provided templates to report bugs or request features. Ensure you provide a minimal reproduction repository or code snippet for bugs.
License
By contributing, you agree your code will be licensed under the MIT License.
Thank you for contributing to omni-rest!