Thanks for helping. nmaptui is MIT licensed and permanently open source.
git clone https://github.com/profullstack/nmaptui
cd nmaptui
bun install
npm test # node --test, no TTY required
bun test test/
bun run typecheck
bun run build
node bin/nmaptui.mjs open test/fixtures/estate.xmlBun is the default runtime; everything also runs under Node 22.6+.
- No runtime dependencies beyond
@profullstack/hqtui. The XML reader, the model, diffing and reports are all insrc/on purpose. - Screens are pure functions of
UiState. Side effects live insrc/ui/controller.ts. That is what letstest/ui.test.tsrender real frames headlessly and assert on them, so keep it that way. - A new finding rule goes in
src/analysis.tswith a fixture that triggers it and one that must not. False positives cost more trust than misses. toArgsinsrc/profiles.tsis the contract for what nmap receives. Any change there needs a test intest/profiles.test.ts.- Never make the installer ask for root.
Small and focused. Run the whole suite before opening one. If a change is
visible, include a headless render (renderToText) in the tests rather than a
screenshot in the description.