pi-dotenv
v1.0.1
Published
Load ~/.pi/agent/.env into process.env at pi startup
Readme
pi-dotenv
Load ~/.pi/agent/.env into process.env at pi startup.
Install
pi install npm:pi-dotenvOr install from a local path:
pi install /path/to/pi-dotenvUsage
Create ~/.pi/agent/.env:
TAVILY_API_KEY=tvly-...
AGENTMAIL_API_KEY=...
XYZ_API_KEY=fake_123Restart pi. Existing shell env vars are never overwritten.
Load order
pi-dotenv loads the file when pi loads the extension. An extension that reads
process.env when pi loads it (not in an event handler) sees these values only
if pi-dotenv loads first. Put npm:pi-dotenv first in packages in
~/.pi/agent/settings.json. Extensions from pi -e, .pi/extensions/,
~/.pi/agent/extensions/, and project packages always load before global
packages. Extensions that read process.env in session_start or later are
not affected.
How it works
- Loads the dotenv file at extension load (factory time), so extensions that read
process.envwhile pi loads are already served; reloads on eachsession_start(idempotent, picks up edits across/new,/resume,/fork) - Uses
@dotenvx/dotenvxwithprocessEnv: {}(no ambient variable interpolation) - Never overrides an env var already set in the shell
- Synchronous, minimal, zero network calls
