From e8fadb733383407914089bb6374d8b736fd13275 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Fri, 23 Jan 2026 20:59:31 +0100 Subject: [PATCH] docs(coding-agent): document layered filtering behavior --- packages/coding-agent/CHANGELOG.md | 1 + packages/coding-agent/README.md | 2 +- packages/coding-agent/docs/extensions.md | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 8ba4d272..05f33b1b 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -27,6 +27,7 @@ ### Fixed +- User package filters now layer on top of manifest filters instead of replacing them ([#645](https://github.com/badlogic/pi-mono/issues/645)) - Auto-retry now handles "terminated" errors from Codex API mid-stream failures - Follow-up queue (Alt+Enter) now sends full paste content instead of `[paste #N ...]` markers ([#912](https://github.com/badlogic/pi-mono/issues/912)) - Fixed Alt-Up not restoring messages queued during compaction ([#923](https://github.com/badlogic/pi-mono/pull/923) by [@aliou](https://github.com/aliou)) diff --git a/packages/coding-agent/README.md b/packages/coding-agent/README.md index 94d12597..f2c62a2d 100644 --- a/packages/coding-agent/README.md +++ b/packages/coding-agent/README.md @@ -1025,7 +1025,7 @@ Use `-l` to install into project settings (`.pi/settings.json`). - Paths are relative to package root - Use `!pattern` to exclude (e.g., `"!deprecated/*"`) - Glob patterns supported via minimatch (e.g., `"*.ts"`, `"**/*.json"`) -- **Pattern precedence:** Exclusions always win. If a path matches both an include and exclude pattern, it is excluded. Order in the array does not matter. +- **Layered filtering:** User filters apply on top of manifest filters (they narrow down, not replace). If a manifest excludes 10 extensions and user adds one more exclusion, all 11 are excluded. **Dependencies:** Extensions can have their own dependencies. Place a `package.json` next to the extension (or in a parent directory), run `npm install`, and imports are resolved via [jiti](https://github.com/unjs/jiti). See [examples/extensions/with-deps/](examples/extensions/with-deps/). diff --git a/packages/coding-agent/docs/extensions.md b/packages/coding-agent/docs/extensions.md index 21de715e..a43d13cb 100644 --- a/packages/coding-agent/docs/extensions.md +++ b/packages/coding-agent/docs/extensions.md @@ -159,7 +159,7 @@ pi update # update all non-pinned packages - Paths are relative to package root - Use `!pattern` to exclude (e.g., `"themes": ["!funky.json"]`) - Glob patterns supported via minimatch (e.g., `"extensions": ["**/*.ts", "!**/deprecated/*"]`) -- **Pattern precedence:** Exclusions always win. If a path matches both an include and exclude pattern, it is excluded. Order in the array does not matter. +- **Layered filtering:** User filters apply on top of manifest filters. If a manifest excludes 10 extensions and user adds one more exclusion, all 11 are excluded. **Discovery rules:**