docs: update documentation for monorepo

README: add tips and additional resources
This commit is contained in:
Oliver
2025-03-30 14:28:06 +02:00
parent c233e69184
commit f4c39a39d0
2 changed files with 9 additions and 2 deletions

View File

@@ -18,8 +18,9 @@ Simple, lightweight and feature-rich plugins for Minecraft servers.
## Modules ## Modules
> [!CAUTION] > [!TIP]
> The monorepo is still work in progress. Expect breaking changes and incomplete documentation. > Read the [monorepo.md](docs/src/development-guidelines/monorepo.md) for more information about the monorepo.
> Here is a blog article about why we use a monorepo: [why-monorepo.md](docs/src/blog/why-monorepo.md).
Plugins: Plugins:
- fancynpcs: create and manage fancy looking npcs ([old repository](https://github.com/FancyMcPlugins/FancyNpcs)) - fancynpcs: create and manage fancy looking npcs ([old repository](https://github.com/FancyMcPlugins/FancyNpcs))

View File

@@ -11,6 +11,12 @@ order: 8
A monorepo (monolithic repository) is a version control strategy where multiple related projects, such as Minecraft plugins and libraries, reside within a single repository. A monorepo (monolithic repository) is a version control strategy where multiple related projects, such as Minecraft plugins and libraries, reside within a single repository.
Instead of maintaining separate repositories for each plugin or library, all codebases share the same version control system, dependencies, and development workflow. Instead of maintaining separate repositories for each plugin or library, all codebases share the same version control system, dependencies, and development workflow.
Read more about monorepos there:
- https://monorepo.tools/
- https://medium.com/@lewimuchiri/setting-up-a-gradle-monorepo-with-spring-boot-and-version-catalogs-41fdf1112dac
- https://dev.to/scorsi/why-i-choose-to-use-a-mono-repo-for-a-very-large-project-hkp
- https://docs.gradle.org/current/userguide/intro_multi_project_builds.html
## Benefits of a Monorepo ## Benefits of a Monorepo
- **Code Reuse**: Share common libraries between plugins without duplication. - **Code Reuse**: Share common libraries between plugins without duplication.