diff --git a/.github/ISSUE_TEMPLATE/dev-request.yml b/.github/ISSUE_TEMPLATE/dev-request.yml index caeee46202..b350ad9cea 100644 --- a/.github/ISSUE_TEMPLATE/dev-request.yml +++ b/.github/ISSUE_TEMPLATE/dev-request.yml @@ -18,13 +18,13 @@ body: - a - b - c - value: "- " validations: required: true - type: textarea id: because attributes: label: Because... + description: Why do we need this? placeholder: | - d - e @@ -39,9 +39,13 @@ body: validations: required: false - type: textarea - id: logs + id: requirements attributes: - label: Logs - description: Share any logs or information that might help us resolve your issue faster. + label: Success Criteria + description: Describe the requirements of the task. + placeholder: | + - Requirement 1 + - Requirement 2 + - Requirement 3 validations: required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fd6a02b2eb..95864850cc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,40 +5,35 @@ Please check if your pull request fulfills the following requirements: - [ ] The code builds and is tested on a real Android device. - [ ] I confirm that I've run the code locally and everything works as expected. -_Put an `x` in the boxes that apply._ -- [x] Demo: Checking checkbox using `[x]` +## What's changed? +Describe with a few bullets **what's new:** +- a +- b +- c +- d + +_💡 Tip: Please, attach screenshots and screen recordings. It helps a lot!_ -> Upload a screen recording + screenshots to prove that your changes work. +## Risk Factors -## Pull Request Type -Please check the type of the changes that your PR introduce: +**What may go wrong if we merge your PR?** -- [ ] Bugfix -- [ ] Feature -- [ ] Code style update (formatting, new lines, etc.) -- [ ] Refactoring (no functional changes, renaming) -- [ ] Small improvement (fix typo, UI fine-tune or something small) -- [ ] Gradle Build related changes -- [ ] Dependencies update (updating libraries) -- [ ] Documentation (clarifying comments, KDoc) -- [ ] Tests (Unit, Integration, UI tests) -- [ ] Other (please describe): +- a +- b +- c -Put an `x` in all the boxes that apply. +**In what cases your code won't work?** -## What's changed? -Describe with a few bullets **what's new:** - a - b - c -- d -_💡 Tip: Attach screenshots and screen recordings. It helps a lot!_ ## Does this PR closes any GitHub Issues? Check **[Ivy Wallet Issues](https://github.com/Ivy-Apps/ivy-wallet/issues)**. + - Closes #{ISSUE_NUMBER} _Replace `{ISSUE_NUMBER}` with the id/number of the issue that you've fixed._ \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0bc201fb55..5e7640973f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,49 +9,32 @@ updates: schedule: interval: "weekly" registries: - - maven-google + - google + - jitpack + - maven-central open-pull-requests-limit: 10 groups: - kotlin-compose: + ivy-wallet: patterns: - - "androidx.compose*" - - "androidx.glance*" - - "org.jetbrains.kotlin*" - - "io.coil-kt:coil-compose" - - "com.android.tools.build:gradle" - - "androidx.activity:activity-compose" - - "androidx.lifecycle:lifecycle-viewmodel-compose" - ktor: - patterns: - - "io.ktor*" - google-firebase: - patterns: - - "com.google*" - - "com.android.billingclient*" - kotest: - patterns: - - "io.kotest*" - androidx: - patterns: - - "androidx.*" - hilt: - patterns: - - "com.google.dagger*" - - "androidx.hilt*" - room: - patterns: - - "androidx.room*" + - "*" - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" open-pull-requests-limit: 10 + groups: + github-actions: + patterns: + - "*" -# This is only a workaround as long as -# https://github.com/dependabot/dependabot-core/pull/7260 -# is not merged registries: - maven-google: + google: + type: maven-repository + url: "https://maven.google.com/" + jitpack: + type: maven-repository + url: "https://jitpack.io/" + maven-central: type: maven-repository - url: "https://dl.google.com/dl/android/maven2/" + url: "https://repo.maven.apache.org/maven2" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4988294159..f9cc74c93e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,42 +10,54 @@ After you've cloned your Ivy Wallet fork make sure to initialize the project usi ## 2. Pick an issue -What do you want to work on? How do you want to contribute? +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 a ticket that you understand and intrigues you. -3. Comment `"I'm on it"` on the ticket to let other contributors know that you're working on it. +2. Choose an issue that you understand and like. +3. Comment `"I'm on it"` on the issue to let other contributors know that you're working on it. ### Rules: -- Issues with a green `"approved"` label are ready for development. -- If the issue that you like doesn't have `"approved"` label, just **tag @ILIYANGERMANOV**. -- If someone else has already commented **"I'm on it"**, do **not** start working on it! Instead tag the person and ask if you can take it. -- If what you want to do isn't in issues, just **create it** and **tag @ILIYANGERMANOV**. +- Only issues with a green `"approved"` label are ready for development. +- If the issue that you like doesn't have the `"approved"` label, just **tag @ILIYANGERMANOV** and ask for an approval. +- If someone else has already commented **"I'm on it"**, do **NOT** start working on it! Instead tag the person and ask them if you can take it. +- If what you want isn't in issues, just [create a new issue](https://github.com/Ivy-Apps/ivy-wallet/issues/new/choose) and **tag @ILIYANGERMANOV** for approval. ## 3. Create a feature branch in your fork Once you've decided on what you want to work, it's time to create a feature branch in your forked ivy-wallet repository. -### Console: +### Create a new branch -`cd ivy-wallet-fork` +Open a terminal in your cloned forked ivy-wallet repo and run: +``` +git checkout -b fix-issue-YOUR_ISSUE_NUMBER +``` -`git checkout -b fix-issue-N` +_Replace "YOUR_ISSUE_NUMBER" with the id/number of your issue._ + + +### Time to work - Make commits. - Refactor your code. - Verify that your implementation works. -- Test that you haven't broken existing features. +- Build often and test that you haven't broken existing features. -### Tips: +**💡 Tips:** -- Make sure that you didn't break anything with your changes. +- 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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 102686db5f..3bf14518ce 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,8 +14,6 @@ androidx-work = "2.8.1" # Linters detekt = "1.23.1" # https://detekt.dev/docs/gettingstarted/gradle/ -detekt-ruleset-compiler = "0.0.4" # https://github.com/BraisGabin/detekt-compiler-rules/releases -detekt-ruleset-compose = "0.2.1" # https://github.com/mrmans0n/compose-rules/releases [libraries] android-gradle-plugin = { module = "com.android.tools.build:gradle", version = "8.2.0-beta01" } @@ -103,9 +101,9 @@ ivy-frp-temp = { module = "com.github.ILIYANGERMANOV:ivy-frp", version = "0.9.5" # Linters detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" } -detekt-ruleset-compiler = { module = "com.braisgabin.detekt:kotlin-compiler-wrapper", version.ref = "detekt-ruleset-compiler" } +detekt-ruleset-compiler = { module = "com.braisgabin.detekt:kotlin-compiler-wrapper", version = "0.0.4" } detekt-ruleset-ktlint = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" } -detekt-ruleset-compose = { module = "io.nlopez.compose.rules:detekt", version.ref = "detekt-ruleset-compose" } +detekt-ruleset-compose = { module = "io.nlopez.compose.rules:detekt", version = "0.2.1" } [bundles] kotlin = [ @@ -181,5 +179,5 @@ opencsv = [ ] [plugins] -gradleWrapperUpgrade = "org.gradle.wrapper-upgrade:0.11.2" +gradleWrapperUpgrade = { id = "org.gradle.wrapper-upgrade", version = "0.11.2" } kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }