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
Copy file name to clipboardExpand all lines: docs/cli/intent-skills.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,29 +6,29 @@ id: intent-skills
6
6
`intent skills` manages `intent.lock`, the committed record of which skill-bearing sources you've approved and what their content looked like when you approved it. Four subcommands: `scan`, `diff` (read-only), `approve`, and `update` (mutating).
Read-only. Discovers current skill-bearing sources, computes each source's `contentHash`, and reports drift against `intent.lock`.
21
21
22
22
- No lock found: prints `No intent.lock found. Run \`intent skills approve --all\` to create one.`
23
23
- Lock is clean: prints `intent.lock is up to date.`
24
24
- Lock is stale: prints `intent.lock is out of date: N added, N removed, N changed.`
25
-
- Discovered sources not in `intent.skills`: prints a count and points at `intent.skills`/`intent.exclude`
25
+
- Discovered sources not in `intent.skills`: names each source with bounded dependency provenance when available, falls back to `provenance unknown`, and points at `intent.skills`/`intent.exclude`. Agent-mode output remains count-only.
Read-only. Same underlying computation as `scan`, but change-focused: prints only `Added:`/`Removed:`/`Changed:` sections with per-field diffs (`version`, `resolution`, `skills`, `contentHash`, `manifestHash`, `capabilities`). Unchanged sources are omitted.
Writes `intent.lock`. It mechanically re-syncs version and resolution for matching **already-locked** entries. Changes to skills, content hashes, manifests, capabilities, declared secrets, or MCP metadata require `--yes` after reviewing `intent skills diff`.
Copy file name to clipboardExpand all lines: docs/concepts/trust-model.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,8 @@ Intent reads package data as files. It never imports, requires, or executes the
21
21
22
22
One exception is sanctioned: in Yarn Plug'n'Play projects, Intent loads Yarn's PnP runtime (`.pnp.cjs`) to map package identities to readable locations. It loads no package entry points, bins, lifecycle scripts, or other package-provided JavaScript. An ESLint rule enforces this invariant in the discovery code.
23
23
24
-
## What the allowlist does not cover yet
24
+
## Source identity and remaining limits
25
25
26
-
Matching is currently by package name. A `workspace:foo`entry and a bare `foo` entry both authorize a discovered package named `foo`, because the scanner does not yet distinguish a workspace member from a published package of the same name. This errs toward permitting a same-named package, never toward denying one you listed. A future version tightens matching once the scanner carries that signal.
26
+
Intent matches allowlist entries by `(kind, id)`. `workspace:foo`authorizes only the workspace member named `foo`; it does not authorize an installed `npm:foo`. A bare `foo` entry is normalized to the npm source kind. Same-named workspace and npm packages remain distinct sources throughout discovery, locking, and approval.
27
27
28
28
The `git:` source kind is reserved. Intent parses and validates the shape, then rejects it until a future version can pin the resolved ref and content hash. A git entry never loads silently.
|`npx @tanstack/intent@latest setup`| Copy CI templates into your repo |
134
+
|`npx @tanstack/intent@latest stale [dir] [--json]`| Check skills for version drift |
135
+
|`npx @tanstack/intent@latest skills scan`| Discover sources and diff against `intent.lock`|
136
+
|`npx @tanstack/intent@latest skills diff`| Show pending `intent.lock` changes |
137
+
|`npx @tanstack/intent@latest skills approve`| Approve pending changes into `intent.lock`|
138
+
|`npx @tanstack/intent@latest skills update`| Re-sync already-locked sources to installed state |
141
139
142
140
See [Lockfile and frozen mode](https://tanstack.com/intent/latest/docs/security/lockfile) and [`intent skills`](https://tanstack.com/intent/latest/docs/cli/intent-skills) for what `intent.lock` is and full command details.
0 commit comments