How to Contribute
Follow these steps to make your first contribution to Anoneurx. Every line of code matters.
Fork & Clone
Fork the repository on GitHub, then clone it to your local machine. Install dependencies and set up your environment.
git clone https://github.com/your-username/anoneurx.git cd anoneurx npm install
Create a Branch
Create a feature branch from the main branch. Use descriptive, prefixed names for easy identification.
git checkout -b feature/your-feature-name # or git checkout -b fix/bug-description
Make Changes
Write clean, tested code following our conventions. Run the dev server and test suite before committing.
# Run development server npm run dev # Run tests npm test # Lint your code npm run lint
Submit PR
Push your branch and open a Pull Request with a clear title, description, and linked issue numbers.
git add . git commit -m "feat: add new feature description" git push origin feature/your-feature-name
Code Standards
Follow these conventions to keep the codebase consistent and maintainable.
TypeScript
Use strict types. Avoid `any`. Define interfaces for all data structures.
Components
Small, focused components. Use composition. Max 200 lines per file.
Naming
PascalCase for components, camelCase for functions, UPPER_CASE for constants.
Testing
Write unit tests for utilities and integration tests for features.
Accessibility
Use semantic HTML, ARIA labels, keyboard navigation support.
Performance
Lazy load routes. Memoize expensive computations. Optimize re-renders.
Development Environment
VS Code
Recommended IDE with TypeScript and React support
Browser DevTools
React Developer Tools and Redux DevTools for debugging
Testing
Jest for unit tests, Testing Library for component tests
Issue Labels
Look for these labels on GitHub to find issues matching your skill level.
Great for newcomers
Something isn't working
New feature or improvement
Docs improvement
Extra attention needed
Security related
Pull Request Template
## Description Brief description of changes. ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Testing - [ ] Unit tests pass - [ ] Integration tests pass - [ ] Manual testing done ## Checklist - [ ] Code follows project style guidelines - [ ] Self-review completed - [ ] Documentation updated
