@spences10/pi-nopeek
Secret-reducing workflow reminder for credential-dependent Pi commands
Package details
Install @spences10/pi-nopeek from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@spences10/pi-nopeek- Package
@spences10/pi-nopeek- Version
0.0.16- Published
- Aug 1, 2026
- Downloads
- 545/mo · 42/wk
- Author
- spences10
- License
- MIT
- Types
- extension
- Size
- 11.4 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
],
"image": "https://raw.githubusercontent.com/spences10/my-pi/main/assets/pi-package-preview.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@spences10/pi-nopeek

Reduce accidental secret disclosure during credential-dependent
commands. pi-nopeek reminds agents to use the nopeek CLI instead
of reading or pasting .env, cloud-token, and database credential
values into model-visible input.
Installation
pi install npm:@spences10/pi-nopeek
Local development from this monorepo:
pnpm --filter @spences10/pi-nopeek run build
pi install ./packages/pi-nopeek
# or for one run only
pi -e ./packages/pi-nopeek
What it does
The extension injects a system reminder telling the model to use
pnpx nopeek ... or npx nopeek ... when it needs credentials from:
.env.env.*.tfvars.tfvars.json- cloud CLI profiles or service credentials
It adds no slash commands and no custom tools.
Model reminder
The injected reminder tells the model to:
- lead with
pnpx nopeek run ... -- <command>in Pi, where each tool call starts an ephemeral shell - select only the keys required by the child command
- use
nopeek loadonly when the harness confirms persistent env-file injection, or when source/evaluation and execution occur in the same trusted shell - use
pnpx nopeek listandpnpx nopeek statusto inspect key names without values - use
pnpx nopeek auditto scan for exposed secrets and gitignore coverage - avoid printing, echoing, catting, grepping, tracing, or pasting secret values into model-visible output
Example one-shot workflow:
pnpx nopeek run .env --only DATABASE_URL -- \
sh -c 'psql "$DATABASE_URL" -c "select 1"'
run gives selected values only to its child process. That child can
still disclose values through stdout, stderr, shell tracing, env, or
printenv. A source_file produced by load does not carry into an
unrelated Pi tool call.
pi-redact is a separate, best-effort last-mile safety net. It cannot
guarantee arbitrary child output is safe. Review nopeek's
threat model and non-goals
before choosing a workflow.
Use npx instead of pnpx outside pnpm-oriented environments.
Using from a custom harness
import nopeek from '@spences10/pi-nopeek';
// pass `nopeek` as an ExtensionFactory to your Pi runtime
my-pi imports this package directly and enables it as the built-in
nopeek reminder.
Development
Package scripts build transitive workspace dependencies first, then
run local tools through Vite+ with vp exec.
pnpm --filter @spences10/pi-nopeek run check
pnpm --filter @spences10/pi-nopeek run test
pnpm --filter @spences10/pi-nopeek run build
License
MIT