# 🧠 Contributing to EIPsInsight
Thank you for your interest in contributing to EIPsInsight! This guide will help you understand how our development workflow is set up and how you can contribute effectively while avoiding common pitfalls like merge conflicts.
## 🏗️ Repository Structure & Deployment
### 🔹 `dev` Branch
- **Purpose:** All new features, bug fixes, and changes should be pushed to the `dev` branch.
- **Use Case:** This acts as our **preview/staging** environment where we test all updates before pushing them live.
### 🔸 `main` Branch
- **Purpose:** Production-ready, stable version of the project.
- **Deployment:** Hosted on our NGINX server (https://eipsinsight.com).
- **Use Case:** We only merge to `main` after thoroughly testing on `dev`.
## 🛠️ How to Contribute
### 1. Fork the Repository
Click the `Fork` button on the top right of this page to create your own copy.
### 2. Clone Your Fork
```bash
git clone https://github.com/YOUR_USERNAME/eipsinsight.git
cd eipsinsight
````
### 3. Add the Original Repository as Remote
```bash
git remote add upstream https://github.com/AvarchLLC/EIPsInsight.git
```
### 4. Create a Feature Branch
**Never** work directly on the `dev` or `main` branch in your fork.
```bash
git checkout -b feat/your-feature-name
```
### 5. Sync with Upstream `dev` Branch
Before you begin making changes, make sure your local fork is up to date:
```bash
git fetch upstream
git checkout dev
git merge upstream/dev
```
### 6. Rebase or Merge into Your Feature Branch
```bash
git checkout feat/your-feature-name
git merge dev
# or
git rebase dev
```
**🔧 If there are any merge conflicts, resolve them locally in your editor.**
### 7. Push to Your Fork
```bash
git push origin feat/your-feature-name
```
### 8. Create a Pull Request
* Go to your fork on GitHub
* Click "Compare & Pull Request"
* Make sure the base branch is `Avarch/dev` (NOT `main`)
* Provide a clear title and description
## ✅ What Happens After Your PR
* We’ll review your PR and test it on the `dev` Vercel deployment.
* Once it’s verified, **maintainers will handle merging into `main`** for production deployment via the NGINX server.
## 🧩 Tips to Avoid Merge Conflicts
* Regularly pull updates from the upstream `dev` branch.
* Never submit PRs from outdated forks — always sync and rebase.
* Keep your PRs small and focused — one feature or fix per PR.
* Don’t push to `dev` or `main` directly from your fork.
## 🙌 Thank You
Your contributions help us improve the EIPsInsight ecosystem and provide more value to the Ethereum community. We appreciate every PR — whether it's fixing a typo or adding a new feature!
Feel free to raise issues or ask questions if you get stuck.