generated from StabilityNexus/Template-Repo
-
-
Notifications
You must be signed in to change notification settings - Fork 14
Include Complete Installation and Development Workflow Guidelines #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aniket866
wants to merge
8
commits into
StabilityNexus:main
Choose a base branch
from
aniket866:patch-2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
b497912
Create Contributing.md
aniket866 5a48442
modularizing-fix
aniket866 b02f0c8
fixing-conflicts
aniket866 45d9861
Merge branch 'patch-2' of https://github.com/aniket866/IdentityTokens…
aniket866 1af8775
fixing-ci-failures
aniket866 4fcf5d9
Update hooks/useTypewriter.ts
aniket866 a788da4
Code rabbit follow-up
aniket866 266c5a2
fixing-linting-issues
aniket866 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,314 @@ | ||
| # 🤝 Contributing to DIT (Frontend) | ||
|
|
||
| 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. | ||
|
|
||
| --- | ||
|
|
||
| # 📜 1️⃣ Core Contribution Rules | ||
|
|
||
| 1. Get the issue assigned before starting work. | ||
| 2. Discuss major UI/architecture changes before implementation. | ||
| 3. Run lint and formatting before committing. | ||
| 4. Ensure the app builds successfully. | ||
| 5. Do NOT push directly to main. | ||
| 6. Do NOT open PR without linking an issue. | ||
|
|
||
| Clean code and predictable workflow are mandatory. | ||
|
|
||
| --- | ||
|
|
||
| # 🧭 2️⃣ Complete Contribution Workflow (Step-by-Step) | ||
|
|
||
| ## 🔎 Step 1: Find or Create an Issue | ||
|
|
||
| * Check existing issues. | ||
| * If creating a new one, include: | ||
|
|
||
| * Clear title | ||
| * Problem description | ||
| * Screenshots (if UI related) | ||
| * Expected behavior | ||
|
|
||
| Do not start coding yet. | ||
|
|
||
| --- | ||
|
|
||
| ## 🙋 Step 2: Get Assigned | ||
|
|
||
| Comment: | ||
|
|
||
| "I would like to work on this issue." | ||
|
|
||
| Wait for assignment confirmation before starting. | ||
|
|
||
| --- | ||
|
|
||
| ## 🍴 Step 3: Fork the Repository | ||
|
|
||
| Click the **Fork** button on GitHub. | ||
|
|
||
| This creates your own copy under your account. | ||
|
|
||
| --- | ||
|
|
||
| ## 💻 Step 4: Clone Your Fork | ||
|
|
||
| ``` | ||
| git clone https://github.com/YOUR-USERNAME/IdentityTokens-EVM-Frontend.git | ||
| cd IdentityTokens-EVM-Frontend | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 🔗 Step 5: Add Upstream Remote | ||
|
|
||
| ``` | ||
| git remote add upstream https://github.com/StabilityNexus/IdentityTokens-EVM-Frontend.git | ||
| git remote -v | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 🌿 Step 6: Create a Feature Branch | ||
|
|
||
| Never work on main. | ||
|
|
||
| ``` | ||
| git checkout -b feature/short-description | ||
| ``` | ||
|
|
||
| Examples: | ||
|
|
||
| * feature/add-wallet-ui | ||
| * fix/navbar-overflow | ||
| * refactor/web3-hooks | ||
| * docs/update-readme | ||
|
|
||
| --- | ||
|
|
||
| # 🛠 3️⃣ Project Setup | ||
|
|
||
| ## 📦 Install Dependencies | ||
|
|
||
| ``` | ||
| npm install | ||
| ``` | ||
|
|
||
| This installs: | ||
|
|
||
| * Next.js 16 | ||
| * React 19 | ||
| * Wagmi | ||
| * RainbowKit | ||
| * Viem | ||
| * ESLint | ||
| * Prettier | ||
| * Husky | ||
| * TailwindCSS | ||
|
|
||
| --- | ||
|
|
||
| ## 🔐 Setup Git Hooks | ||
|
|
||
| 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. | ||
|
|
||
| --- | ||
|
|
||
| # 🚀 4️⃣ Development Commands | ||
|
|
||
| ## ▶️ Start Development Server | ||
|
|
||
| ``` | ||
| npm run dev | ||
| ``` | ||
|
|
||
| App runs locally (usually [http://localhost:3000](http://localhost:3000)). | ||
|
|
||
| --- | ||
|
|
||
| ## 🏗 Build Project | ||
|
|
||
| ``` | ||
| npm run build | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 🚀 Start Production Server | ||
|
|
||
| ``` | ||
| npm run start | ||
| ``` | ||
|
|
||
| Build must succeed before PR. | ||
|
|
||
| --- | ||
|
|
||
| # 🧹 5️⃣ Linting & Formatting (MANDATORY) | ||
|
|
||
| Before committing: | ||
|
|
||
| ## 🔍 Run ESLint | ||
|
|
||
| ``` | ||
| npm run lint | ||
| ``` | ||
|
|
||
| ## ✨ Format Code | ||
|
|
||
| ``` | ||
| npm run format | ||
| ``` | ||
|
|
||
| ## ✅ Check Formatting | ||
|
|
||
| ``` | ||
| npm run check-format | ||
| ``` | ||
|
|
||
| PRs failing lint/format checks may be rejected. | ||
|
|
||
| --- | ||
|
|
||
| # 🎨 Frontend Standards | ||
|
|
||
| ## 🧱 Architecture Rules | ||
|
|
||
| * 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. | ||
|
|
||
| --- | ||
|
|
||
| ## 🔗 Web3 Integration Rules | ||
|
|
||
| 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. | ||
|
|
||
| --- | ||
|
|
||
| ## 🎨 Styling Rules | ||
|
|
||
| * Use TailwindCSS v4. | ||
| * Avoid inline styles. | ||
| * Use tailwind-merge when combining classes. | ||
| * Maintain responsive design. | ||
| * Keep animations clean (Framer Motion). | ||
|
|
||
| --- | ||
|
|
||
| # 7️⃣ Commit Properly | ||
|
|
||
| ``` | ||
| 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". | ||
|
|
||
| --- | ||
|
|
||
| # 8️⃣ Sync With Upstream | ||
|
|
||
| Before pushing: | ||
|
|
||
| ``` | ||
| git fetch upstream | ||
| git merge upstream/main | ||
| ``` | ||
|
|
||
| Resolve conflicts locally. | ||
|
|
||
| --- | ||
|
|
||
| # 9️⃣ Push Your Branch | ||
|
|
||
| ``` | ||
| git push origin feature/short-description | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| # 🔟 Open a Pull Request | ||
aniket866 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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. | ||
|
|
||
| --- | ||
|
|
||
| # ❌ What Causes Rejection | ||
|
|
||
| * No assignment | ||
| * Failing build | ||
| * Lint errors | ||
| * Poor code structure | ||
| * Breaking wallet flows | ||
| * No screenshots for UI changes | ||
|
|
||
| --- | ||
|
|
||
| # 🤝 Code of Conduct | ||
|
|
||
| * Be professional | ||
| * Be logical | ||
| * Respect reviews | ||
| * Accept feedback constructively | ||
|
|
||
| We build structured Web3 interfaces. Quality matters. | ||
|
|
||
| --- | ||
|
|
||
| # 📄 License | ||
|
|
||
| By contributing, you agree your work is licensed under the same license as this repository. | ||
|
|
||
| --- | ||
|
|
||
| © 2026 The Stable Order | ||
aniket866 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.