67 lines
2.8 KiB
Markdown
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.
|