diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index ef469ba9..fed35736 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -16,6 +16,7 @@ - `markdown.codeBlockIndent` setting to customize code block indentation in rendered output - Extension package management with `pi install`, `pi remove`, `pi update`, and `pi list` commands ([#645](https://github.com/badlogic/pi-mono/issues/645)) - Package filtering: selectively load resources from packages using object form in `packages` array ([#645](https://github.com/badlogic/pi-mono/issues/645)) +- Glob pattern support with minimatch in package filters and top-level settings arrays (e.g., `"!funky.json"`, `"*.ts"`) ([#645](https://github.com/badlogic/pi-mono/issues/645)) - `/reload` command to reload extensions, skills, prompts, and themes ([#645](https://github.com/badlogic/pi-mono/issues/645)) - CLI flags for `--skill`, `--prompt-template`, `--theme`, `--no-prompt-templates`, and `--no-themes` ([#645](https://github.com/badlogic/pi-mono/issues/645)) - Show provider alongside the model in the footer if multiple providers are available diff --git a/packages/coding-agent/README.md b/packages/coding-agent/README.md index 46ede6fd..b4da4f59 100644 --- a/packages/coding-agent/README.md +++ b/packages/coding-agent/README.md @@ -847,10 +847,10 @@ Global `~/.pi/agent/settings.json` stores persistent preferences: | `editorPaddingX` | Horizontal padding for input editor (0-3) | `0` | | `markdown.codeBlockIndent` | Prefix for each rendered code block line | `" "` | | `packages` | External package sources (npm:, git:) with optional filtering | `[]` | -| `extensions` | Local extension file paths or directories | `[]` | -| `skills` | Local skill file paths or directories | `[]` | -| `prompts` | Local prompt template file paths or directories | `[]` | -| `themes` | Local theme file paths or directories | `[]` | +| `extensions` | Local extension paths (supports globs and `!` exclusions) | `[]` | +| `skills` | Local skill paths (supports globs and `!` exclusions) | `[]` | +| `prompts` | Local prompt template paths (supports globs and `!` exclusions) | `[]` | +| `themes` | Local theme paths (supports globs and `!` exclusions) | `[]` | --- @@ -1023,6 +1023,8 @@ Use `-l` to install into project settings (`.pi/settings.json`). - Omit a key to load all of that type - Use empty array `[]` to load none of that type - Paths are relative to package root +- Use `!pattern` to exclude (e.g., `"!deprecated/*"`) +- Glob patterns supported via minimatch (e.g., `"*.ts"`, `"**/*.json"`) **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 c37c1e69..15e08f0b 100644 --- a/packages/coding-agent/docs/extensions.md +++ b/packages/coding-agent/docs/extensions.md @@ -157,6 +157,8 @@ pi update # update all non-pinned packages - Omit a key to load all of that type from the package - Use empty array `[]` to load none of that type - 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/*"]`) **Discovery rules:**