WinInspect is a WinSpy++-like window inspection tool designed as a core + broker + clients system:
- Core (
libwininspect_core) is deterministic, concurrency-safe, and idempotent. - Broker/Daemon (
wininspectd.exe) exposes a local IPC API (Windows Named Pipes). - Clients: CLI, Win32 native GUI, and API clients can run concurrently without interfering.
This repository is scaffolded to follow the WineBotAppBuilder (WBAB) lifecycle:
wbab lintwbab buildwbab testwbab packagewbab signwbab smokewbab discover
- Windows: Visual Studio Build Tools (MSVC), CMake >= 3.22
- Linux: optional (for running TLA+ / formatting); for Wine, run Windows binaries under Wine.
cmake -S . -B build -DWININSPECT_BUILD_TESTS=ON
cmake --build build --config Debug
ctest --test-dir build -C Debug --output-on-failurebuild\Debug\wininspectd.exe
build\Debug\wininspect.exe topThis project follows a Submodule Co-Evolution Policy.
- Submodules may be modified locally for development and testing.
- Pushes to upstream submodule repositories are strictly forbidden.
- Upstream synchronization happens via issues and patches.
For full details, see docs/SUBMODULE_POLICY.md.
To ensure your local guardrails are active, run:
./scripts/submodules/enforce-policy.shSee:
docs/ARCHITECTURE.mddocs/PROTOCOL.mddocs/CONTRACTS.mdformal/tla/
MIT (see LICENSE).