Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

87 lines
3.1 KiB
Markdown

# Contributing to Ivy Wallet
## 1. Fork the repo
You can do that by clicking this badge: 👉 [![Fork Ivy Wallet](https://img.shields.io/github/forks/Ivy-Apps/ivy-wallet?logo=github&style=social)](https://github.com/Ivy-Apps/ivy-wallet/fork) 👈
**[How To Fork Guide by GitHub](https://docs.github.com/en/get-started/quickstart/fork-a-repo)**
## 2. Pick an issue
What do you want to work on? [Choose an issue](https://github.com/Ivy-Apps/ivy-wallet/issues) that you'd like to contribute to.
### Workflow:
1. Browse **[Ivy Wallet Issues](https://github.com/Ivy-Apps/ivy-wallet/issues)**.
2. Choose an issue that you understand and like.
3. Comment **`I'm on it`** on the issue so GitHub Actions can automatically assign it to you.
> ⚠️ Comment exactly **`"I'm on it"`** to take an issue, otherwise the CI automation won't work.
### Contributing Rules:
1. Comment **"I'm on it"** to take an issue.
2. Want to work on something else? Just **[create a new issue](https://github.com/Ivy-Apps/ivy-wallet/issues/new/choose)**.
3. Do **not** work on already assigned issues. Ask the assignee first.
4. Only one issue per contributor at a time.
> **Reminder:** If you take an issue, you're blocking others from working on it. Finish it fast or unassign yourself.
## 3. Create a feature branch in your fork
For your issue, make a feature branch in your forked ivy-wallet repo.
### Create a new branch
Open a terminal in your cloned forked ivy-wallet repo and run:
```
git checkout -b fix-issue-YOUR_ISSUE_NUMBER
```
_Replace "YOUR_ISSUE_NUMBER" with the id/number of your issue._
### Time to work
Make sure to read the **[Architecture Guidelines 🏗️](docs/Architecture.md)** before you begin.
**🔨 Workflow:**
- Make commits.
- Refactor your code.
- Verify that your implementation works.
- Build often and test that you haven't broken existing features.
**💡 Tips:**
- Make sure that you don't break anything with your changes.
- Keep it simple.
- "Don't walk away from complexity, run!"
**❓ Ask yourself:**
- "Is that the simplest solution?"
- "Can I do it with less code and changes?"
- "Does it work in all cases?"
## 4. Submit a PR to `main` branch
So far, you should have pushed your work to your feature branch and have tested
that it works on a real Android device.
Then final step is to open a pull request to the `main` branch of the
official [Ivy Wallet repo.](https://github.com/Ivy-Apps/ivy-wallet/pulls)
**[How To Submit a PR Guide by GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)**
### IMPORTANT:
- Make sure that on the base repository's base the `main` branch is chosen as "base".
- Pull requests to other branches will be rejected.
- Ivy Wallet doesn't have QA so **you are the QA!** Please test your implementation carefully.
### Questions?
Ask them in [our private Telegram community](https://t.me/+ETavgioAvWg4NThk).
[![Telegram Group](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/+ETavgioAvWg4NThk)