Contributing Guide
How to contribute to the NarraNexus project
Overview
NarraNexus is an open-source project that welcomes contributions from the community. Whether you are fixing bugs, adding features, improving documentation, or creating new modules, your contributions help make the platform better for everyone.
Getting Started
- Fork the repository on GitHub and clone your fork locally.
- Set up the development environment following the Development Setup guide.
- Create a feature branch from
mainfor your changes. - Make your changes with clear, focused commits.
- Submit a pull request back to the main repository with a description of your changes.
Contribution Guidelines
- Follow the existing code style and conventions. Python code uses Black formatting and Ruff linting. TypeScript/React code uses ESLint and Prettier.
- Write tests for new functionality. The backend uses pytest and the frontend uses Vitest.
- Keep pull requests focused on a single concern. Large, multi-topic PRs are harder to review and more likely to have merge conflicts.
- Update documentation when changing user-facing behavior or adding new features.
Code Review Process
All pull requests undergo code review before merging. Maintainers will review for correctness, style, test coverage, and documentation. Feedback is provided through GitHub review comments. Address review feedback by pushing additional commits to your branch -- do not force-push during review.
Community
Join the project's discussion channels to ask questions, share ideas, and coordinate with other contributors. Bug reports and feature requests can be filed as GitHub issues. We aim to respond to all contributions within a few business days.