diff --git a/.gitea/workflows/smoke-tests.yml b/.gitea/workflows/smoke-tests.yml index fd36b6b..c0bafdd 100644 --- a/.gitea/workflows/smoke-tests.yml +++ b/.gitea/workflows/smoke-tests.yml @@ -19,5 +19,8 @@ jobs: - name: Build run: cargo build + - name: Validate world data + run: ./target/debug/mudtool validate -w ./world + - name: Run smoke tests run: ./run-tests.sh diff --git a/AGENTS.md b/AGENTS.md index a157e10..486a1b3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -131,6 +131,7 @@ src/ 2. NPCs without a `[combat]` section get default stats (20hp/4atk/2def/5xp) 3. Room IDs are `:` 4. Cross-region exits work — just reference the full ID +5. Run `mudtool validate -w ./world` to check schemas, references, and values before committing ### New DB table 1. Add `CREATE TABLE IF NOT EXISTS` in `SqliteDb::open()` diff --git a/TESTING.md b/TESTING.md index 69f5337..0f406f1 100644 --- a/TESTING.md +++ b/TESTING.md @@ -218,6 +218,7 @@ Run through the checks below before every commit to ensure consistent feature co - [ ] Existing players can still log in when registration is closed ## MUD Tool - CLI +- [ ] `mudtool validate -w ./world` checks world data (schemas, references, values) - [ ] `mudtool players list` shows all players - [ ] `mudtool players show ` shows details - [ ] `mudtool players set-admin true` works