> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bastani.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Package reference

> Package filtering, scope, and deduplication contracts.

# Package reference

## Package Filtering

Filter what a package loads using the object form in settings:

```json theme={null}
{
  "packages": [
    "npm:simple-pkg",
    {
      "source": "npm:my-package",
      "extensions": ["extensions/*.ts", "!extensions/legacy.ts"],
      "skills": [],
      "prompts": ["prompts/review.md"],
      "themes": ["+themes/legacy.json"],
      "workflows": ["workflows/*.ts"]
    }
  ]
}
```

`+path` and `-path` are exact paths relative to the package root.

* Omit a key to load all of that type.
* Use `[]` to load none of that type.
* `!pattern` excludes matches.
* `+path` force-includes an exact path.
* `-path` force-excludes an exact path.
* Filters layer on top of the manifest. They narrow down what is already allowed.

## Scope and Deduplication

Packages can appear in both global and project settings. The project entry normally wins. A project entry with `autoload: false` instead acts as a delta over the global entry: it starts with no newly auto-discovered resources while explicit include/exclude patterns adjust the inherited package resources. Identity is determined by:

* npm: package name
* git: repository URL without ref
* local: resolved absolute path
