@buildinternet/releases-skills 0.61.0 → 0.62.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -43,7 +43,8 @@ Two commands built for agents specifically:
|
|
|
43
43
|
### Conventions worth knowing (all in the reader reference)
|
|
44
44
|
|
|
45
45
|
- **IDs and slugs are interchangeable** wherever an identifier is expected (`org_…`, `prod_…`, `src_…`, `rel_…`); IDs are stable across renames. Source/product commands also take an `org/slug` coordinate (e.g. `vercel/vercel-ai-sdk`), which skips a resolver round-trip.
|
|
46
|
-
- **`--json` everywhere** for stable output. Release readers (`get`, `search`, `tail`) return a **slim** shape by default (core fields + markdown-stripped `excerpt` + `contentTokens` hint) to save tokens; pass `--full` for the complete payload. (`list` is the inverse: verbose by default
|
|
46
|
+
- **`--json` everywhere** for stable output. Release readers (`get`, `search`, `tail`) return a **slim** shape by default (core fields + markdown-stripped `excerpt` + `contentTokens` hint, plus `media[]` with R2 `r2Url` when present and a `contentTruncated` flag) to save tokens; pass `--full` for the complete payload. (`list` is the inverse: verbose by default — and carries a per-source `Releases` count column — `--compact` for less.)
|
|
47
|
+
- **`tail`/`latest` row cap:** `--count` (alias `--limit`, clamped `1–100`) sets how many releases to return. Only the `--product` feed is cursor-paginated (`--cursor <token>`); the org-wide/global feeds are count-capped, so `--cursor` without `--product` errors.
|
|
47
48
|
- **Piped output is bare TSV** (no headers/color/truncation), so `releases list | cut -f2` works without parsing ANSI — but note release rows repeat the title across several columns, so check the layout or just use `--json` before slicing by column number. `COLUMNS=<n>` overrides detected width.
|
|
48
49
|
|
|
49
50
|
### Reading a tracked changelog
|
|
@@ -130,21 +130,23 @@ Slug renames require `--confirm-slug-change` because they break existing web lin
|
|
|
130
130
|
### Fetch
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
|
-
releases admin source fetch next-js # one source
|
|
134
|
-
releases admin source fetch --
|
|
135
|
-
releases admin source fetch --max 500 # override the 200/source default
|
|
136
|
-
releases admin source fetch --all # no date/count limits
|
|
133
|
+
releases admin source fetch next-js # one source (slug, src_… id, or org/slug)
|
|
134
|
+
releases admin source fetch --org acme # all of an org's active sources
|
|
137
135
|
releases admin source fetch --stale 24 # only stale sources, with backoff
|
|
138
136
|
releases admin source fetch --retry-errors # retry sources whose last fetch failed
|
|
139
137
|
releases admin source fetch --changed # sources with upstream changes detected
|
|
140
|
-
releases admin source fetch --unfetched
|
|
141
|
-
releases admin source fetch next-js --
|
|
138
|
+
releases admin source fetch --unfetched # never-fetched sources
|
|
139
|
+
releases admin source fetch next-js --wait # block until the dispatched session finishes
|
|
140
|
+
releases admin source fetch next-js --dry-run # probe without writing or billing
|
|
141
|
+
releases admin source fetch next-js --local # stage a local-ingest handoff (no managed agent)
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
Notes:
|
|
145
145
|
|
|
146
|
-
-
|
|
146
|
+
- The server caps each fetch at 200 releases per source (GitHub paginates at ~10K); there is no CLI override flag.
|
|
147
|
+
- A fetch that inserts new releases also triggers a server-side fill pass over the source's missing AI titles/summaries (up to 100 rows) when the org has `auto_generate_content` enabled — no flag, no second step.
|
|
147
148
|
- Remote mode **requires** a filter or slug. Bare `releases admin source fetch` with no args is blocked to prevent accidental bulk work.
|
|
149
|
+
- A source identifier can't be combined with `--org` — pass one source (`src_…`, `org/slug`, or `--source`) or use `--org` alone to fetch the whole org; the CLI errors on the conflict. `--org` skips push-only `agent` sources (they have no fetch adapter).
|
|
148
150
|
- Remote concurrency defaults to 3, capped at 5. Duplicate source fetches are detected and blocked.
|
|
149
151
|
- Smart fetch backoff: sources returning no changes back off exponentially (1h → 48h); error backoff caps at 72h.
|
|
150
152
|
|
|
@@ -225,7 +227,7 @@ releases admin org update vercel --category developer-tools
|
|
|
225
227
|
releases admin org link vercel --platform github --handle vercel
|
|
226
228
|
releases admin org tag add vercel react serverless
|
|
227
229
|
releases admin org alias add anthropic claude.ai claude.com
|
|
228
|
-
releases admin source fetch --org vercel # fetch all of an org's active sources
|
|
230
|
+
releases admin source fetch --org vercel # fetch all of an org's active sources (skips push-only agent sources)
|
|
229
231
|
releases admin org delete vercel # reversible tombstone soft-delete
|
|
230
232
|
releases admin org delete vercel --hard --yes # permanent purge + FK cascade
|
|
231
233
|
```
|
|
@@ -4,6 +4,8 @@ Reader commands are unauthenticated — no API key required. They talk to `api.r
|
|
|
4
4
|
|
|
5
5
|
**Release JSON is slim by default.** `get`, `search`, and `tail`/`latest` return a lean release shape — `id`, `version`, `title`, `summary`, a markdown-stripped `excerpt`, `url`, `publishedAt`, nested `source`/`org`, and `contentChars`/`contentTokens` size hints. This drops storage internals (`contentHash`, `sourceId`, `versionSort`, `fetchedAt`, …) and the redundant `title*` variants to keep token usage low. Add `--full` when you need the complete payload (including the full `content` body). `summary` may be `null`; lean on `excerpt` / `contentChars` to decide whether to pull more.
|
|
6
6
|
|
|
7
|
+
Two fields survive into the slim shape because they answer common questions without a `--full` round-trip: **`media[]`** is included when the release carries media (each item keeps the R2-mirrored `r2Url`), so you can verify "did this image mirror to R2?" from the default output; and **`contentTruncated: true`** is stamped whenever a full `content` body exists but was projected to `excerpt`, signalling that `--full` will return more. Both are omitted when not applicable.
|
|
8
|
+
|
|
7
9
|
> **Piping note:** in the default (non-`--json`) TSV output, release rows repeat the title across several columns (raw title, normalized title, version). Don't assume `cut -f2` lands on a unique field — check the row layout first, or just use `--json` for stable parsing.
|
|
8
10
|
|
|
9
11
|
## Search
|
|
@@ -47,12 +49,18 @@ releases tail # across all sources
|
|
|
47
49
|
releases tail next-js # one source (slug)
|
|
48
50
|
releases tail src_abc123 # one source (typed id)
|
|
49
51
|
releases tail --org vercel --count 20 # whole org (org_…, slug, domain, name, or handle)
|
|
52
|
+
releases tail --org vercel --limit 100 # --limit is an alias for --count (both clamp to 1–100)
|
|
53
|
+
releases tail --product nextjs --cursor <token> # page the product feed (see below)
|
|
50
54
|
releases tail --product nextjs # one product (prod_… or slug)
|
|
51
55
|
releases tail --type feature # filter by release type
|
|
52
56
|
releases tail --json # slim shape
|
|
53
57
|
releases tail --json --full # complete payload
|
|
54
58
|
```
|
|
55
59
|
|
|
60
|
+
`--count` (alias `--limit`) caps the rows returned and is clamped to `1–100`; a positive integer is required (anything else errors). When a one-shot listing fills the requested window, a truncation hint is printed to **stderr** so `--json` stdout stays clean.
|
|
61
|
+
|
|
62
|
+
Pagination differs by feed: only the **product** feed (`--product`) is cursor-paginated — pass `--cursor <token>` to fetch the next page, chaining the token from the previous response. The org-wide and global feeds are **count-capped, not cursored**, so `--cursor` without `--product` errors rather than being silently ignored (and `--cursor` can't combine with `--follow`).
|
|
63
|
+
|
|
56
64
|
## List sources
|
|
57
65
|
|
|
58
66
|
```bash
|
|
@@ -69,6 +77,8 @@ releases list --json --compact # lightweight JSON (id, slug, name, type,
|
|
|
69
77
|
releases list --json --limit 20 --page 2 # pagination (server-side)
|
|
70
78
|
```
|
|
71
79
|
|
|
80
|
+
The text table carries a per-source **`Releases`** count column (a dim `—` when unknown), so you can answer "how many releases does this source have?" without a follow-up call; the `--json` rows expose the same value as `releaseCount`.
|
|
81
|
+
|
|
72
82
|
Aliased as `releases admin source list` for discoverability within admin workflows.
|
|
73
83
|
|
|
74
84
|
## Get any entity
|
|
@@ -85,6 +95,8 @@ releases get vercel # slug fallthrough (org → product
|
|
|
85
95
|
|
|
86
96
|
Use this when you have an ID from another tool output (search results, MCP tool responses, etc.) and want to inspect it without caring what kind of entity it is.
|
|
87
97
|
|
|
98
|
+
For a release, `releases get rel_… --json` carries `media[]` (with each item's R2-mirrored `r2Url`) and a `contentTruncated` flag in the slim shape — enough to confirm media mirrored to R2 and whether there's a fuller body behind `--full`, without dropping to the raw API.
|
|
99
|
+
|
|
88
100
|
## Stats
|
|
89
101
|
|
|
90
102
|
```bash
|