Files
2026-02-28 01:03:26 -05:00

67 lines
2.8 KiB
Markdown

---
name: nvgt-engine-dev
description: Build, debug, refactor, and document NVGT (.nvgt) projects using authoritative NVGT engine sources. Use when tasks involve NVGT API usage, include/module selection, behavior verification against engine internals, migration from BGT-style patterns, menu/audio/UI architecture, or extracting reusable NVGT utilities.
---
# NVGT Engine Dev
Use this skill to resolve NVGT questions from primary sources and produce clean, modular, reusable NVGT code.
## Core Rules
- Verify API behavior with NVGT primary sources, not memory.
- Prefer docs first, then include implementation, then C++ bindings when behavior is unclear.
- Keep code simple, separated by concern, and reusable across projects.
- Keep accessibility first: rely on screen-reader APIs and keyboard-safe flows.
## Workflow
1. Locate the NVGT source tree.
Default path is `~/git/nvgt`.
If missing, ask for `--root` override before making API claims.
2. Read `references/repo-map.md`.
Use it to pick the right source tier quickly.
3. Run lookup before coding.
Use `scripts/nvgt_lookup.py` for symbol-level discovery across docs/includes/bindings.
For signature-focused evidence, run `scripts/nvgt_api_report.py`.
4. Verify uncertain behavior in C++ bindings.
Read files under `<nvgt-root>/src/` where `RegisterGlobalFunction`, `RegisterObjectMethod`, or related registration calls are made.
5. Implement with modular boundaries.
Split generic utilities from game-specific logic.
6. Compile-check.
For Draugnorak-style projects, run `./nvgt -c draugnorak.nvgt` after changes.
## Lookup Command
```bash
python3 skills/nvgt-engine-dev/scripts/nvgt_lookup.py "symbol_or_phrase"
```
Use `--root /path/to/nvgt` only when NVGT is not at `~/git/nvgt`.
## API Report Command
```bash
python3 skills/nvgt-engine-dev/scripts/nvgt_api_report.py "symbol_name"
```
Use this report when you need signature/binding evidence before answering or coding.
Use `--section` to narrow:
- `docs`
- `include-docs`
- `builtin-docs`
- `plugin-docs`
- `release-includes`
- `bindings`
- `samples`
## References
- Read `references/project-profile.md` first when repo-specific style rules are absent.
- Read `references/repo-map.md` first for where things live in NVGT.
- Read `references/api-verification-workflow.md` when API behavior/signatures are uncertain.
- Read `references/nvgt-coding-patterns.md` when designing modules, menus, notifications, file viewers, and reusable libraries.
- Read `references/common-playbooks.md` for common implementation patterns.
- Run through `references/regression-checklist.md` before finalizing non-trivial NVGT changes.
## Delivery Style
- Give direct, actionable answers.
- Show file-level references for where behavior was verified.
- Prefer minimal wrappers around engine primitives before adding abstraction.