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
Setting up your development environment
1. Fork and Clone
# Fork the repository on GitHub first
git clone https://github.com/YOUR_USERNAME/solidis.git
cd solidis
2. Install Dependencies
# Install all dependencies
npm install
3. Build the Project
# Build the TypeScript code
npm run build
4. Run Tests
# Make sure all tests pass
npm test
Development 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-name
2
Make Your Changes
Follow the code style guidelines and write tests for your changes
3
Test Your Changes
Ensure all tests pass and add new tests if needed
npm test
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 your branch and create a pull request
git push origin feature/your-feature-name
# Then create a PR on GitHub
Code Quality Guidelines
Standards to follow when contributing code
TypeScript Best Practices
- •Use strict typing and avoid
anytypes where possible - •Avoid type casting with
asunless absolutely necessary - •Provide comprehensive type definitions for all public APIs
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
- •Ensure existing tests continue to pass
- •Include edge cases and error scenarios in tests
Pull Request Guidelines
What to include in your pull request
PR Description
Provide a clear description of the changes and their purpose:
- •What problem does this solve?
- •How does it solve the problem?
- •Are there any breaking changes?
- •Reference any related issues
Documentation
Update documentation to reflect your changes, including README, API docs, and code comments.
Commit Messages
Follow conventional commit format:
feat: add new feature
fix: resolve bug in parser
docs: update API reference
test: add integration tests
perf: improve connection pooling
Join the Community
Connect with other contributors and get help
