DetentShell ships with PesterForge Editor Edition: one-click Pester test generation and a live coverage board, inside the editor. It’s free and built in. Editor Edition is the part of PesterForge that belongs in an editor; the full toolkit is a separate product, currently in testing.
The whole loop runs inside the editor: generate → fill → run → green. You go from a bare function to a saved, partially-real test file without leaving the app or touching a terminal.
Generate
Right-click a function and pick Generate Pester Tests. A real Describe/It scaffold opens in a new tab named <Fn>.Tests.ps1, syntax-highlighted like any script. Unsaved buffers work too (the live text is what gets sent), and a file with several functions gets a lightweight picker instead of a guess.
Read the banner
A slim band at the top of the generated tab shows the function’s testability rating and exactly how many placeholders are left to fill. It never presents a generated test as done. If the engine returns no testability score, the banner says Unknown rather than inventing one.
Fill
The banner’s Next placeholder button walks the caret through every stub in file order and wraps back to the first, so you never hunt for the next one. You edit with the same IntelliSense and analysis as any script tab, and Run and Save sit right on the banner.
Run
Unfilled stubs run as skipped or pending. An empty stub won’t fail your run, and it won’t pretend to pass either. Fill one stub, run again, and that one goes green while the rest stay pending.
The Pester panel’s coverage view lists every function in your project as covered or missing, and covered functions show their test file. Generate for all missing opens one generated tab per uncovered function, and skips functions that already have tests.
The board is blunt about what generation means. A stub-only file counts as generated, not covered; the app’s own status line reads “generated is not covered until assertions land.”
The generate banner carries a Powered by PesterForge badge. Editor Edition is the free, editor-native slice. The full PesterForge product adds batch and CI runs, AI enrichment, project scaffolding, and conventions; it has its own pages at /pesterforge.
The test-generation path is fully deterministic. When you click Generate, the request that leaves the editor carries aiEnrich = false, noAutoEscalate = true, and no provider key at all. No AI model, cloud or local, gets consulted: there's no setting, checkbox, or menu item anywhere in the app that could change that. Your code goes nowhere either way: the generation engine runs as a local process on your machine.
The underlying engine's client library can technically accept an AI-enrichment request from a caller that makes one: unnamed, it would fall back to a local Ollama model; a hosted provider would only activate when named explicitly. But that's a capability of the engine for other callers (an AI agent driving it directly), not something reachable from inside DetentShell. If you work in a regulated shop, that's the stronger sentence for your security review: not "off unless you turn it on," but "there's nothing here that could turn it on."
This guarantee is pinned by an automated test in DetentShell’s own suite (GenerateTests_Default_ReAssertsDeterministicDefaults_AndOmitsProvider) that inspects the exact outgoing arguments and fails if an AI provider ever reaches the wire implicitly. Companion tests cover the opt-in cases. If a future change broke the promise, the build would break first.
PS> Start-Process "https://detentpoint.com/detentshell/download"
# Coming soon — ships once the installer is code-signed
Coming soon. DetentShell launches at $29.99 in the Microsoft Store for its first two weeks. The regular price that follows is not final yet and will be published here first; volume licensing for teams is handled separately.