Before contributing, please:
- Read the README to understand the project
- Familiarize yourself with the tech stack (React, TypeScript, Material-UI, Vite)
- Check existing issues, PRs, and discussions to avoid duplicate work
- Ensure you have Node 20+ installed
- Clone the repo and run
npm install - Copy
.env.exampleto.env— it defaults to the test API, which is available for contributors to develop against - Run
npm run devto start the development server
Note: The backend is not open source. Contributors develop against the public test API.
When opening an issue, use the appropriate template:
- Bug Report - Report bugs or unexpected behavior. Include steps to reproduce, expected vs actual behavior, and environment details.
- Feature Request - Suggest new features or improvements. Explain the motivation and proposed solution.
- Blank Issue - For issues that don't fit the above templates.
For security vulnerabilities, do not create a public issue. Report them privately via GitHub Security Advisories.
- Branch off of
testand targettestwith your PR - Ensure there are no conflicts before submitting
- Write clean, well-documented code
- Follow existing code patterns and architecture
- Update documentation if applicable
- Do NOT add comments that are over-explanatory or redundant
- When making your changes, ask yourself: will this raise the value of the repository?
- Ensure
npm run buildpasses before submitting
- Push your branch to the repository
- Open a PR targeting the
testbranch - Fill out the PR template:
- Summary: Clear description of changes
- Related Issues: Link issues using
Fixes #123orCloses #456 - Type of Change: Select bug fix, new feature, refactor, documentation, or other
- Testing: Confirm manual testing performed
- Checklist: Verify code style, self-review, and documentation
- Assign
anderdcandlandyndevto your PR for review
Apply appropriate labels to help categorize and track your contribution:
bug- Bug fixesfeature- New feature additionsenhancement- Improvements to existing featuresrefactor- Code refactoring without functionality changesdocumentation- Documentation updates
- Follow repository conventions (commenting style, variable naming, etc.)
- Use sensible component decomposition to keep files manageable
- Write clean, readable, maintainable code
- Avoid modifying unrelated files
- Avoid adding unnecessary dependencies
- Ensure
npm run buildpasses (TypeScript compilation + Vite build)
This project uses Prettier and ESLint for consistent code style. A GitHub Action will auto-format PRs, but you can run formatting locally:
npm run format # Format all files
npm run lint:fix # ESLint with auto-fixPurpose: Testing and staging for main
Restrictions:
- Requires pull request
- Requires build to pass
- Requires one approval from either
@landyndevor@anderdc
Purpose: Production-ready code
Restrictions:
- Only maintainers can update
By contributing to Gittensor UI, you agree that your contributions will be licensed under the project's license.
Thank you for contributing to Gittensor UI and helping advance open source software development!