Shared development resources for Windows desktop software — plus a
library of 36 small Rust DLLs that each do one common Windows job
(settings, logging, folder watching, thumbnails, notifications,
archives, OCR and more) behind one plain C interface with JSON in
and out, so any language that can call C can use them. Everything
is free and MIT-licensed, has no Rust crate dependencies, and ships
as a ready-to-use download from this repository's Releases. The
tools, templates and checklists around the library exist because of
real friction: each one maps to a failure or delay that actually
happened (see docs/PAIN_POINTS.md).
- Download the kit's zip from Releases — the full list with one-line descriptions is the collection catalog. The zip holds the DLL, its import library, the C header, the kit's README and its license.
- Check the download against the
SHA256SUMS.txtattached to the same release (Get-FileHashin PowerShell). Binaries are unsigned — there is no code-signing certificate — so Windows may show a SmartScreen prompt on first use. - Call it. Drop the DLL next to your program. Works from C,
C++, C#, Rust, Python, PowerShell — anything with C interop.
Every kit has a runnable Python example in
examples/, the flagship SettingsKit also has a C# one (binding generated by BridgeKit), and the Releases page carries a bindings pack with BridgeKit-generated C# and Rust bindings for every kit.
| Your job | Kit |
|---|---|
| Settings files that survive crashes and version changes | SettingsKit |
| One log format for every app | LogKit |
| Watch a folder for changes | WatchKit |
| ZIP / TAR archives | ArchiveKit |
| Read or write PDFs | PDFKit |
| Thumbnails for any file type | ThumbKit |
| Notifications / toasts without WinRT pain | NotifyKit |
| Launch and supervise child processes | ProcessKit |
| Background jobs with progress and ETA | JobKit |
| HTTP(S) downloads you can trust | NetKit |
| Self-update checks | UpdateKit |
| Store secrets in Credential Manager / DPAPI | VaultKit |
| Crash dumps with a readable sidecar | CrashKit |
| C# or Rust bindings for any kit, generated not hand-copied | BridgeKit |
The other twenty kits — files, paths, registry, shell, clipboard, media probing, UI automation and more — are in the catalog.
The 36 kits live in this repository, each in its own folder under
kits/ with its source, header, tests and README. One CI
workflow (kits-ci) gates every kit on every change; one release
workflow (kits-release) publishes any kit — or the whole
collection in a single run — from this repository. The kits were
merged here on 2026-11-01 from their standalone repositories (see
docs/MIGRATION.md); those repositories are
gone, and this repository is now the kits' only home — source,
issues and downloads all live here.
- ArchiveKit — Create, list, test and extract ZIP and TAR archives from any language that can call C — zero dependencies, DEFLATE codec built in. DLL #3 in the Windows DLL Collection
- BridgeKit — Verified C# and Rust binding generator for the DLL collection, generated from the kits' own headers. Zero-dependency Rust CLI tool.
- ClipKit — Clipboard text and file-list access plus change detection, over a JSON C ABI. Zero-external-dependency Rust DLL.
- CrashKit — DLL #10 of Sean's Windows library collection: crash capture (minidump + JSON sidecar) and structured logging behind a small C ABI (MIT)
- DiagKit — One-call diagnostics bundles (logs, dumps, versions, hashes) in a single zip with a JSON manifest. Zero-external-dependency Rust DLL, JSON in/out over a C ABI.
- EmbedKit — Local semantic search behind one clean C ABI — text embeddings via runtime-loaded ONNX Runtime, cosine vector index built in. DLL #12 in the Windows DLL Collection.
- FastSearch — Instant file search for Windows: build an index once, search it in milliseconds, from any language that can call C. DLL #2 in the Windows DLL Collection
- FileMetaKit — File metadata toolkit behind a small C ABI: read, edit and compare metadata across images, audio, video and documents (WinDevKit DLL #30)
- FileOpsKit — File operation engine behind a small C ABI: copy, move, rename and delete jobs with progress, cancellation, conflict policies, retries and undo (WinDevKit DLL #27)
- FixtureKit — Deterministic test-fixture file generator (images, audio, archives, corrupt variants). Zero-external-dependency Rust DLL, JSON in/out over a C ABI.
- HardwareInfo — Hardware inventory behind one clean C ABI — CPU, GPU, memory, disks, monitors, network, battery. DLL #16 in the Windows DLL Collection
- ImageKit — Image decode, transform, and encode behind one clean C ABI — PNG/BMP in pure Rust
- InstanceKit — Single-instance mutex with named-pipe argument forwarding, over a JSON C ABI. Zero-external-dependency Rust DLL.
- JobKit — Background-work engine behind a small C ABI — progress %, ETA, pause/resume, cooperative cancellation (WinDevKit DLL #20)
- LinkKit — Windows shortcut (.lnk) create, read and update including AppUserModelID, over a JSON C ABI. Zero-external-dependency Rust DLL.
- LogKit — Structured, rolling, crash-safe logging in one house format behind a small C ABI (WinDevKit DLL #18)
- MediaKit — Pure-Rust media probing — duration, codecs and streams for WAV, MP3, FLAC, Ogg, MP4, Matroska and AVI (WinDevKit DLL #25)
- NetKit — Hardened HTTP(S) client behind a small C ABI — policy-checked redirects and retries, size caps, digest-verified downloads, no cert bypass
- NotifyKit — Tray notifications and balloon alerts without WinRT, plus a coalescing notification queue (WinDevKit DLL #24)
- OCRKit — Offline OCR behind one clean C ABI — vendored Tesseract engine, image in, text + confidence JSON out. DLL #13 in the Windows DLL Collection.
- PDFKit — PDF parsing, text extraction and generation behind one clean C ABI — pure Rust, zero dependencies.
- PathKit — Long-path and Unicode compatibility layer behind a small C ABI: path normalization, validation and conversion with plain-language errors (WinDevKit DLL #28)
- ProcessKit — Child-process launch and supervision behind a small C ABI — captured output, timeouts, job-object tree kill, elevation rules (WinDevKit DLL #19)
- ProviderKit — File provider adapter SDK behind a small C ABI: browse local disks, archives and custom providers through one interface (WinDevKit DLL #32)
- RegKit — Registry read, write and list with undo manifests, over a JSON C ABI. Zero-external-dependency Rust DLL.
- RenameKit — Batch rename and transform engine behind a small C ABI: preview, validate and apply bulk renames with collision detection and rollback (WinDevKit DLL #31)
- SettingsKit — Atomic settings files with schema versioning and migrations behind a small C ABI (WinDevKit DLL #17)
- ShellInteropKit — Windows Shell interop wrapper behind a small C ABI: typed file info, icons, verbs and properties without raw shell boilerplate (WinDevKit DLL #34)
- ShellKit — Safe Windows shell integration — context-menu verbs, file associations, protocol handlers as plan + apply with backup (WinDevKit DLL #23)
- SignKit — Authenticode inspection and verification helpers for PE files — verify only, no signing (WinDevKit DLL #26)
- ThumbKit — Thumbnail and preview pipeline behind a small C ABI: pluggable generators, a bounded LRU cache and asynchronous retrieval (WinDevKit DLL #29)
- TimeKit — DLL #11 of Sean's Windows library collection: IANA timezones and civil time done correctly (DST gap/overlap-safe) behind a small C ABI (MIT)
- UiProbeKit — UI Automation inspection and actions (window and control trees, invoke, set value) over a JSON C ABI. Zero-external-dependency Rust DLL.
- UpdateKit — Self-update behind one clean C ABI — version-checked manifest, verified downloads, staged packages
- VaultKit — DLL #9 of Sean's Windows library collection: secrets storage via DPAPI + Credential Manager behind a simple C ABI (MIT)
- WatchKit — Folder change and cache coordinator behind a small C ABI: coalesced change events and self-invalidating folder caches (WinDevKit DLL #33)
Five more family members were never merged and stay in their own repositories — DocConvert, SQLiteSuperBuild, Whisper, WinRecovery and WinUIHelpers are listed with live download links at the end of the catalog.
tools/gate.sh/tools/gate.ps1— the full local quality gate: fmt, clippy on both host andx86_64-pc-windows-msvctargets, the full test suite, windows check on all targets. Every step is annotated with the failure it has caught.tools/catalog.py— generatesdocs/CATALOG.mdfrom the kits' own folders and versions, and checks it in CI, so the catalog can never again promise downloads that do not exist.tools/publish.py— publish files to GitHub via the Contents API, safely: plain content (never base64), per-file calls, ~105 KB size guard, workflow-path refusal with the reason, automatic SHA handling, and SHA-256 read-back verification.--dry-runand--files-from git.tools/scaffold-dll.py— start a new DLL in the house style (WinRecovery pattern) in one command.tools/verify.py,tools/fixtures.py,tools/release-evidence.py,tools/rea-summary.py— a portable verification runner, filesystem-fixture builder, and release-evidence tools.templates/ci.yml— canonical windows-latest CI (add via browser UI; the GitHub App can't write workflow files).templates/dll-skeleton/— zero-dependency Rust cdylib skeleton: panic-proof FFI, thread-local last-error, JSON helpers,#[link]- annotated platform layer, C header.templates/app-manifests/— per-monitor-v2 DPI, long-path aware app manifest + dependency-free embed snippet.templates/checklists/— on-machine verification and release lists.templates/design/command-deck-tokens.json— the chosen house design direction as portable tokens.templates/a11y/explain-pattern.md— the tooltip/accessible-name pattern.
Standalone tools (Python 3, standard library only, MIT) built from
the pain points in docs/PAIN_POINTS.md (#26–#32) — each exists to
make an AI development agent faster and less error-prone:
- PublishPilot — publish preflight (size/base64/CRLF/execute-bit/workflow guards), manifest, and hash read-back verification.
- RepoRadar — cross-repo status snapshot plus SyncGuard, the pre-publish check that local HEAD matches live remote HEAD.
- FieldVerify — on-machine verification checklists run in one sitting, with an evidence bundle (results, report, logs) per run.
- ContextPack — one compact, AI-ready brief per repo: stack, pinned versions, license read from the file itself, gate commands, docs.
- GateRunner — one gate.toml runs any stack's quality gate in order, with progress %, ETA, and warnings for known-dangerous gate patterns.
Two earlier suite tools (CaptureKit, ForAISearch) have been retired; their repositories are no longer online.
See docs/ROADMAP.md. In short: a shared
win-common Rust crate, a VM verification kit, and a packaging
kit remain open; the collection, its catalog and its release
machinery are done.
- Features — what the tools, templates and kits provide
- Install and use — getting the kits and tools running
- Architecture — repository layout and how CI/releases work
- Compatibility — platforms, targets and runtimes
- Migration — the 2026-11-01 kit monorepo merge, explained
- Changelog · Roadmap · Audit
- Troubleshooting · Support · Security
- Contributing · Code of Conduct · Governance · Maintainers · Credits
MIT.