PesterForge · DetentShell

Built into the IDE.

Detent Point is building an IDE for PowerShell 7, and PesterForge is its test engine. This page covers what the integration does, how far along the IDE is, and which parts cost money (on the PesterForge side, none).

01 What DetentShell is

DetentShell is a modern IDE for PowerShell 7, built for people still using the ISE on Windows PowerShell 5.1 today. Script tabs, an interactive console, F5 to run, step-through debugging with breakpoints and a watch panel, and a Pester test panel the ISE never had. It is an independent product from Detent Point LLC, not affiliated with or endorsed by Microsoft.

It has not shipped yet. It is in active development, and the development is far along: 944 automated tests pass across the engine, editor, debugger, and themes, with the most recent clean full-suite run on 2026-07-13 and zero failures.

02 Where PesterForge fits

DetentShell ships with PesterForge Editor Edition built in. Right-click a function, pick Generate Pester Tests, and a real Describe/It scaffold opens in a new editor tab. A banner across the top shows the function’s testability rating and counts the placeholders still waiting for real assertions. The Pester panel’s coverage board lists every function in your project as covered or missing, and covered functions show their test file.

Generated is not the same as covered, and the app says so on its own status line. 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, run again, and that one goes green while the rest stay pending.

DetentShell showing a generated Pester test tab with the Powered by PesterForge banner: Testability Medium, 4 placeholders to fill, with Run, Save, and Next placeholder buttons.

That’s a real capture of the generated-test tab: the Powered by PesterForge banner reads Testability: Medium · 4 placeholders to fill, with Run, Save, and Next-placeholder buttons.

03 In-process, on purpose

The integration runs PesterForge’s generation engine in-process: the module loads into its own dedicated, isolated background runspace inside DetentShell itself, hermetically pinned to its own bundled copy so a separately installed PesterForge on your machine never gets a look-in. There is no child process and no IPC handshake between the editor and its own built-in feature. An earlier version of this integration ran PesterForge as a separate process, and that boundary produced exactly the “can’t connect” failures you’d expect from putting a network protocol between an app and its own feature. The in-process version removes that failure class entirely.

The practical result is one engine with one set of conventions. A test file generated in the editor is produced by the same PesterForge module that powers the standalone product and its own MCP server, so the output looks the same either way.

04 Where it stands

In active development, with no ship date committed. The release gate is code signing: every DetentShell installer will ship signed under Detent Point LLC through Microsoft’s Trusted Signing service, and no unsigned build ships in the meantime.

There is no mailing list for this, and no public page to follow it on yet. This page updates once there is.

05 What costs money
DetentShell itself

Free early access, then paid

Free for the first two weeks of early access. Paid licenses follow early access. Pricing to be announced. No dollar figures appear here because none are final.

PesterForge inside it

Free, and stays free

PesterForge Editor Edition, the in-editor generation and coverage described above, is free inside the app, and that does not change when DetentShell’s paid licenses arrive. It is a separate commitment from DetentShell’s own pricing, so a price change on the IDE never puts a price on the test panel.

The full PesterForge toolkit you run outside the editor is its own product with its own plans, covered on the PesterForge overview.