Skip to content

A template utilizing Refined Architect.

License

Notifications You must be signed in to change notification settings

refinedmods/refinedarchitect-template

Repository files navigation

Refined Architect template Build Status Discord License: MIT

About

A template utilizing Refined Architect.

How to use this template

  • Clone the repository.
  • Update README.md:
    • Remove this explanation.
    • Update the title.
    • Update the build badge URL.
  • Update Refined Architect when necessary:
    • Search and replace the version number in the project.
    • This should change the version in settings.gradle.kts and the GitHub actions.
  • Update the URLs in .github/CONTRIBUTING.md.
  • Update the project name in .github/workflows/publish-release.yml.
  • Update the branch policies for develop:
    • Require a pull request before merging.
    • Dismiss stale pull request approvals when new commits are pushed.
    • Require status checks to pass before merging:
      • validate-commit-messages
      • validate-changelog
      • validate-branch-name
      • build
    • Require branches to be up to date before merging.
    • Require conversation resolution before merging.
    • Do not allow bypassing the above settings.
  • Set the tags on the GitHub repository.
  • Set the custom repository properties on the GitHub repository.
  • Set some GitHub repository settings:
    • Only allow issues.
    • Preserve this repository.
    • Only allow merge commits.
    • Allow auto-merge.
    • Automatically delete head branches.
  • Ensure that the workflows can create PRs and push to the repository:
  • Create a main branch from develop as soon as you are ready. Apply the same branch policies from develop.
  • Start a "Draft release" workflow to start the release process.

Optional: Set-up Crowdin

  • Create a project on Crowdin.
    • Enable the localization status badge.
  • Copy the examples/crowdin.yml file to the root directory as crowdin.yml.
    • Configure the project identifier and source translation file location.
  • Add the Crowdin badge to README.md from examples/crowdin-badge.md.
  • On Crowdin, configure the GitHub integration:
    • Choose "Source and translation files mode".
    • Select the repository and the develop branch.
    • Service Branch Name should be crowdin-translations.
    • Configure the Sync Schedule to 24 hours.

Optional: Set-up SonarQube

  • Create a project on SonarCloud.
  • For Analysis Method, disable Automatic Analysis.
  • In build.gradle.kts, uncomment the sonarQube function.
  • Add SonarQube build badges to README.md from examples/sonarqube-badges.md.

Optional: Add a webhook for Discord announcements

  • Add a repository webhook for Discord announcements.
    • Content type: application/json.
  • Events:
    • Branch or tag creation
    • Forks
    • Issue comments
    • Issues
    • Milestones
    • Pull requests
    • Pull request reviews
    • Pushes
    • Releases
    • Stars
    • Watches

Optional: Set-up CurseForge and Modrinth publishing

  • Create projects on CurseForge and Modrinth.
  • Configure publishing in the build.gradle.kts file of the NeoForge and Fabric subprojects.
  • Add CurseForge and Modrinth download count badges to README.md from examples/curseforge-modrinth-badges.md.

Links

Building

Clone the repository and import the Gradle project.

Contributing

See CONTRIBUTING.md.

Support

See SUPPORT.md.

Changelog

See CHANGELOG.md.

About

A template utilizing Refined Architect.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages