Initial sow-tools import

This commit is contained in:
2026-04-02 17:19:23 +02:00
commit b7f188779a
1370 changed files with 7357 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
# sow-tools
Shared NWN build tooling for Shadows Over Westgate.
This repository owns the Go-based `nwn-tool` binary used by the separate module and assets repositories.
## Build
Build the development binary into `tools/nwn-tool`:
```bash
./build-tool.sh
```
Or run directly with Go:
```bash
GOCACHE="$PWD/.cache/go-build" go run ./cmd/nwn-tool --help
```
## Repository Layout
```text
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-module` uses `nwn-tool` for `build-module`, `extract`, `validate`, `compare`, and `apply-hak-manifest`
- `sow-assets` uses `nwn-tool` for `build-haks` and validation
During development, sibling repositories can point at `../sow-tools/tools/nwn-tool`. For pinned releases, each consumer repo can instead carry its own copy at `tools/nwn-tool`.