mirror of
https://github.com/mleem97/gregWiki.git
synced 2026-04-11 11:39:18 +02:00
- Revised the tagline in `docusaurus.config.js` to reflect the focus on Data Center. - Enhanced descriptions in `getting-started.md`, `intro.md`, and various mod documentation files for consistency and clarity. - Updated references to the game name, removing "Waseku" for a more streamlined presentation. - Improved the structure and readability of tables and lists throughout the documentation. This commit aims to ensure the documentation is clear, consistent, and accurately represents the project, enhancing usability for both mod developers and players.
56 lines
2.6 KiB
Markdown
56 lines
2.6 KiB
Markdown
---
|
|
id: monorepo-target-layout
|
|
title: Monorepo target layout and migration phases
|
|
sidebar_label: Monorepo target layout
|
|
description: Planned top-level structure and phased migration without a single big-bang refactor.
|
|
---
|
|
|
|
# Monorepo target layout and migration phases
|
|
|
|
The repository **stays one Git repo**. The goal is **clear boundaries** between framework, mods, plugins, templates, docs, and tooling so users, modders, and contributors can navigate predictably.
|
|
|
|
## Target topology (directional)
|
|
|
|
| Top-level | Purpose |
|
|
|-----------|---------|
|
|
| `gregCore/framework/` | Core MelonLoader framework (`gregCore/framework/FrikaMF.csproj`, `Sdk/`, `ModLoader/`, entry `framework/Main.cs`) |
|
|
| `mods/` | Gameplay mods (`FMF.Mod.*`, `FMF.*.dll` style) |
|
|
| `plugins/` | FFM plugins (`FFM.Plugin.*`) |
|
|
| `Templates/` | Scaffolds for new mods/plugins |
|
|
| `wiki/` | Docusaurus site (product docs; route base `/wiki`) |
|
|
| `tools/` | Repo maintenance: hook catalog generator, codegen stubs |
|
|
| `scripts/` | Release automation (existing) |
|
|
|
|
**Binaries**: prefer **GitHub Releases** (and pre-releases for beta) over committing DLLs. See [Release channels](../reference/release-channels.md).
|
|
|
|
## Phased migration (no big-bang)
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
p1[Phase1_DocsAndTools]
|
|
p2[Phase2_MoveModsPlugins]
|
|
p3[Phase3_FrameworkExtract]
|
|
p4[Phase4_CIRedirects]
|
|
p1 --> p2 --> p3 --> p4
|
|
```
|
|
|
|
| Phase | Scope | Exit criteria |
|
|
|-------|--------|---------------|
|
|
| **1** | Docs, `tools/`, naming wiki, hook catalog script | Docusaurus build green; script generates catalog |
|
|
| **2** | `git mv` former `ModsAndPlugins/` → `mods/` / `plugins/` | Done — `.csproj` relative paths unchanged (depth preserved); CI/docs updated |
|
|
| **3** | Framework sources under `framework/` | Done — `FrikaMF.sln` points at `framework\framework/FrikaMF.csproj`; plugins reference `..\..\framework\framework/FrikaMF.csproj` |
|
|
| **4** | CI matrix: docs + dotnet; `plugin-client-redirects` for old URLs | PR checks match local workflow |
|
|
|
|
## Path updates checklist (Phase 2 applied)
|
|
|
|
- [x] `FrikaMF.sln` project paths (`plugins\FFM.Plugin.*`)
|
|
- [x] `.github/workflows` (CodeQL, release assets, Discord feed)
|
|
- [x] Contributor docs and mod/plugin wiki pages (`Project Path` lines)
|
|
- [ ] [`wiki/docusaurus.config.js`](https://github.com/mleem97/gregFramework/blob/master/wiki/docusaurus.config.js) redirects (only if public URLs must map old paths)
|
|
- [ ] Historical wiki-import pages may still mention `StandaloneMods/` — update when editing those files
|
|
|
|
## Related
|
|
|
|
- [Repo inventory](./repo-inventory.md)
|
|
- [FMF hook naming](../reference/fmf-hook-naming.md)
|