pi-file-change-reminder
Pi extension that injects reminder messages when specific files are modified.
Package details
Install pi-file-change-reminder from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-file-change-reminder- Package
pi-file-change-reminder- Version
2.0.1- Published
- Jul 15, 2026
- Downloads
- 38/mo · 6/wk
- Author
- alexgorbatchev
- License
- MIT
- Types
- extension
- Size
- 18.2 KB
- Dependencies
- 1 dependency · 1 peer
Pi manifest JSON
{
"extensions": [
"./src/fileChangeReminderExtension.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-file-change-reminder
pi extension that injects reminder messages when matching files are modified via write, edit, or multi_tool_use.parallel tool calls.
Install
pi install npm:pi-file-change-reminder
Quick start
Create a rules file at your project root:
.pi/reminders.json
[
{
"glob": "README.md",
"reminder": "Run docs checks after editing README.md"
},
{
"glob": "src/**/*.ts",
"reminder": "Run the TypeScript test suite before finishing"
}
]
Slash command
Use the built-in extension command:
/pi-file-change-reminder
This injects a user message that asks Pi to help update the reminder config file with the required JSON shape, safety constraints, and picomatch glob guidance.
You can also include a specific change request:
/pi-file-change-reminder add a rule for docs/**/*.md reminding me to run vale
Rules file resolution
Preferred configuration uses Pi settings via the package-scoped pi-file-change-reminder block.
Global ~/.pi/agent/settings.json:
{
"pi-file-change-reminder": {
"rulesFile": ".pi/reminders.json"
}
}
Project <cwd>/.pi/settings.json:
{
"pi-file-change-reminder": {
"rulesFile": "config/reminders.json"
}
}
The extension reads both scopes through Pi's SettingsManager, with project settings overriding global settings.
If no setting is configured, the default rules path is .pi/reminders.json resolved from the nearest ancestor directory containing either:
.git, or.pi
If no ancestor contains either marker, resolution falls back to Pi's current working directory.
Relative rulesFile values are resolved from that detected project directory. Absolute rulesFile values are used as-is.
Glob behavior
- Matching engine:
picomatch - Relative rule globs match against paths relative to the project marker directory (nearest ancestor with
.gitor.pi). - Absolute rule globs match against normalized absolute file paths.
Runtime behavior
- When a rule matches a modified file, the extension injects the reminder as a user message.
- In interactive mode, it also shows an info notification with the matched path and rule.
Development
This package uses Bun.
bun install
bun run fix
bun run check
bun run test
Current limitation
Reminder deduplication is currently keyed by reminder text. If two different rules use the same reminder string, only one will be injected per session branch.