# Firefrost Gaming — Local Nitro Workspace

## What This Is
Claude Code is now running locally on Michael's Nitro laptop (AN515-55).
This repo is `firefrost-services` — all services, mods, and tools in one place.
Git remote pushes to git.firefrostgaming.com (Gitea).

## Environment Change (April 15, 2026)
Previously: Claude Code ran via SSH on Dev Panel (64.50.188.128) at `/opt/mod-builds/firefrost-services`
Now: Claude Code runs locally on Nitro at `C:\Users\mkrau\firefrost-services`

**What this means:**
- Java/Gradle builds are NOT available locally — mod compilation must be done on Dev Panel or dispatched via bridge
- All three repos are cloned locally: `firefrost-services`, `firefrost-operations-manual`, `firefrost-website`
- Workflow: edit locally → git push → Chronicler deploys to servers
- The bridge protocol works the same way

## Projects
- `services/rules-mod/` — Minecraft /rules command mod (3 versions)
- `services/modpack-version-checker/` — ModpackChecker (Python CLI + Pterodactyl Blueprint extension)
- `services/arbiter-3.0/` — Arbiter backend (Node.js/Express)
- `services/trinity-core/` — MCP gateway for SSH access

## Java Versions (for mod builds)
- Java 8: `/usr/lib/jvm/java-8-openjdk-amd64` (Forge 1.16.5)
- Java 17: `/usr/lib/jvm/java-17-openjdk-amd64` (Forge 1.20.1)
- Java 21: `/usr/lib/jvm/java-21-openjdk-amd64` (NeoForge 1.21.1)
- Switcher: `source use-java {8|17|21}`

## Gradle (for mod builds)
- Gradle 8.8: `/opt/gradle-8.8` (NeoForge + modern Forge)
- Gradle 7.6.4: `/opt/gradle-7.6.4` (Forge 1.16.5)

## Other Tools
- Python 3.12, PHP 8.3, Node.js 24
- Blueprint beta-2026-01 (Pterodactyl extension framework)
- ModpackChecker Phase 5 backup: `/root/modpackchecker_backup/`

## NextCloud Upload (for mod jars)
```
curl -u "mkrause612:APP_TOKEN" -T file.jar \
  "https://downloads.firefrostgaming.com/remote.php/dav/files/mkrause612/Firefrost-Mods/..."
```

## Active Tasks

### Task 138 — Discord Rules Mod (CurseForge Release)
**Goal:** Fork the Firefrost-specific rules mod into a generic version and publish on CurseForge.

**What to do:**
- Create `services/rules-mod/discord-rules/` directory (fork from 1.21.1 code)
- Mod name: "Discord Rules" (not "Firefrost Rules")
- Remove Fire/Frost/Arcane color detection — replace with configurable header_color and body_color in TOML config
- Remove emoji-to-bracket conversion (or make it a config toggle)
- Generic branding in mods.toml, MIT license
- Compile all 3 versions (1.21.1, 1.20.1, 1.16.5)
- Draft CurseForge project page description and changelog

**Source code:** `services/rules-mod/1.21.1/`, `1.20.1/`, `1.16.5/`

## Gemini Consultations (Reference Library)
The operations manual is cloned at `C:\Users\mkrau\firefrost-operations-manual\` (local Nitro) or `/opt/mod-builds/firefrost-operations-manual/` (Dev Panel via SSH).
Gemini architectural consultations are at `docs/consultations/` in that repo.
When working on a project, check for relevant consultations BEFORE making architectural decisions.

### Key consultations by project:

**Rules Mod / Forge Ecosystem:**
- `gemini-rules-mod-compilation-2026-04-12.md` — build strategy, port guide
- `gemini-forge-ecosystem-*.md` — Forge/NeoForge ecosystem reference
- `gemini-blueprint-casing-2026-04-06.md` — Blueprint naming conventions

**ModpackChecker:**
- `gemini-modpack-version-checker-review-2026-04-01.md` — full architecture review
- `gemini-modpack-database-schema-2026-04-01.md` — database schema design
- `gemini-modpackchecker-round3-licensing-support/` — licensing and support model
- `gemini-hybrid-detection-2026-04-06.md` — hybrid auto-detection approach

To read a consultation: `cat /opt/mod-builds/firefrost-operations-manual/docs/consultations/FILENAME`

---

## COMMUNICATION BRIDGE PROTOCOL

You are connected to a higher-level planning AI (the Chronicler) via Git.
The Chronicler runs on claude.ai and has access to infrastructure, Gemini consultations, and the full operations manual. Michael is the messenger between you.

### 1. Triggering a Request
If you encounter an architectural decision outside your context, or fail at a task more than 3 times, STOP.
Write a request file to `docs/code-bridge/requests/` using this format:

**Filename:** `REQ-YYYY-MM-DD-short-topic.md`

```markdown
# Architectural Request

**Date:** YYYY-MM-DD
**Topic:** [Brief summary of the issue]

## 1. Current State
[What you were trying to do]

## 2. The Blocker
[Exactly where you got stuck or what decision you cannot make]

## 3. Questions for Gemini
- [Question 1]
- [Question 2]
```

After writing the file, commit and push:
```bash
git add docs/code-bridge/requests/
git commit -m "bridge: Request — [topic]"
git push
```

Then tell Michael: "I've filed a consultation request. Please bring it to the Chronicler."

### 2. Checking for Responses
Before starting a new task, always check `docs/code-bridge/responses/` for new files.
Response files are named `RES-YYYY-MM-DD-short-topic.md` (matching the REQ name).

Response format:
```markdown
# Architectural Response

**Re:** [Matching REQ name]
**Date:** YYYY-MM-DD

## 1. Gemini's Verdict
[1-2 sentence summary]

## 2. Action Plan
- [ ] Step 1
- [ ] Step 2

## 3. Updated Rules/Context
[Anything new to remember going forward]
```

After reading and executing a response, move it to `docs/code-bridge/archive/`.

### 3. Updating Status
At the end of your workflow, or before handing control back to Michael, update:
`docs/code-bridge/status/ACTIVE_CONTEXT.md`

```markdown
# Code Status Update
**Last Updated:** YYYY-MM-DD HH:MM

## Current Focus
[What you are actively building]

## Recently Completed
- [Task 1]
- [Task 2]

## Next Steps Pending
- [Task 3]
- [Task 4]
```

Commit and push the status update.

### 4. Queue Management
If you check `docs/code-bridge/requests/` and see more than 2 pending requests without responses, pause all major architectural changes and wait for Michael to clear the queue.

### 5. Clarifications
If a response references something you don't understand, file a new request:
`REQ-YYYY-MM-DD-clarification-on-[topic].md`

---

## Accessibility
Michael has hand surgery limitations. Small code blocks (8-10 lines).
One question at a time. Complete files over patches.
