This commit is contained in:
Marvin
2026-04-10 01:39:48 +02:00
parent d1650139d9
commit b37a0d9078
12 changed files with 19107 additions and 60 deletions

View File

@@ -15,9 +15,9 @@ These folders typically sit **next to each other** in a developer workspace (see
| Area | Path (on disk) | Role |
|------|----------------|------|
| **Framework core** | `gregCore/FrikaMF-StandaloneRepo/` | Platform **framework core**: translations, hooks, Harmony/event runtime, MelonLoader hosting, bridges; plugins under `plugins/`; templates under `Templates/` |
| **Mods** | `gregMods/gregMod.<Name>/` | Standalone gameplay mods (`FMF.*`) as individual repositories |
| **Extensions** | `gregExtensions/gregExt.<Name>/` | Extension modules (e.g. player models) |
| **Framework core** | `gregCore/` | Platform **framework core**: translations, hooks, Harmony/event runtime, MelonLoader hosting, bridges; plugins under `plugins/`; templates under `Templates/` |
| **Mods** | `gregMod.<Name>/` (direkt unter `gregFramework/`) | Standalone gameplay mods (`FMF.*`) as individual repositories |
| **Extensions** | `gregExt.<Name>/` (direkt unter `gregFramework/`) | Extension modules (e.g. player models) |
| **Documentation** | `gregWiki/` ([`mleem97/gregWiki`](https://github.com/mleem97/gregWiki)) | **This site**: Docusaurus app at repo root, all authored pages under `docs/` |
| **Legacy / staging exporter** | `gregDataCenterExporter/` | Historical monolith layout; some tools and HexMod assets may still live here during migration |
| **Other tools** | `gregIPAM/` (DHCP + IPAM; assembly `DHCPSwitches`), `gregStore/` (**Gregweb**, private repo), `gregReferences/`, `gregInternalDocs/`, `gregMeta/` | Supporting repos and internal notes |
@@ -26,10 +26,10 @@ These folders typically sit **next to each other** in a developer workspace (see
| Concern | Where to look |
|---------|----------------|
| Framework `.csproj` | `gregCore/FrikaMF-StandaloneRepo/framework/FrikaMF.csproj` |
| Plugins (`FFM.Plugin.*`) | `gregCore/FrikaMF-StandaloneRepo/plugins/` |
| Mod sources | `gregMods/` (per-mod folders) and templates under `gregCore/FrikaMF-StandaloneRepo/Templates/` |
| MCP server | `gregCore/FrikaMF-StandaloneRepo/mcp-server/` (and parallel copies in other repos as wired locally) |
| Framework `.csproj` | `gregCore/framework/FrikaMF.csproj` |
| Plugins (`FFM.Plugin.*`) | `gregCore/plugins/` |
| Mod sources | `gregMod.*/` and templates under `gregCore/Templates/` |
| MCP server | `gregCore/mcp-server/` (and parallel copies in other repos as wired locally) |
| Wiki content | `gregWiki/docs/` |
## Wiki import (legacy)
@@ -38,14 +38,14 @@ Long-form pages mirrored from the GitHub Wiki live under [`docs/legacy/wiki-impo
## .NET projects on disk (`*.csproj`)
Paths below are relative to **`gregCore/FrikaMF-StandaloneRepo/`** (standalone framework repo). Individual mods may live under **`gregMods/gregMod.*/`** with their own `.csproj` names.
Paths below are relative to **`gregCore/`** (framework repo root). Individual mods may live under **`gregMod.*/`** with their own `.csproj` names.
| Project | Location | In `FrikaMF.sln`? |
|---------|----------|-------------------|
| FrikaMF | `framework/FrikaMF.csproj` | Yes |
| WorkshopUploader | `tools/steam-workshop-upload/` or legacy `workshopuploader/` (varies by branch) | Usually separate solution |
| FFM.Plugin.* | `plugins/FFM.Plugin.*/` | Yes when included in `FrikaMF.sln` |
| FMF.* mods | `gregMods/gregMod.*/` (clone layout) | Per-repo / optional |
| FMF.* mods | `gregMod.*/` (clone layout, under `gregFramework/`) | Per-repo / optional |
| Templates | `Templates/FMF.*`, `Templates/StandaloneModTemplate/` | No |
## Build status (framework project)

View File

@@ -13,10 +13,10 @@ Mods, MelonLoader-Plugins und Extensions liefern ihre **Logik ausschließlich in
| Layer | Role |
| ------ | ------ |
| **Wrapper** | `gregFramework/` enthält lokal alle Einzel-Repositories. |
| **Core** | `gregCore/FrikaMF-StandaloneRepo/`**Framework-Kern**: Übersetzung, Hooks, Harmony/Event-Laufzeit, MCP, Templates und zugehörige Kernfunktionen. |
| **Rust bridge** | In Core integriert unter `gregCore/FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`. |
| **Mods** | `gregMods/` + pro Mod eigenes Repo (`gregMod.<Name>`). |
| **Extensions** | `gregExtensions/` + pro Extension eigenes Repo (`gregExt.<Name>`). |
| **Core** | `gregCore/`**Framework-Kern**: Übersetzung, Hooks, Harmony/Event-Laufzeit, MCP, Templates und zugehörige Kernfunktionen. |
| **Rust bridge** | In Core integriert unter `gregCore/bridges/gregSta.RustBridge/`. |
| **Mods** | `gregMod.<Name>/` — jeweils eigenes Repo direkt unter `gregFramework/`. |
| **Extensions** | `gregExt.<Name>/` — jeweils eigenes Repo direkt unter `gregFramework/`. |
| **Docs** | `gregWiki/` als eigenes Repo für Dokumentation. |
## Hook registry
@@ -25,10 +25,10 @@ Hook-Naming und Registry bleiben fachlich im Core verankert; bei Split-Änderung
## Tools
- **Core tools:** `gregCore/FrikaMF-StandaloneRepo/tools/`
- **MCP runtime:** `gregCore/FrikaMF-StandaloneRepo/mcp-server/`
- **Core tools:** `gregCore/tools/`
- **MCP runtime:** `gregCore/mcp-server/`
- **Hook-/Mapping-Utilities:** ebenfalls unter Core-Tools, versioniert mit dem Core-Repo.
## Steam & Workshop
Workshop-Templates und Deployment-Skripte liegen im Core-Repo unter `FrikaMF-StandaloneRepo/Templates/` und `FrikaMF-StandaloneRepo/scripts/`.
Workshop-Templates und Deployment-Skripte liegen im Core-Repo unter `gregCore/Templates/` und `gregCore/scripts/`.

View File

@@ -6,23 +6,23 @@ description: "Split-repo workspace: gregFramework layout, building the core, and
The workspace is **multi-repo** with a local `gregFramework/` folder containing standalone repositories, for example:
- `gregCore/`**framework core** (under `FrikaMF-StandaloneRepo/`): translations, hooks, Harmony/event runtime, templates, bridges, and related core features
- `gregMods/` (per-mod repositories)
- `gregExtensions/` (per-extension repositories)
- `gregCore/`**framework core**: translations, hooks, Harmony/event runtime, templates, bridges, and related core features
- `gregMod.<Name>/` (per-mod repositories, directly under `gregFramework/`)
- `gregExt.<Name>/` (per-extension repositories, directly under `gregFramework/`)
- `gregWiki/` (this documentation site)
- `gregStore/` (**Gregweb**, private repository — modstore web + infra; Next.js under `web/`)
The upstream **DataCenter-RustBridge** project is integrated into the core tree at:
- `gregCore/FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`
- `gregCore/bridges/gregSta.RustBridge/`
## Build the core
```text
dotnet build gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln -c Release
dotnet build gregCore/FrikaMF.sln -c Release
```
Or open `gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln` in your IDE.
Or open `gregCore/FrikaMF.sln` in your IDE.
## Language (mods / plugins / extensions)
@@ -36,8 +36,8 @@ Or open `gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln` in your IDE.
## Start a mod
1. Create a new mod repo under `gregMods/` using the `gregMod.<Name>` pattern.
2. Use templates from `gregCore/FrikaMF-StandaloneRepo/Templates/`.
1. Create a new mod repo folder `gregMod.<Name>/` under `gregFramework/` using the `gregMod.<Name>` pattern.
2. Use templates from `gregCore/Templates/`.
3. Maintain hook metadata and version the mod in its own repository.
## Documentation site
@@ -51,4 +51,4 @@ From the `gregWiki` root: `docker build -t gregwiki-docs .` then `docker run --r
### MCP
See [`reference/mcp-server`](./reference/mcp-server.md) — the server lives next to the core sources (`gregCore/FrikaMF-StandaloneRepo/mcp-server/`).
See [`reference/mcp-server`](./reference/mcp-server.md) — the server lives next to the core sources (`gregCore/mcp-server/`).

View File

@@ -21,9 +21,9 @@ This documentation describes the **current split layout**: a local `gregFramewor
## Repository hub
- [Workspace map](./workspace/index.mdx) — how folders map to repos
- **Framework core:** `gregCore/``FrikaMF-StandaloneRepo/` (translations, hooks, runtime, templates, bridges)
- Mods: `gregMods/` (repos `gregMod.<Name>`)
- Extensions: `gregExtensions/` (repos `gregExt.<Name>`)
- **Framework core:** `gregCore/` (translations, hooks, runtime, templates, bridges)
- Mods: `gregMod.<Name>/` (directly under `gregFramework/`)
- Extensions: `gregExt.<Name>/` (directly under `gregFramework/`)
- Wiki: `gregWiki/` (this site)
## Hooks and releases
@@ -43,4 +43,4 @@ This documentation describes the **current split layout**: a local `gregFramewor
- **Authoring:** Markdown/MDX lives in the **gregWiki** repository.
- **Technical source of truth:** the **framework core** is **gregCore** — translations, hooks, and runtime/bridge implementation live there.
- **Rust bridge:** integrated in the core tree under `FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`.
- **Rust bridge:** integrated in the core tree under `gregCore/bridges/gregSta.RustBridge/`.

View File

@@ -6,7 +6,7 @@ description: Standalone MelonLoader gameplay mods (FMF.*) — separate from FFM
# Gameplay mods
These pages document **gameplay mods** (`FMF.*` assemblies), hosted under `gregMods/` in the workspace. They are **not** the same as [FFM plugins](../plugins/index), which extend the framework inside the game process.
These pages document **gameplay mods** (`FMF.*` assemblies), each repo at `gregMod.<Name>/` directly under `gregFramework/`. They are **not** the same as [FFM plugins](../plugins/index), which extend the framework inside the game process.
## Mods

View File

@@ -10,9 +10,9 @@ The **gregFramework** folder groups several repositories (split layout). Use thi
| Area | Folder | Role |
|------|--------|------|
| Framework core | `gregCore/FrikaMF-StandaloneRepo/` | **Framework core**: translations, hooks, runtime (Harmony/events), MelonLoader host, plugins (`FFM.Plugin.*`), templates, bridges |
| Mods | `gregMods/gregMod.<Name>/` | Standalone gameplay mods (`FMF.*`) |
| Extensions | `gregExtensions/gregExt.<Name>/` | Extension modules (e.g. player models) |
| Framework core | `gregCore/` | **Framework core**: translations, hooks, runtime (Harmony/events), MelonLoader host, plugins (`FFM.Plugin.*`), templates, bridges |
| Mods | `gregMod.<Name>/` (direkt unter `gregFramework/`) | Standalone gameplay mods (`FMF.*`) |
| Extensions | `gregExt.<Name>/` (direkt unter `gregFramework/`) | Extension modules (e.g. player models) |
| Documentation | `gregWiki/` | This Docusaurus site (`docs/`) |
| Legacy / tools | `gregDataCenterExporter/` | Historical monolith; migration staging |
| Modstore / infra | `gregStore/` | **Gregweb** (private repo): Next.js app (`web/`), Docker stack (`infra/`, compose at repo root) |

View File

@@ -93,8 +93,13 @@ const config = {
if (existingPath.startsWith('/wiki/')) {
const legacyPath = existingPath.replace('/wiki', '');
// Avoid shadowing the static /mods catalog page and its children
if (legacyPath === '/mods' || legacyPath.startsWith('/mods/')) {
// Avoid shadowing static pages and explicit redirects in `redirects` below
if (
legacyPath === '/mods' ||
legacyPath.startsWith('/mods/') ||
legacyPath === '/plugins' ||
legacyPath.startsWith('/plugins/')
) {
return undefined;
}
return [legacyPath];

View File

@@ -6,23 +6,23 @@ description: "Split-Repo-Workspace: gregFramework-Layout, Core bauen und wo die
Die Struktur ist **Multi-Repo** mit `gregFramework/` als lokalem Wrapper-Ordner. Darin liegen die eigenständigen Repositories, z. B.:
- `gregCore/`**Framework-Kern** (`FrikaMF-StandaloneRepo/`): Übersetzung, Hooks, Harmony-/Event-Laufzeit, Templates, Bridges und übrige Kernfunktionen
- `gregMods/` (einzelne Mod-Repos)
- `gregExtensions/` (einzelne Extension-Repos)
- `gregCore/`**Framework-Kern**: Übersetzung, Hooks, Harmony-/Event-Laufzeit, Templates, Bridges und übrige Kernfunktionen
- `gregMod.<Name>/` (einzelne Mod-Repos, direkt unter `gregFramework/`)
- `gregExt.<Name>/` (einzelne Extension-Repos, direkt unter `gregFramework/`)
- `gregWiki/` (Dokumentation)
- `gregStore/` (**Gregweb**, privates Repository — Modstore Web + Infra; Next.js unter `web/`)
Das Upstream-Projekt **DataCenter-RustBridge** wird in den Core integriert und liegt unter:
- `gregCore/FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`
- `gregCore/bridges/gregSta.RustBridge/`
## Core bauen
```text
dotnet build gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln -c Release
dotnet build gregCore/FrikaMF.sln -c Release
```
Alternativ in der IDE: `gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln` öffnen.
Alternativ in der IDE: `gregCore/FrikaMF.sln` öffnen.
## Sprache (Mods / Plugins / Extensions)
@@ -36,8 +36,8 @@ Alternativ in der IDE: `gregCore/FrikaMF-StandaloneRepo/FrikaMF.sln` öffnen.
## Mod starten
1. Neues Mod-Repo unter `gregMods/` nach Schema `gregMod.<Name>` anlegen.
2. Templates aus `gregCore/FrikaMF-StandaloneRepo/Templates/` nutzen.
1. Neues Mod-Repo als Ordner `gregMod.<Name>/` unter `gregFramework/` anlegen.
2. Templates aus `gregCore/Templates/` nutzen.
3. Hook-Metadaten pflegen und Mod im eigenen Repo versionieren.
## Dokumentations-Site
@@ -51,4 +51,4 @@ Im `gregWiki`-Root: `docker build -t gregwiki-docs .` und `docker run --rm -p 30
### MCP
Siehe [`reference/mcp-server`](/wiki/reference/mcp-server) im Core (`gregCore/FrikaMF-StandaloneRepo/mcp-server/`).
Siehe [`reference/mcp-server`](/wiki/reference/mcp-server) im Core (`gregCore/mcp-server/`).

View File

@@ -21,9 +21,9 @@ Diese Dokumentation beschreibt den **aktuellen Split-Stand**: `gregFramework/` a
## Repository-Hub
- [Workspace-Karte](/wiki/workspace/) — Ordner → Repos
- **Framework-Kern:** `gregCore/``FrikaMF-StandaloneRepo/` (Übersetzung, Hooks, Runtime, Templates, Bridges)
- Mods: `gregMods/` (Repos `gregMod.<Name>`)
- Extensions: `gregExtensions/` (Repos `gregExt.<Name>`)
- **Framework-Kern:** `gregCore/` (Übersetzung, Hooks, Runtime, Templates, Bridges)
- Mods: `gregMod.<Name>/` (direkt unter `gregFramework/`)
- Extensions: `gregExt.<Name>/` (direkt unter `gregFramework/`)
- Wiki: `gregWiki/`
## Hooks und Releases
@@ -43,4 +43,4 @@ Diese Dokumentation beschreibt den **aktuellen Split-Stand**: `gregFramework/` a
- **Authoring:** Inhalte liegen im **gregWiki**-Repo.
- **Technische Wahrheit:** Der **Framework-Kern** ist **gregCore** — Übersetzung, Hooks und Runtime/Bridge-Implementierung liegen dort.
- **RustBridge:** im Core unter `FrikaMF-StandaloneRepo/bridges/gregSta.RustBridge/`.
- **RustBridge:** im Core unter `gregCore/bridges/gregSta.RustBridge/`.

19039
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -15,16 +15,16 @@
"format:check": "prettier --check src scripts docusaurus.config.js sidebars.js README.md docs/getting-started/documentation-layout.md package.json .prettierrc.json docker-compose.yml"
},
"dependencies": {
"@docusaurus/core": "3.9.2",
"@docusaurus/plugin-client-redirects": "^3.9.2",
"@docusaurus/plugin-content-docs": "^3.9.2",
"@docusaurus/plugin-content-pages": "^3.9.2",
"@docusaurus/plugin-css-cascade-layers": "^3.9.2",
"@docusaurus/plugin-sitemap": "^3.9.2",
"@docusaurus/plugin-svgr": "^3.9.2",
"@docusaurus/preset-classic": "3.9.2",
"@docusaurus/theme-live-codeblock": "^3.9.2",
"@docusaurus/theme-search-algolia": "^3.9.2",
"@docusaurus/core": "^3.10.0",
"@docusaurus/plugin-client-redirects": "^3.10.0",
"@docusaurus/plugin-content-docs": "^3.10.0",
"@docusaurus/plugin-content-pages": "^3.10.0",
"@docusaurus/plugin-css-cascade-layers": "^3.10.0",
"@docusaurus/plugin-sitemap": "^3.10.0",
"@docusaurus/plugin-svgr": "^3.10.0",
"@docusaurus/preset-classic": "^3.10.0",
"@docusaurus/theme-live-codeblock": "^3.10.0",
"@docusaurus/theme-search-algolia": "^3.10.0",
"@tailwindcss/postcss": "^4.2.2",
"@tsparticles/engine": "^3.9.1",
"@tsparticles/react": "^3.0.0",
@@ -36,7 +36,7 @@
"tailwindcss": "^4.2.2"
},
"devDependencies": {
"@docusaurus/eslint-plugin": "^3.9.2",
"@docusaurus/eslint-plugin": "^3.10.0",
"prettier": "^3.5.3"
}
}

View File

@@ -60,6 +60,7 @@ const sidebars = {
{
type: 'category',
label: 'Players',
key: 'guides-players',
items: [
'guides/players/overview',
'guides/players/audiences-overview',
@@ -72,11 +73,13 @@ const sidebars = {
{
type: 'category',
label: 'Mod developers',
key: 'guides-mod-developers',
items: ['guides/mod-developers/overview'],
},
{
type: 'category',
label: 'Contributors',
key: 'guides-contributors',
items: [
'guides/contributors/topics-overview',
'guides/contributors/contributor-workshop',
@@ -86,6 +89,7 @@ const sidebars = {
{
type: 'category',
label: 'Sponsors',
key: 'guides-sponsors',
items: ['guides/sponsors/overview'],
},
],
@@ -132,7 +136,6 @@ const sidebars = {
'reference/wiki-mapping',
'reference/mod-store-vision',
'reference/fmf-hook-naming',
'reference/modding-language-requirement',
'reference/fmf-hooks-catalog',
'reference/mcp-server',
'reference/release-channels',