{"id":13466980,"url":"https://github.com/ReVanced/revanced-patches-template","last_synced_at":"2025-03-26T00:31:47.379Z","repository":{"id":36956340,"uuid":"472090226","full_name":"ReVanced/revanced-patches-template","owner":"ReVanced","description":"👋🧩Template repository for ReVanced Patches","archived":false,"fork":false,"pushed_at":"2025-01-13T18:39:15.000Z","size":677,"stargazers_count":4578,"open_issues_count":2,"forks_count":458,"subscribers_count":81,"default_branch":"main","last_synced_at":"2025-03-19T15:56:59.492Z","etag":null,"topics":["android","dalvik","kotlin","patches","revanced","reverse-engineering"],"latest_commit_sha":null,"homepage":"https://revanced.app","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReVanced.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ReVanced","open_collective":"ReVanced","custom":["https://revanced.app/donate"]}},"created_at":"2022-03-20T20:06:01.000Z","updated_at":"2025-03-17T12:14:07.000Z","dependencies_parsed_at":"2024-01-13T18:01:40.748Z","dependency_job_id":"5cb6a9d7-449b-408a-b741-a9ab1580a30b","html_url":"https://github.com/ReVanced/revanced-patches-template","commit_stats":{"total_commits":65,"total_committers":2,"mean_commits":32.5,"dds":"0.16923076923076918","last_synced_commit":"bd4b564fc0fc8f7ade8dcd41eb4aaaf59adad6ae"},"previous_names":[],"tags_count":807,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-patches-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-patches-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-patches-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-patches-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReVanced","download_url":"https://codeload.github.com/ReVanced/revanced-patches-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566099,"owners_count":20636391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dalvik","kotlin","patches","revanced","reverse-engineering"],"created_at":"2024-07-31T15:00:51.952Z","updated_at":"2025-03-26T00:31:47.366Z","avatar_url":"https://github.com/ReVanced.png","language":"Kotlin","funding_links":["https://github.com/sponsors/ReVanced","https://opencollective.com/ReVanced","https://revanced.app/donate"],"categories":["Kotlin","android","✅ Official"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource\n      width=\"256px\"\n      media=\"(prefers-color-scheme: dark)\"\n      srcset=\"assets/revanced-headline/revanced-headline-vertical-dark.svg\"\n    \u003e\n    \u003cimg \n      width=\"256px\"\n      src=\"assets/revanced-headline/revanced-headline-vertical-light.svg\"\n    \u003e\n  \u003c/picture\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://revanced.app/\"\u003e\n     \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n         \u003cimg height=\"24px\" src=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://github.com/ReVanced\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"http://revanced.app/discord\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://reddit.com/r/revancedapp\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://t.me/app_revanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://x.com/revancedapp\"\u003e\n      \u003cpicture\u003e\n         \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png\"\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://www.youtube.com/@ReVanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\n   \u003cbr\u003e\n   \u003cbr\u003e\n   Continuing the legacy of Vanced\n\u003c/p\u003e\n\n# 👋🧩 ReVanced Patches template\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/ReVanced/revanced-patches-template/release.yml)\n![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)\n\nTemplate repository for ReVanced Patches.\n\n## ❓ About\n\nThis is a template to create a new ReVanced Patches repository.  \nThe repository can have multiple patches, and patches from other repositories can be used together.\n\nFor an example repository, see [ReVanced Patches](https://github.com/revanced/revanced-patches).\n\n## 🚀 Get started\n\nTo start using this template, follow these steps:\n\n1. [Create a new repository using this template](https://github.com/new?template_name=revanced-patches-template\u0026template_owner=ReVanced)\n2. Set up the [build.gradle.kts](patches/build.gradle.kts) file (Specifically, the [group of the project](patches/build.gradle.kts#L1),\nand the [About](patches/build.gradle.kts#L5-L11))\n3. Update dependencies in the [libs.versions.toml](gradle/libs.versions.toml) file\n4. [Create a pass-phrased GPG master key and subkey](https://mikeross.xyz/create-gpg-key-pair-with-subkeys/)\n   1. Add the private key as a secret named [GPG_PRIVATE_KEY](.github/workflows/release.yml#L52) to your repository\n   2. Add the passphrase as a secret named [GPG_PASSPHRASE](.github/workflows/release.yml#L53) to your repository\n   3. Add the fingerprint of the GPG subkey as a secret named [GPG_FINGERPRINT](.github/workflows/release.yml#L54) to your repository\n5. Set up the [README.md](README.md) file[^1] (e.g, title, description, license, summary of the patches\nthat are included in the repository), the [issue templates](.github/ISSUE_TEMPLATE)[^2]  and the [contribution guidelines](CONTRIBUTING.md)[^3]\n\n🎉 You are now ready to start creating patches!\n\n[^1]: [Example README.md file](https://github.com/ReVanced/revanced-patches/blob/main/README.md)\n[^2]: [Example issue templates](https://github.com/ReVanced/revanced-patches/tree/main/.github/ISSUE_TEMPLATE)\n[^3]: [Example contribution guidelines](https://github.com/ReVanced/revanced-patches/blob/main/CONTRIBUTING.md)\n\n## 🔘 Optional steps\n\nYou can also add the following things to the repository:\n\n- API documentation, if you want to publish your patches as a library\n\n## 🧑‍💻 Usage\n\nTo develop and release ReVanced Patches using this template, some things need to be considered:\n\n- Development starts in feature branches. Once a feature branch is ready, it is squashed and merged into the `dev` branch\n- The `dev` branch is merged into the `main` branch once it is ready for release\n- Semantic versioning is used to version ReVanced Patches. ReVanced Patches have a public API for other patches to use\n- Semantic commit messages are used for commits\n- Commits on the `dev` branch and `main` branch are automatically released\nvia the [release.yml](.github/workflows/release.yml) workflow, which is also responsible for generating the changelog\nand updating the version of ReVanced Patches. It is triggered by pushing to the `dev` or `main` branch.\nThe workflow uses the `publish` task to publish the release of ReVanced Patches\n- The `buildAndroid` task is used to build ReVanced Patches so that it can be used on Android.\nThe `publish` task depends on the `buildAndroid` task, so it will be run automatically when publishing a release.\n\n## 📚 Everything else\n\n### 📙 Contributing\n\nThank you for considering contributing to ReVanced Patches template.  \nYou can find the contribution guidelines [here](CONTRIBUTING.md).\n\n### 🛠️ Building\n\nTo build ReVanced Patches template,\nyou can follow the [ReVanced documentation](https://github.com/ReVanced/revanced-documentation).\n\n## 📜 Licence\n\nReVanced Patches template is licensed under the GPLv3 licence.\nPlease see the [license file](LICENSE) for more information.\n[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute\nand modify ReVanced Patches template as long as you track changes/dates in source files.\nAny modifications to ReVanced Patches template must also be made available under the GPL,\nalong with build \u0026 install instructions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-patches-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReVanced%2Frevanced-patches-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-patches-template/lists"}