2.3 KiB
2.3 KiB
sow-tools
Shared NWN build tooling for Shadows Over Westgate.
This repository owns the Go-based sow-toolkit binary used by the separate module and assets repositories.
Build
Build the development binary into tools/sow-toolkit:
./build-tool.sh
Or run directly with Go:
GOCACHE="$PWD/.cache/go-build" go run ./cmd/nwn-tool --help
Repository Layout
cmd/nwn-tool/ CLI entrypoint
internal/app/ command wiring and console UX
internal/erf/ ERF/MOD/HAK reading and writing
internal/gff/ canonical GFF JSON and binary conversion
internal/pipeline/ build, extract, compare, and manifest workflows
internal/project/ config loading and repo scanning
internal/validator/validation and diagnostics
tools/ built development binary output
Intended Consumers
sow-moduleusessow-toolkitforbuild-module,extract,validate,compare, andapply-hak-manifestsow-assetsusessow-toolkitforbuild-haksand validation- validation now fails early if duplicate asset resources would collide inside the same generated HAK
- duplicate resources split across different HAK groups remain warnings because later HAK order can still override earlier content at runtime
sow-modulenow also usessow-toolkitfor the early topdata bridge:validate-topdatabuild-topdatacompare-topdata
During development, sibling repositories can point at ../sow-tools/tools/sow-toolkit. For pinned releases, each consumer repo can instead carry its own copy at tools/sow-toolkit.
Release Automation
This repo publishes:
sow-toolkit-linux-amd64.tar.gzsow-toolkit-windows-amd64.exe
Consumer repos can fetch those binaries into their local tools/ directory with:
install-tool.shon Linux/macOSinstall-tool.ps1on Windows
TopData Migration
The topdata rebuild is now staged in this repo.
Current state:
- the new command surface exists in
sow-toolkit sow-module/topdata/is the new long-term source homebuild-topdatacurrently bridges through the Python builder insow-devfor authoritative output generation- native Go merge/build parity is still a follow-up milestone
See TOPDATA_HANDOFF_2026-04-02.md for the current handoff and migration notes.