Thanks for your interest in contributing! This repository is a React (TypeScript) app that uses Ant Design, Zustand for state, and TanStack Query for server state. This guide keeps things simple so you can get started fast.
- Fork the repo and create a topic branch:
git checkout -b feature/short-description
- Install dependencies:
bun install
- Run the app locally:
bun start
- Commit and push your changes, then open a Pull Request to
main.
- Bug fixes and small improvements
- UI tweaks (Ant Design components)
- State management (Zustand stores)
- Data fetching & caching (TanStack Query)
- Docs and tests
If your change is large (new feature, big refactor), please open an issue first to discuss the approach.
- Use TypeScript everywhere; prefer explicit types for public APIs.
- Functional components, hooks, and composition over inheritance.
- Keep components small; extract logic to hooks when it grows.
- Use AntD components for consistent UI; prefer
Form,Button,Typography, etc. - Follow design tokens and theming via AntD when styling.
- Avoid deeply custom styling unless necessary.
- Co-locate small stores with features; keep stores minimal and focused.
- Derive state with selectors; avoid unnecessary re-renders.
- No side effects in stores—use hooks/effects in components.
- Prefer
useQuery/useMutationover manualfetch. - Use meaningful query keys (e.g.,
['users', userId]). - Configure sensible cache times; enable retries only when appropriate.
- Invalidate queries after mutations to keep UI fresh.
- Lint & format before committing:
bun run lint && bun run format - Commit messages: short, imperative (e.g.,
fix: button alignment,feat: add user list). - Keep PRs focused and small; add screenshots for UI changes.
- Add unit tests for logic (hooks, utils) when practical.
- Ensure the app builds and runs locally.
- If you change API interactions, verify loading/error states.
- The branch is up to date with
main - Linting & formatting pass
- Added/updated tests (if relevant)
- Screenshots for visual changes
- Clear description of the change and rationale
Please include:
- Steps to reproduce
- Expected vs. actual behavior
- Screenshots or logs when useful
- Environment (OS, browser, Node version)
By participating, you agree to uphold a respectful, inclusive environment:
CODE_OF_CONDUCT.mdfile
By contributing, you agree your contributions will be licensed under this repository’s license. For more information see LICENSE file.