chore: initialize gregWiki standalone repository

This commit is contained in:
Marvin
2026-04-08 00:10:25 +02:00
commit d377ff70a8
186 changed files with 4885 additions and 0 deletions

13
meta/IDEA_BACKLOG.md Normal file
View File

@@ -0,0 +1,13 @@
# Idea backlog (Discord and manual)
Add one line per idea. Unchecked items can be turned into GitHub issues with `python tools/auto_issue_creator.py`.
## Pending
- [ ] (example) Add a smoke test for the FFI bridge.
## Process
1. Discord: `!request Your idea` (requires `DISCORD_BOT_TOKEN` and `tools/discord_bridge.py`).
2. Or edit this file manually.
3. Run `python tools/auto_issue_creator.py` to create issues from unchecked lines (requires `gh` CLI and auth).

View File

@@ -0,0 +1,39 @@
# Steam Workshop and tooling
## Live-Sync references
After a *Data Center* update, run the game once so MelonLoader regenerates interop assemblies, then from the repo root:
```bash
python tools/refresh_refs.py
```
Optionally save a baseline for diffs:
```bash
python tools/diff_assembly_metadata.py --save-snapshot
```
After future updates:
```bash
python tools/diff_assembly_metadata.py
```
Do **not** commit `*.dll` from `lib/references/` (see `.gitignore`).
## Steam Workshop (research)
Official upload and item layout for *Data Center* Workshop content may be undocumented by the developer. Until documented:
- Treat Workshop delivery as **game-defined** (often content under game data / `StreamingAssets`; MelonLoader mods remain **DLLs in `Mods/`**).
- The **WorkshopUploader** desktop app (see `WorkshopUploader/`) is the supported path for authors to manage Workshop items and DevServer betas once Steamworks is configured.
## Legal
Do not redistribute game binaries or extracted assets. Workshop packages should contain **your** content only.
## CI / agents
- `FrikaMF.csproj` builds on Windows agents that have either a Steam *Data Center* install **or** a populated `lib/references/MelonLoader/` (from `refresh_refs.py`).
- `WorkshopUploader` targets `net6.0-windows`; build it on Windows (not Linux-hosted runners unless cross-compilation is configured).

25
meta/devserver-betas.md Normal file
View File

@@ -0,0 +1,25 @@
# DevServer API — beta channels (`gregframework.eu`)
This document defines the **intended** client contract for the FrikaMF **WorkshopUploader** “Betas” panel. The server may be implemented separately; keep URLs and tokens configurable.
## Base URL
- Default: `https://gregframework.eu`
- Override: user settings file next to the app (not committed to git).
## Endpoints (proposed)
| Method | Path | Purpose |
|--------|------|---------|
| `GET` | `/api/v1/betas` | List available beta channels (id, name, description). |
| `POST` | `/api/v1/betas/{id}/subscribe` | Enroll the current user (body: Steam ID or bearer token from OAuth). |
| `POST` | `/api/v1/betas/{id}/unsubscribe` | Leave a channel. |
## Authentication
- **Preferred:** Short-lived JWT after browser OAuth to `gregframework.eu`, stored in user settings.
- **Alternative:** Steam ID from Steamworks session in the WorkshopUploader process, plus server-side verification.
## Rate limiting and errors
Clients should show HTTP status and response body on failure; retry with backoff.