Contributing to Solidis
Solidis is an open-source project and we welcome contributions from the community. Here's how you can help make Solidis better.
Ways to Contribute
Code Contributions
Fix bugs, add features, or improve performance
Bug fixesNew featuresPerformance optimizationsRefactoring
Documentation
Improve docs, add examples, or fix typos
API documentationTutorialsCode examplesTranslations
Testing
Add tests or improve test coverage
Unit testsIntegration testsPerformance testsEdge cases
Bug Reports
Report issues with detailed information
Bug reportsFeature requestsPerformance issuesSecurity concerns
Development Setup
CI runs on Node.js 22; the tests need a Redis server they may flush
1. Fork and Clone
# Fork the repository on GitHub first
git clone https://github.com/YOUR_USERNAME/solidis.git
cd solidis2. Install Dependencies
npm install3. Build the Project
npm run build4. Run Tests
npm run lint:check # lint, formatting and the type tests
SOLIDIS_TEST_PORT=6380 npm test # a disposable server: the tests flush itDevelopment Workflow
Step-by-step guide to making contributions
1
Create a Feature Branch
Create a new branch for your feature or bug fix
git checkout -b feature/your-feature-name2
Make Your Changes
Follow the code style guidelines and write tests for your changes
3
Test Your Changes
Make sure all tests pass, and add tests where needed
4
Commit Your Changes
Write clear, descriptive commit messages
git add .
git commit -m "feat: add new feature"5
Push and Create Pull Request
Push the branch to your fork and open a pull request against main
git push origin feature/your-feature-nameCode Quality Guidelines
Standards to follow when contributing code
TypeScript Best Practices
- ·Use strict typing and avoid any types where possible
- ·Avoid type casting with as unless absolutely necessary
- ·Type every public API
Performance Considerations
- ·Consider performance implications of your changes
- ·Avoid unnecessary allocations and copying
- ·Use benchmarks to validate performance improvements
Dependencies
- ·Avoid adding new dependencies unless absolutely necessary
- ·Keep the bundle size minimal
- ·Justify any new dependencies in your PR description
Testing
- ·Write tests for all new features and bug fixes
- ·Keep existing tests passing
- ·Include edge cases and error scenarios in tests
Pull Request Guidelines
What to include in your pull request
Commit Messages
Follow conventional commit format:
feat: add new feature
fix: resolve bug in parser
docs: update API reference
test: add integration tests
perf: speed up reply parsingJoin the Community
Connect with other contributors and get help
