diff --git a/.kilo/agent/lyndas_mod.md b/.kilo/agent/lyndas_mod.md index 6feb1f6..784ef1c 100644 --- a/.kilo/agent/lyndas_mod.md +++ b/.kilo/agent/lyndas_mod.md @@ -8,8 +8,8 @@ This repository is for Lynda to build 7 Days to Die mods. The current target gam - **Username**: lynda - **IDE**: VS Code (installed, with Kilo Code extension) -- **Git**: Installed and configured -- **Repo**: `lyndas_mod` with origin remote pointing to Gitea server +- **Git**: Installed and configured (user: Lynda Straffin, email: lynda@straffin.net) +- **Repo**: `lyndas_mod` with origin remote pointing to Gitea server (`ssh://git.straffin.net:3001/lynda/lyndas_mod.git`) - **Game**: 7 Days to Die (Steam App ID: 251570) - **Mod Launcher**: 7D2DModLauncherV5 v5.1.8.2 @@ -22,6 +22,51 @@ This repository is for Lynda to build 7 Days to Die mods. The current target gam | Mod launcher install | `C:\Program Files (x86)\7D2DModLauncherV5` | | Mod launcher config | `C:\Users\lynda\AppData\Roaming\7D2DModLauncher\ModLauncher.txt` | | Mod staging root | `C:\7D2D` | +| Repo modlets folder | `C:\Users\lynda\Git\lyndas_mod\mods` | +| Steam mods folder | `C:\Steam\steamapps\common\7 Days To Die\Mods` | + +## Mod Development Workflow + +When Lynda wants to create or modify a modlet, walk her through these steps: + +### 1. Edit the modlet +- Make changes to files in `mods/` in this repo +- Common files to edit: + - `ModInfo.xml` — mod name, description, author, version + - `Config/*.xml` — actual game changes using XPath + +### 2. Enable/sync mods for testing +- Run `.kilo/scripts/modlet.ps1 -Action enable` to copy modlets to the Steam `Mods` folder +- If modlets are already enabled, run `.kilo/scripts/modlet.ps1 -Action sync` to update them + +### 3. Test in-game +- Launch 7 Days to Die +- Start a new save (modlets only apply to new games) +- Verify the changes work as expected + +### 4. Iterate +- If changes are needed, go back to step 1 +- Run `sync` after each change to update the Steam folder +- Test again in-game + +### 5. Disable mods +- Once satisfied, run `.kilo/scripts/modlet.ps1 -Action disable` to remove modlets from the Steam folder +- This ensures the vanilla game is clean for normal play + +### 6. Commit and push +- Stage changes: `git add mods/` +- Commit: `git commit -m "Description of changes"` +- Push: `git push origin main` + +### 7. Verify status +- Run `.kilo/scripts/modlet.ps1 -Action status` to confirm modlets are disabled + +## Important Notes + +- Always disable modlets before committing and pushing, unless the changes are intentionally meant to be deployed +- Modlets only apply to new saves — they won't affect existing saves +- The game should be closed when enabling/disabling/syncing modlets +- If something breaks, deleting the modlet folder from `C:\Steam\steamapps\common\7 Days To Die\Mods\` will revert to vanilla ## Existing Mods in Mod Launcher @@ -73,7 +118,6 @@ The following v3 mods are available in the mod launcher (under `C:\7D2D\v3\`): ## Notes -- v3 mods are now available in the mod launcher. - The ModLauncher config has stale `SteamPaths` pointing to `e:\steam\steamapps\common\7 Days To Die\` but the actual Steam install is at `C:\Steam\steamapps\common\7 Days To Die`. - Game saves are stored in `C:\Users\lynda\AppData\Roaming\7DaysToDie\Saves\` for vanilla and within each mod's directory for modded play. - Mod backups are stored in `C:\7D2D\Saves\Backups\`. diff --git a/.kilo/command/7d2d.md b/.kilo/command/7d2d.md index 5a124d9..db1b71d 100644 --- a/.kilo/command/7d2d.md +++ b/.kilo/command/7d2d.md @@ -14,20 +14,30 @@ ## Mod Development Workflow ### Simple Modlets (vanilla folder) -1. Create/update modlet files in `mods/` in this repo -2. Run `.kilo/scripts/modlet.ps1 -Action enable` to copy modlets to the Steam `Mods` folder -3. Launch the game and start a new save to test -4. Run `.kilo/scripts/modlet.ps1 -Action disable` to remove modlets when done -5. Run `.kilo/scripts/modlet.ps1 -Action sync` to update already-enabled modlets after making changes +1. **Edit** modlet files in `mods/` in this repo +2. **Enable/sync**: `.kilo/scripts/modlet.ps1 -Action enable` (first time) or `.kilo/scripts/modlet.ps1 -Action sync` (updates) +3. **Test**: Launch the game and start a new save +4. **Disable**: `.kilo/scripts/modlet.ps1 -Action disable` when done testing +5. **Commit**: `git add mods/ && git commit -m "..." && git push origin main` ### Full Mods (mod launcher) 1. Create/update mod files in this repo 2. Copy or sync modified files to the mod launcher's game copy under `C:\7D2D\v3\\` 3. Launch via Mod Launcher to test +## Script Reference + +| Command | Action | +|---------|--------| +| `.kilo/scripts/modlet.ps1 -Action enable` | Copy all modlets from `mods/` to Steam `Mods` folder | +| `.kilo/scripts/modlet.ps1 -Action disable` | Delete all modlets from Steam `Mods` folder | +| `.kilo/scripts/modlet.ps1 -Action sync` | Update already-enabled modlets with latest changes | +| `.kilo/scripts/modlet.ps1 -Action status` | Show which modlets are enabled/disabled | + ## Current Installed Mods See `ENVIRONMENT.md` for the full list of installed mods and their paths. ## Notes - Current target version is 3.x - v3 mods are available in the mod launcher under `C:\7D2D\v3\` +- Always close the game before enabling/disabling/syncing modlets diff --git a/ENVIRONMENT.md b/ENVIRONMENT.md index 8663c89..e24a5f2 100644 --- a/ENVIRONMENT.md +++ b/ENVIRONMENT.md @@ -25,6 +25,7 @@ This machine was set up for Lynda to build 7 Days to Die mods using: | Purpose | Path | |---------|------| | Mod repository | `C:\Users\lynda\Git\lyndas_mod` | +| Git web UI | https://git.straffin.net/lynda/lyndas_mod | | Steam game install | `C:\Steam\steamapps\common\7 Days To Die` | | Mod launcher install | `C:\Program Files (x86)\7D2DModLauncherV5` | | Mod launcher config | `C:\Users\lynda\AppData\Roaming\7D2DModLauncher\ModLauncher.txt` |