Contributing
Learn how to contribute to the Ucoder Insights project.
Contributing to Ucoder Insights
We welcome contributions from the community! Whether you are a developer, data enthusiast, or tester, there are many ways to get involved and help improve the core functionality of Ucoder Insights.
Contribution Scope
Our NPM packages are fully open-source and available on GitHub . However, please note that the UI (Dashboard) and Documentation repositories are currently closed-source and not open to public contributions at this time.
How to Contribute
Since contributions are restricted to our core NPM packages, here is how you can help:
Reporting Bugs and Issues
If you find a bug in the SDK or core package, or have a feature request, please open an issue on our GitHub repository.
- Check existing issues to avoid duplicates.
- Provide a clear and descriptive title.
- Include steps to reproduce the bug or a detailed use-case for the feature.
Standard Workflow
We gladly accept Pull Requests (PRs) for bug fixes, performance improvements, and new core features. Follow these steps to submit your PR:
Fork the repository
Click the "Fork" button on the top right of the Ucoder Insights Core Repository.
Clone your fork
git clone https://github.com/soumydip/ucoder_insight_coreCreate a branch
Create a new branch for your feature or bugfix.
git checkout -b feature/your-feature-nameMake your changes
Keep your changes focused and write clean, readable code.
Test your changes
Ensure that all existing tests pass and write new tests if necessary.
Commit your changes
Write clear and concise commit messages.
git commit -m "feat: add awesome new tracker capability"Open a Pull Request
Go to the original repository and open a PR against the main branch. Provide a detailed description of your changes.
Development Guidelines
To ensure code quality and consistency across the ucoder_insight_core package, please adhere to the following guidelines:
- TypeScript First: All new code should be written in TypeScript with proper type definitions.
- Linting and Formatting: Run our configured linters (e.g., ESLint, Prettier) before submitting a PR to maintain code style.
- Keep it Lightweight: As an analytics SDK, performance and bundle size are critical. Avoid adding heavy external dependencies unless absolutely necessary. Also ensure that the bundle size remains under 10KB (Gzip & Minified) to maintain optimal performance for users.
- Testing: Write unit tests for new features and bug fixes. Use Jest or the testing framework specified in the repository.
- Documentation: Update the README and any relevant documentation to reflect your changes. Clear documentation is essential for users and future contributors.
- Code Reviews: Be open to feedback and willing to make changes based on code review comments. Constructive criticism helps improve the overall quality of the project.
- Security: Avoid introducing security vulnerabilities. Follow best practices for secure coding, especially when handling user data or network requests.
- Commit Messages: Use conventional commit messages (e.g.,
feat:,fix:,docs:) to clearly indicate the purpose of each commit. - Branch Naming: Use descriptive branch names that reflect the purpose of the branch (e.g.,
feature/new-tracker,bugfix/fix-event-logging). - Stay Updated: Regularly pull changes from the main repository to keep your fork up-to-date and avoid merge conflicts.
Contribute Ucoder Insights Today! https://github.com/soumydip/ucoder_insight_core
Need Help?
If you have questions about contributing or need help setting up the project locally, feel free to reach out:
- Open a discussion in the GitHub repository.
- Contact our support team at support@ucoder.in.
Thank you for helping make Ucoder Insights better!