diff --git a/architecture.md b/architecture.md index a9be755..967257a 100644 --- a/architecture.md +++ b/architecture.md @@ -1,30 +1,30 @@ --- -title: Monorepo — Architecture -sidebar_label: Monorepo architecture -description: Core vs bindings vs mods; hook scanner; Game2Framework compatibility. +title: Repository architecture +sidebar_label: Repository architecture +description: Aktuelle Multi-Repo-Architektur mit `gregFramework` als Wrapper und klarer Repo-Trennung. --- -# Monorepo — Architecture - ## Layers | Layer | Role | -|------|------| -| **Core** | MelonLoader mod + event dispatch — today under `framework/FrikaMF/` (C#). Target layout: `FrikaModFramework/src/core/`. | -| **Bindings** | Language-specific surfaces — placeholders under `FrikaModFramework/src/bindings/`. | -| **Mods / plugins** | Shipped sources in `mods/` and `plugins/`; optional pilot tree `HexMod/` (VDF + hooks metadata). | -| **Docs** | Docusaurus consumes repo-root `docs/`; app lives in `wiki/`. | +| ------ | ------ | +| **Wrapper** | `gregFramework/` enthält lokal alle Einzel-Repositories. | +| **Core** | `gregCore/FrikaMF-StandaloneRepo/` mit Framework, Hooks, MCP und Templates. | +| **Rust bridge** | In Core integriert unter `gregCore/FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`. | +| **Mods** | `gregMods/` + pro Mod eigenes Repo (`gregMod.`). | +| **Extensions** | `gregExtensions/` + pro Extension eigenes Repo (`gregExt.`). | +| **Docs** | `gregWiki/` als eigenes Repo für Dokumentation. | ## Hook registry -`FrikaModFramework/fmf_hooks.json` is the declarative **single source of truth** for documented `FMF.*` hooks. The runtime still exposes legacy `FFM.*` strings where not yet migrated. +Hook-Naming und Registry bleiben fachlich im Core verankert; bei Split-Änderungen gilt immer der Core-Stand als Referenz. ## Tools -- **`tools/fmf-hook-scanner`** — emit the [FMF Hook Reference](./fmf-hooks) page from the registry. -- **`tools/game2framework-migrator`** — dry-run mapping using `tools/fmf-hook-scanner/mapping/game2framework-map.json`. -- **`mcp-server/`** — Model Context Protocol server (docs + registry) for IDEs; can run in Docker with the static wiki — see [MCP server](../../reference/mcp-server.md). +- **Core tools:** `gregCore/FrikaMF-StandaloneRepo/tools/` +- **MCP runtime:** `gregCore/FrikaMF-StandaloneRepo/mcp-server/` +- **Hook-/Mapping-Utilities:** ebenfalls unter Core-Tools, versioniert mit dem Core-Repo. ## Steam & Workshop -Workshop templates: `templates/workshop/`. CLI/upload scripts: `tools/steam-workshop-upload/`. Desktop uploader (Windows MAUI): `WorkshopUploader/` (see `WorkshopUploader/README.md`). +Workshop-Templates und Deployment-Skripte liegen im Core-Repo unter `FrikaMF-StandaloneRepo/Templates/` und `FrikaMF-StandaloneRepo/scripts/`. diff --git a/getting-started.md b/getting-started.md index a05c13b..eb6bd4b 100644 --- a/getting-started.md +++ b/getting-started.md @@ -1,20 +1,27 @@ --- -title: Monorepo — Getting started -sidebar_label: Monorepo getting started -description: Target layout (FrikaModFramework, templates, tools) and how it maps to this repo today. +title: Getting started +sidebar_label: Getting started +description: Aktueller Stand nach Repo-Split: Wrapper-Struktur, Core-Build und Mod-/Extension-Repos. --- -# Monorepo — Getting started +Die Struktur ist jetzt **Multi-Repo** mit `gregFramework/` als lokalem Wrapper-Ordner. Darin liegen die eigenständigen Repositories, z. B.: -The **goal** is a clear split between the framework (`FrikaModFramework/` registry + planned bindings), the **live** MelonLoader code (`framework/`), gameplay mods (`mods/`), FFM plugins (`plugins/`), templates (`templates/` / `Templates/`), and tooling (`tools/`). Migration is incremental: production C# still lives under [`framework/`](https://github.com/mleem97/gregFramework/tree/master/framework). +- `gregCore/` (Core SDK, inkl. `FrikaMF-StandaloneRepo/`) +- `gregMods/` (einzelne Mod-Repos) +- `gregExtensions/` (einzelne Extension-Repos) +- `gregWiki/` (Dokumentation) -## Clone and build the framework +`DataCenter-RustBridge` wird in den Core integriert und liegt im Core-Baum unter: + +- `gregCore/FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/` + +## Core bauen ```text -dotnet build framework/FrikaMF.csproj +dotnet build gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln -c Release ``` -Or open [`FrikaMF.sln`](https://github.com/mleem97/gregFramework/blob/master/FrikaMF.sln) in Visual Studio / Rider. +Alternativ in IDE: `gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln` öffnen. ## Hook naming @@ -22,16 +29,16 @@ Or open [`FrikaMF.sln`](https://github.com/mleem97/gregFramework/blob/master/Fri - **Registry:** [`FrikaModFramework/fmf_hooks.json`](https://github.com/mleem97/gregFramework/blob/master/FrikaModFramework/fmf_hooks.json). - **Legacy runtime strings** may still use `FFM.*` in [`HookNames`](https://github.com/mleem97/gregFramework/blob/master/framework/FrikaMF/HookNames.cs) until migrated. -## Create a mod from the template +## Mod starten -1. Copy [`templates/mod/`](https://github.com/mleem97/gregFramework/tree/master/templates/mod) to a new folder (or start from [`Templates/`](https://github.com/mleem97/gregFramework/tree/master/Templates) scaffolds). -2. Edit `fmf/hooks.json` and add sources under `src/`. -3. For a **pilot** layout (Workshop VDF + hooks metadata), see [`HexMod/`](https://github.com/mleem97/gregFramework/tree/master/HexMod); shipped mod examples live under [`mods/`](https://github.com/mleem97/gregFramework/tree/master/mods) (e.g. `mods/FMF.Mod.HexLabelMod/`). +1. Neues Mod-Repo unter `gregMods/` nach Schema `gregMod.` anlegen. +2. Templates aus `gregCore/FrikaMF-StandaloneRepo/Templates/` nutzen. +3. Hook-Metadaten pflegen und Mod im eigenen Repo versionieren. ## Documentation site -- **Content:** [`docs/`](https://github.com/mleem97/gregFramework/tree/master/docs) -- **Docusaurus app:** [`wiki/`](https://github.com/mleem97/gregFramework/tree/master/wiki) — `npm install` and `npm run start` (dev) or `npm run build` (static output). +- **Repo:** `gregWiki/` +- **Inhalt:** Markdown/MDX in diesem Repo, angepasst an den Split-Stand. ### Docker @@ -40,4 +47,4 @@ Or open [`FrikaMF.sln`](https://github.com/mleem97/gregFramework/blob/master/Fri ## Assistants / MCP -The repo includes [`mcp-server/`](https://github.com/mleem97/gregFramework/tree/master/mcp-server) for Model Context Protocol (search docs, read `fmf_hooks.json`, CONTRIBUTING). Use **stdio** locally or the **HTTP** endpoint bundled with the `docs-mcp` Docker image — details in [`docs/reference/mcp-server.md`](https://github.com/mleem97/gregFramework/blob/master/docs/reference/mcp-server.md). +Der MCP-Server für Framework-Scan/Tooling liegt im Core-Umfeld (`gregCore/FrikaMF-StandaloneRepo/mcp-server/`). diff --git a/intro.md b/intro.md index 801af5b..a01209a 100644 --- a/intro.md +++ b/intro.md @@ -4,7 +4,7 @@ title: FrikaMF Docs Start slug: /docs --- -This documentation matches the **current monorepo**: MelonLoader framework under `framework/`, gameplay mods under `mods/`, FFM plugins under `plugins/`, Docusaurus content in `docs/`, and the wiki app in `wiki/`. It is written for **players**, **mod developers**, **contributors**, and **sponsors** — pick a lane below. +Diese Dokumentation beschreibt den **aktuellen Split-Stand**: `gregFramework/` als Wrapper mit Einzel-Repositories für Core, Mods, Extensions und Wiki. Sie richtet sich an **Spieler**, **Mod-Developer**, **Contributors** und **Sponsoren**. ## Für wen? — Who is this for? @@ -17,10 +17,12 @@ This documentation matches the **current monorepo**: MelonLoader framework under **Experience tracks** (newbies → pros): [By audience](./topics/audiences/overview.md) → [Newbies](./audiences/newbies.md), [Intermediates](./audiences/intermediates.md), [Professionals](./audiences/professionals.md). -## Mods Hub +## Repository Hub -- Framework entry: [`Framework`](./mods/framework.md) -- Standalone / mod list: [`Standalone Mods`](./mods/standalone/index.md) +- Core: `gregCore/FrikaMF-StandaloneRepo/` +- Mods: `gregMods/` (Repos `gregMod.`) +- Extensions: `gregExtensions/` (Repos `gregExt.`) +- Wiki: `gregWiki/` ## Hooks and releases @@ -31,11 +33,11 @@ This documentation matches the **current monorepo**: MelonLoader framework under ## Repository layout (contributors) -- [Repo inventory](./contributors/repo-inventory.md) — projects, solution scope, entry points -- [Monorepo target layout](./contributors/monorepo-target-layout.md) — phased migration goals +- [Repo inventory](./contributors/repo-inventory.md) — aktuelle Projekt-/Repo-Übersicht +- Split-Konvention: `gregMod.`, `gregExt.`, `gregSta.` ## Source model -- **Authoring:** Markdown and MDX live in the repo-root **`docs/`** folder (this tree). See the **[`docs/` layout map](./README.md)** for what lives where (curated topics vs `wiki-import/` vs `wiki/` stubs). -- **Site:** The Docusaurus application is in **`wiki/`**; routes use base **`/wiki`** (see [Docusaurus workflow](./contributors/docusaurus-workflow.md)). -- **Legacy GitHub Wiki:** Mirrored under **`docs/wiki-import/`**; refresh from **`.wiki/`** with `npm run wiki:refresh` in `wiki/`. Details: [Legacy wiki import](./topics/wiki-import/overview.md). +- **Authoring:** Inhalte liegen im `gregWiki`-Repo. +- **Core source of truth:** technische Runtime-/Bridge-Details kommen aus `gregCore`. +- **RustBridge:** ist im Core integriert unter `FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`.