You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -21,15 +21,15 @@ Intent reads consumer configuration from the `intent` object in `package.json`.
21
21
22
22
## `intent.skills`
23
23
24
-
`intent.skills` is a package-source allowlist. A permitted package can:
24
+
`intent.skills` is a package-source and skill allowlist. A permitted package or skill can:
25
25
26
26
- Appear in `list` and `stale`.
27
27
- Resolve through `load`.
28
28
- Contribute mappings to `install --map`.
29
29
30
30
The default `install` command writes generic loading guidance without scanning packages. See [Trust model](./trust-model) for the reasoning and lifecycle boundaries.
31
31
32
-
The allowlist permits packages, not individual skills. An entry containing `#` is invalid; use `intent.exclude`for skill-specific filtering.
32
+
Package selectors permit every skill in the package. Exact selectors use `<package>#<skill>` and permit only the named skill. If the same package matches both forms, the package selector takes precedence and permits every skill. `intent.exclude`is applied afterward and can still remove a permitted package or skill.
33
33
34
34
### Source entries
35
35
@@ -38,12 +38,16 @@ Each array entry names one source:
38
38
| Entry | Kind | Meaning |
39
39
| ----- | ---- | ------- |
40
40
|`@scope/pkg` or `pkg`| npm | An npm package reachable through the dependency tree, direct or transitive. |
41
+
|`@scope/pkg#skill`| npm | One exact skill in an npm package. |
41
42
|`workspace:@scope/pkg`| workspace | A package in the current workspace. |
43
+
|`workspace:@scope/pkg#skill`| workspace | One exact skill in a workspace package. |
42
44
|`@scope/*`| npm | Every discovered npm package whose name matches the pattern. |
43
45
|`workspace:@scope/*`| workspace | Every discovered workspace package whose name matches the pattern. |
44
46
|`git:<host>/<repo>#<ref>`| git | Reserved. Not yet supported, and rejected until a future version adds it. |
45
47
46
-
A malformed entry fails the whole command, and every bad entry is reported at once. Package patterns support `*` wildcards, including scoped patterns such as `@tanstack/*`. Intent matches both the package name and source kind: a bare entry permits only an npm source, and a `workspace:` entry permits only a workspace source.
48
+
A malformed entry fails the whole command, and every bad entry is reported at once. Exact selectors require one non-empty package name and one non-empty, non-wildcard skill name. Package patterns support `*` wildcards, including scoped patterns such as `@tanstack/*`, but cannot be combined with an exact skill selector.
49
+
50
+
Intent matches both the package name and source kind: a bare package or exact selector permits only an npm source, and a `workspace:` selector permits only a workspace source. `git:` entries remain unsupported and are rejected, including entries that contain `#` for a Git ref.
0 commit comments