Welcome to the DIT frontend project 🚀
This repository is a Next.js 16 + React 19 + Wagmi + RainbowKit Web3 application.
Please follow this complete contribution guide from start to final PR merge.
- Get the issue assigned before starting work.
- Discuss major UI/architecture changes before implementation.
- Run lint and formatting before committing.
- Ensure the app builds successfully.
- Do NOT push directly to main.
- Do NOT open PR without linking an issue.
Clean code and predictable workflow are mandatory.
- Check existing issues.
- If creating a new one, include:
- Clear title
- Problem description
- Screenshots (if UI related)
- Expected behavior
Do not start coding yet.
Comment:
"I would like to work on this issue."
Wait for assignment confirmation before starting.
Click the Fork button on GitHub.
This creates your own copy under your account.
git clone https://github.com/YOUR-USERNAME/IdentityTokens-EVM-Frontend.git
cd IdentityTokens-EVM-Frontendgit remote add upstream https://github.com/StabilityNexus/IdentityTokens-EVM-Frontend.git
git remote -vNever work on main.
git checkout -b feature/short-descriptionExamples:
- feature/add-wallet-ui
- fix/navbar-overflow
- refactor/web3-hooks
- docs/update-readme
npm installThis installs:
- Next.js 16
- React 19
- Wagmi
- RainbowKit
- Viem
- ESLint
- Prettier
- Husky
- TailwindCSS
Husky is used for pre-commit hooks.
If needed:
npm run prepareOn commit, lint-staged will automatically:
- Run eslint --fix on JS/TS files
- Run prettier --write
If commit fails, fix errors before retrying.
npm run devApp runs locally (usually http://localhost:3000).
npm run buildnpm run startBuild must succeed before PR.
Before committing:
npm run lintnpm run formatnpm run check-formatPRs failing lint/format checks may be rejected.
- Use App Router properly (Next.js 16).
- Keep components small and reusable.
- Separate UI and Web3 logic.
- Use custom hooks for contract interactions.
- Avoid deeply nested components.
Stack includes:
- Wagmi
- Viem
- RainbowKit
- MetaMask SDK
- WalletConnect
- React Query
Ensure:
- Wallet errors are handled.
- Loading states exist.
- Transactions show feedback.
- No private keys are exposed.
Test wallet connection manually before PR.
- Use TailwindCSS v4.
- Avoid inline styles.
- Use tailwind-merge when combining classes.
- Maintain responsive design.
- Keep animations clean (Framer Motion).
git add .
git commit -m "feat: short clear description"Examples:
- feat: add rainbowkit wallet modal
- fix: resolve layout shift issue
- refactor: move web3 logic to hooks
- style: improve button hover states
Avoid vague messages like "update".
Before pushing:
git fetch upstream
git merge upstream/mainResolve conflicts locally.
git push origin feature/short-descriptionWhen opening PR:
- Link issue (Closes #number)
- Explain what changed
- Add screenshots for UI changes
- Mention performance impact (if any)
PR must pass CI before review.
- No assignment
- Failing build
- Lint errors
- Poor code structure
- Breaking wallet flows
- No screenshots for UI changes
- Be professional
- Be logical
- Respect reviews
- Accept feedback constructively
We build structured Web3 interfaces. Quality matters.
By contributing, you agree your work is licensed under the same license as this repository.
© 2026 The Stable Order