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-Frontend
git remote add upstream https://github.com/StabilityNexus/IdentityTokens-EVM-Frontend.git
git remote -v
Never work on main.
git checkout -b feature/short-description
Examples:
- feature/add-wallet-ui
- fix/navbar-overflow
- refactor/web3-hooks
- docs/update-readme
npm install
This installs:
- Next.js 16
- React 19
- Wagmi
- RainbowKit
- Viem
- ESLint
- Prettier
- Husky
- TailwindCSS
Husky is used for pre-commit hooks.
If needed:
npm run prepare
On commit, lint-staged will automatically:
- Run eslint --fix on JS/TS files
- Run prettier --write
If commit fails, fix errors before retrying.
npm run dev
App runs locally (usually http://localhost:3000).
npm run build
npm run start
Build must succeed before PR.
Before committing:
npm run lint
npm run format
npm run check-format
PRs 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/main
Resolve conflicts locally.
git push origin feature/short-description
When 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