|
1 | 1 | # vlurp |
2 | 2 |
|
3 | | -## 1.2.0 |
| 3 | +## 2.0.0 |
| 4 | + |
| 5 | +### Major Changes |
| 6 | + |
| 7 | +- f4a3277: An ingress layer for AI agent content — fetch, pin, prove, scan, diff. |
| 8 | + |
| 9 | + ### Breaking changes |
| 10 | + |
| 11 | + - **Default filters expanded.** v1 matched `.claude/**` and `CLAUDE.md`. v2 defaults also include `*.md`, `**/*.md` (excluding README, LICENSE, CONTRIBUTING, CHANGELOG, CODE_OF_CONDUCT), `agents/**`, and `commands/**`. If you relied on the old defaults, pass `--preset minimal` or explicit `--filter` flags. |
| 12 | + - **Lineage records are now written on every fetch.** A `.vlurp.jsonl` file is created at your target directory root containing SHA-256 hashes of every file fetched. This file should be committed to git — it is the machine-readable receipt of what was actually fetched. |
| 13 | + - **Unpinned fetches now warn.** Fetching without `--ref` prints a warning that upstream content is mutable. This is intentional — mutable upstream is how supply chain attacks happen. |
| 14 | + |
| 15 | + ### New in v2 |
| 16 | + |
| 17 | + **Pin and prove** |
| 18 | + |
| 19 | + ```sh |
| 20 | + # Pin to a commit. Immutable content. Reproducible fetches. |
| 21 | + vlurp dcramer/dex -d ./skills --filter "plugins/dex/skills/dex/**" --as dex --ref 939f6cb |
| 22 | + |
| 23 | + # Flatten deep repo paths into something you can find |
| 24 | + vlurp obra/the-elements-of-style -d ./skills --as writing-style |
| 25 | + |
| 26 | + # Verify nothing has changed since you reviewed it |
| 27 | + vlurp verify ./skills |
| 28 | + |
| 29 | + # Pin every unpinned entry in your .vlurpfile to current upstream HEAD |
| 30 | + vlurp pin |
| 31 | + ``` |
| 32 | + |
| 33 | + **Detect upstream changes before they become instructions** |
| 34 | + |
| 35 | + ```sh |
| 36 | + # Which of your pinned refs are behind upstream? |
| 37 | + vlurp outdated .vlurpfile |
| 38 | + |
| 39 | + # What exactly changed? Content diff, not commit log. |
| 40 | + vlurp diff dcramer/dex -d ./skills |
| 41 | + ``` |
| 42 | + |
| 43 | + **Know what a skill tells your agent to do** |
| 44 | + |
| 45 | + ```sh |
| 46 | + # Surface area analysis — tool references, external commands, injection patterns |
| 47 | + vlurp scan ./skills |
| 48 | + ``` |
| 49 | + |
| 50 | + Output tells you what matters: which tools the content references, which shell commands it instructs your agent to run, and whether it contains known injection or escalation patterns. A report, not a verdict — because the human makes the trust decision. |
| 51 | + |
| 52 | + **Catalog your skills** |
| 53 | + |
| 54 | + ```sh |
| 55 | + # Generate catalog.json from SKILL.md frontmatter |
| 56 | + vlurp catalog ./skills |
| 57 | + ``` |
| 58 | + |
| 59 | + **Presets for common repo structures** |
| 60 | + |
| 61 | + ```sh |
| 62 | + vlurp user/repo --preset skills # skills/**, SKILL.md, **/*.md |
| 63 | + vlurp user/repo --preset agents # agents/**, commands/**, **/*.md |
| 64 | + vlurp user/repo --preset claude # .claude/**, CLAUDE.md |
| 65 | + vlurp user/repo --preset docs # **/*.md (excluding boilerplate) |
| 66 | + vlurp user/repo --auto # auto-detect repo structure via GitHub API |
| 67 | + ``` |
| 68 | + |
| 69 | + **The `.vlurpfile` is a manifest you can read** |
| 70 | + |
| 71 | + ```sh |
| 72 | + # Skills for AI agent context — reviewed and pinned |
| 73 | + vlurp dcramer/dex -d ./skills --filter "plugins/dex/skills/dex/**" --as dex --ref 939f6cb |
| 74 | + vlurp obra/superpowers -d ./skills --preset skills --ref abc1234 |
| 75 | + ``` |
| 76 | + |
| 77 | + One fetch command per line. Human-readable. Greppable. Run any line by itself. The `.vlurpfile` is intent. The `.vlurp.jsonl` alongside it is reality. Both get committed. Both get reviewed. |
| 78 | + |
| 79 | +## 1.2.0 |
4 | 80 |
|
5 | 81 | ### Minor changes |
6 | 82 |
|
|
0 commit comments