@grimoire-rs/indexer 0.1.2 → 0.1.4

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/README.md CHANGED
@@ -40,9 +40,29 @@ export default defineConfig({
40
40
 
41
41
  ## Status
42
42
 
43
- Pre-1.0. All three subcommands work and are covered by tests, but the
44
- end-to-end loop announce, gate, auto-merge, publish has not yet been
45
- proven against a live index, so treat it as early.
43
+ Pre-1.0. The end-to-end loop was proven against live GitHub repositories
44
+ on 2026-07-28: `init` push Pages → `grim publish --announce` PR
45
+ gate auto-merge Pages `grim config registry add` → `grim search` →
46
+ `grim add`. The gate accepted a genuine pointer and refused all five
47
+ hostile variants (author not the namespace owner, path outside the
48
+ pointer layout, registry host outside the committed allowlist,
49
+ unreachable OCI ref, unowned namespace).
50
+
51
+ Two things that trial settled, both worth knowing before you scaffold:
52
+
53
+ - **Requiring the gate needs the check named `validate / validate`**, not
54
+ `validate`. Requiring a context that never reports blocks every PR
55
+ forever and looks exactly like the gate rejecting your contribution.
56
+ - **In the combined (`--with-skills`) layout the gate does not cover your
57
+ own CI's announce.** GitHub runs no workflows on a PR opened with
58
+ `secrets.GITHUB_TOKEN`, so that PR arrives ungated — review it by hand.
59
+ It also needs "Allow GitHub Actions to create and approve pull
60
+ requests" enabled, which is off by default and which also lets
61
+ workflows approve PRs.
62
+
63
+ Not yet proven live: the GitLab leg (hermetic tests only; the
64
+ `include: remote:` URL is verified to resolve), and the cross-repository
65
+ announce, which needs a credential beyond the CI token.
46
66
 
47
67
  Two things are frozen and safe to build on: the published URL layout
48
68
  (`/p/<namespace>/<name>/` and `/all.json`) and the per-record `schema`
@@ -53,9 +73,20 @@ is deliberately no component-override API yet — publishing one would
53
73
  freeze a prop contract per slot, and that is not a promise worth making
54
74
  this early.
55
75
 
56
- > **Do not use `0.1.0`.** npm silently stripped its `bin` entry at publish
57
- > time, so that version installs without an executable. Use `0.1.1` or
58
- > later.
76
+ > **Use `0.1.4` or later.** `0.1.0` installs without an executable npm
77
+ > silently stripped its `bin` entry at publish time. `0.1.1` and `0.1.2`
78
+ > scaffold CI that points at reusable workflows those tags do not contain,
79
+ > so the first push to a scaffolded index fails before any job runs. An
80
+ > index already scaffolded against `0.1.1`/`0.1.2` is fixed by bumping the
81
+ > `@v0.1.x` refs in `.github/workflows/{pages,validate}.yml` — no
82
+ > re-scaffold needed.
83
+ >
84
+ > Through `0.1.3`, `init --with-skills` wrote a `publish.toml` with no
85
+ > `[announce]` table, so `grim publish --announce` in a combined-layout
86
+ > repo proposed its packages into the **public** first-party index rather
87
+ > than the one beside them. If you scaffolded that layout on `0.1.3` or
88
+ > earlier, add an `[announce]` table naming your own repository before
89
+ > announcing.
59
90
 
60
91
  ## License
61
92
 
@@ -11,6 +11,8 @@ export interface InitAnswers {
11
11
  forge: Forge;
12
12
  git: boolean;
13
13
  withSkills: boolean;
14
+ /** This repo's own https URL — the announce target. `""` when nothing could derive it. */
15
+ repoUrl: string;
14
16
  }
15
17
  /** Raw `init` flags, straight off commander. */
16
18
  export interface InitFlags {
@@ -24,6 +26,7 @@ export interface InitFlags {
24
26
  forge?: Forge;
25
27
  git?: boolean;
26
28
  withSkills?: boolean;
29
+ repoUrl?: string;
27
30
  force?: boolean;
28
31
  }
29
32
  /** What happened to one scaffolded file. */
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAaA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAU1D,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,gGAAgG;AAChG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACrD,cAAc,EAAE,OAAO,CAAC;CACzB;AAiVD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwB5F"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAaA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAwB1D,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,gGAAgG;AAChG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACrD,cAAc,EAAE,OAAO,CAAC;CACzB;AAubD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwB5F"}
package/dist/cli/init.js CHANGED
@@ -14,6 +14,17 @@ const TEMPLATE_DIR = fileURLToPath(new URL("../../templates/", import.meta.url))
14
14
  /** `{{name}}`, but never GitHub Actions' `${{ ... }}` — hence the `$` lookbehind. */
15
15
  const PLACEHOLDER = /(?<!\$)\{\{\s*([A-Za-z_]\w*)\s*\}\}/g;
16
16
  const NAME_RE = /^[a-z0-9][a-z0-9._-]*$/;
17
+ /**
18
+ * What `[announce]` gets when nothing knew this repo's URL. It is not a
19
+ * locator, so `grim publish --announce` fails on it before any network call —
20
+ * which is the point: the alternative is grim's own default, the public
21
+ * first-party index, and announcing into a stranger's repo by accident.
22
+ */
23
+ const UNDERIVED = "REPLACE-ME";
24
+ /** GitHub/GitLab Pages hosts — the URL of a Pages site names the repo serving it. */
25
+ const PAGES_HOST = /^([\w-]+)\.(github|gitlab)\.io$/;
26
+ /** scp-like `[user@]host:owner/repo` — the one git remote shape that is not a URL. */
27
+ const SCP_REMOTE = /^(?:[^@/]+@)?([\w.-]+):(?!\/)(.+)$/;
17
28
  function slug(value) {
18
29
  return value
19
30
  .trim()
@@ -65,6 +76,72 @@ function badName(value) {
65
76
  }
66
77
  return null;
67
78
  }
79
+ /**
80
+ * The target dir's `origin` remote as an https URL — set when the repo was
81
+ * created on the forge and cloned before scaffolding into it. Any remote
82
+ * shape (https, ssh, scp-like) reduces to the https form `[announce]` wants.
83
+ */
84
+ function gitRemoteUrl(dir) {
85
+ let remote;
86
+ try {
87
+ remote = execFileSync("git", ["-C", dir, "remote", "get-url", "origin"], {
88
+ encoding: "utf8",
89
+ stdio: ["ignore", "pipe", "ignore"],
90
+ }).trim();
91
+ }
92
+ catch {
93
+ return undefined; // no git, no repo, or no `origin`
94
+ }
95
+ const bare = remote.replace(/\.git$/, "");
96
+ const scp = SCP_REMOTE.exec(bare);
97
+ if (scp)
98
+ return `https://${scp[1]}/${scp[2]}`;
99
+ try {
100
+ const url = new URL(bare);
101
+ // `url.host` drops the userinfo, so a token in the remote never survives.
102
+ if (["https:", "http:", "ssh:", "git:"].includes(url.protocol)) {
103
+ return `https://${url.host}${url.pathname}`;
104
+ }
105
+ }
106
+ catch {
107
+ /* a `file://` or otherwise unmappable remote — nothing to announce into */
108
+ }
109
+ return undefined;
110
+ }
111
+ /**
112
+ * The forge repo behind a Pages base URL: `https://acme.github.io/idx` is
113
+ * served from `github.com/acme/idx`, and a Pages root (`https://acme.github.io`)
114
+ * from the repo named after the host itself. Only the first path segment is
115
+ * read, so a nested GitLab group needs the URL corrected by hand.
116
+ */
117
+ function repoUrlFromPages(baseUrl) {
118
+ let url;
119
+ try {
120
+ url = new URL(baseUrl);
121
+ }
122
+ catch {
123
+ return undefined;
124
+ }
125
+ const pages = PAGES_HOST.exec(url.hostname);
126
+ if (!pages)
127
+ return undefined;
128
+ const project = url.pathname.split("/").filter(Boolean)[0] ?? url.hostname;
129
+ return `https://${pages[2]}.com/${pages[1]}/${project}`;
130
+ }
131
+ /**
132
+ * The `index/<host>/<namespace>/` this repo's entries land under: its path
133
+ * minus the repo itself — one segment on GitHub, possibly nested on GitLab.
134
+ */
135
+ function announceNamespace(repoUrl) {
136
+ let segments;
137
+ try {
138
+ segments = new URL(repoUrl).pathname.split("/").filter(Boolean);
139
+ }
140
+ catch {
141
+ return undefined;
142
+ }
143
+ return segments.length > 1 ? segments.slice(0, -1).join("/") : undefined;
144
+ }
68
145
  /**
69
146
  * Resolve flags into a complete answer set, prompting for whatever is
70
147
  * missing. `--quick` never prompts, so CI and tests get a deterministic
@@ -78,6 +155,7 @@ async function resolveAnswers(dir, flags) {
78
155
  ["--name", flags.name, badName],
79
156
  ["--registry", flags.registry, badName],
80
157
  ["--base-url", flags.baseUrl, badUrl],
158
+ ["--repo-url", flags.repoUrl, badUrl],
81
159
  ]) {
82
160
  if (value !== undefined) {
83
161
  const reason = check(value);
@@ -87,16 +165,24 @@ async function resolveAnswers(dir, flags) {
87
165
  }
88
166
  if (flags.quick) {
89
167
  const name = flags.name ?? defaultName;
168
+ const baseUrl = flags.baseUrl ?? "http://localhost:4321";
169
+ const withSkills = flags.withSkills ?? false;
90
170
  return {
91
171
  name,
92
172
  title: flags.title ?? titleCase(name),
93
- baseUrl: flags.baseUrl ?? "http://localhost:4321",
173
+ baseUrl,
94
174
  registryAlias: flags.registry ?? name,
95
175
  registryHost: flags.registryHost ?? "ghcr.io",
96
176
  logo: flags.logo ?? "",
97
177
  forge: flags.forge ?? "github",
98
178
  git: flags.git ?? true,
99
- withSkills: flags.withSkills ?? false,
179
+ withSkills,
180
+ // Only the combined layout writes an announce target, so only it pays
181
+ // for the derivation. An empty answer stays empty — a guessed index
182
+ // repo is worse than a placeholder that refuses to publish.
183
+ repoUrl: withSkills
184
+ ? (flags.repoUrl ?? gitRemoteUrl(dir) ?? repoUrlFromPages(baseUrl) ?? "")
185
+ : "",
100
186
  };
101
187
  }
102
188
  prompts.intro("grim-indexer — new package index");
@@ -119,6 +205,20 @@ async function resolveAnswers(dir, flags) {
119
205
  placeholder: "https://index.example.com",
120
206
  validate: (value) => badUrl(value ?? "") ?? undefined,
121
207
  })));
208
+ // Asked only for the combined layout — the standalone one writes no
209
+ // `publish.toml` and so announces nothing.
210
+ const derivedRepoUrl = gitRemoteUrl(dir) ?? repoUrlFromPages(baseUrl);
211
+ const repoUrl = !flags.withSkills
212
+ ? ""
213
+ : (flags.repoUrl ??
214
+ (await ask(prompts.text({
215
+ message: "Repository URL this index lives in (`grim publish --announce` targets it)",
216
+ placeholder: derivedRepoUrl ?? "https://github.com/you/your-index",
217
+ defaultValue: derivedRepoUrl ?? "",
218
+ // Blank is allowed: it writes a placeholder that refuses to publish,
219
+ // which beats forcing a URL the user does not have yet.
220
+ validate: (value) => (value ? (badUrl(value) ?? undefined) : undefined),
221
+ }))));
122
222
  const registryAlias = flags.registry ??
123
223
  (await ask(prompts.text({
124
224
  message: "Registry alias packages are published under",
@@ -153,6 +253,7 @@ async function resolveAnswers(dir, flags) {
153
253
  forge,
154
254
  git,
155
255
  withSkills: flags.withSkills ?? false,
256
+ repoUrl,
156
257
  };
157
258
  }
158
259
  /** Unwrap a clack prompt, turning Ctrl-C into a clean non-error abort. */
@@ -206,6 +307,8 @@ function plan(answers, version) {
206
307
  registryAlias: answers.registryAlias,
207
308
  registryHost: answers.registryHost,
208
309
  logo: answers.logo,
310
+ announceRepo: answers.repoUrl || UNDERIVED,
311
+ announceNamespace: (answers.repoUrl && announceNamespace(answers.repoUrl)) || UNDERIVED,
209
312
  version,
210
313
  // The reusable workflows are pinned by tag; Renovate's `github-actions`
211
314
  // manager bumps this in every scaffolded repo.
@@ -283,17 +386,23 @@ function nextSteps(result, answers) {
283
386
  // the absolute one it was derived from.
284
387
  const target = rel === "" ? "" : rel.startsWith("..") ? result.dir : rel;
285
388
  const cd = target === "" ? "" : `cd ${target}\n`;
286
- const lines = [
287
- `${cd}npx @grimoire-rs/indexer build`,
288
- "",
289
- "Then:",
290
- " 1. Add packages under index/<namespace>/<package>/metadata.json",
291
- " 2. Push to your forge — CI builds and publishes the site",
389
+ const steps = [
390
+ "Add packages under index/<namespace>/<package>/metadata.json",
391
+ "Push to your forge — CI builds and publishes the site",
292
392
  ];
293
393
  if (answers.baseUrl === "http://localhost:4321") {
294
- lines.push(" 3. Set baseUrl in index.config.json to the real site URL");
394
+ steps.push("Set baseUrl in index.config.json to the real site URL");
295
395
  }
296
- return lines.join("\n");
396
+ if (answers.withSkills && !answers.repoUrl) {
397
+ steps.push(`Set [announce] repository + namespace in publish.toml — both are ${UNDERIVED}, ` +
398
+ "and `grim publish --announce` refuses to run until they name this repo");
399
+ }
400
+ return [
401
+ `${cd}npx @grimoire-rs/indexer build`,
402
+ "",
403
+ "Then:",
404
+ ...steps.map((step, i) => ` ${i + 1}. ${step}`),
405
+ ].join("\n");
297
406
  }
298
407
  export async function init(dir, flags, version) {
299
408
  const target = path.resolve(dir);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAuEA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA0EzD"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAwEA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2EzD"}
package/dist/cli/main.js CHANGED
@@ -68,6 +68,7 @@ export async function run(argv) {
68
68
  .addOption(new Option("--forge <forge>", "CI to scaffold").choices(["github", "gitlab", "both"]))
69
69
  .option("--no-git", "do not run `git init`")
70
70
  .option("--with-skills", "scaffold the combined layout: this repo holds its skills and its index")
71
+ .option("--repo-url <url>", "URL of the repo being scaffolded (`--announce` targets it)")
71
72
  .option("--force", "overwrite files that differ from the scaffold")
72
73
  .action(async (dir, opts, cmd) => {
73
74
  code = await init(dir,
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grimoire-rs/indexer",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "CLI + Astro integration for running your own grim package index",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -1,7 +1,12 @@
1
1
  # Contribution gate for pull requests against this index.
2
2
  #
3
- # Exit 0 = eligible for auto-merge, non-zero = manual review required.
4
- # Make `validate` a required status check in branch protection to enforce it.
3
+ # Exit 0 = eligible for auto-merge, non-zero = manual review required. To
4
+ # enforce it, require the status check named `validate / validate` in branch
5
+ # protection — NOT `validate`. A thin caller reports its check run as
6
+ # `<job key here> / <job key in the called workflow>`, and both happen to be
7
+ # `validate`; rename `jobs.validate` below and the required context moves
8
+ # with it. Requiring a context that never reports blocks every PR forever,
9
+ # and looks exactly like the gate rejecting the contribution.
5
10
  #
6
11
  # `pull_request_target` is deliberate and safe HERE, and only because of
7
12
  # what the called workflow does: it runs grim-indexer from npm against the
@@ -13,6 +18,16 @@
13
18
  # Do not switch this to run contributor code, and do not widen
14
19
  # `permissions:` here.
15
20
  #
21
+ # This gate covers third-party contributions. It does NOT cover an announce
22
+ # your own CI makes (the `--with-skills` layout, where this repo publishes
23
+ # into its own index): GitHub runs no workflows on a PR opened with
24
+ # `secrets.GITHUB_TOKEN`, so `grim publish --announce` from CI lands an
25
+ # effectively ungated PR — review it by hand. That PR also needs "Allow
26
+ # GitHub Actions to create and approve pull requests" (Settings → Actions)
27
+ # turned on, off by default; without it grim only pushes the branch and
28
+ # reports `outcome: "branch-pushed"`. Enabling it lets any workflow in this
29
+ # repo approve PRs too, so weigh it against your branch protection.
30
+ #
16
31
  # Deliberately a thin caller: the job logic lives in a reusable workflow
17
32
  # grim-indexer owns, so upgrades arrive by bumping the pinned ref below
18
33
  # instead of re-scaffolding this repo over your edits.
@@ -11,6 +11,21 @@
11
11
  registry = "{{registryHost}}"
12
12
  version = "0.1.0"
13
13
 
14
+ # Where `grim publish --announce` opens its PR/MR. This repo *is* the index,
15
+ # so it announces into itself. Never drop these keys: with no `[announce]`
16
+ # table grim falls back to the public first-party index
17
+ # (`github.com/grimoire-rs/index`) and proposes your packages into a repo you
18
+ # do not own.
19
+ #
20
+ # `repository` is this repo's https clone URL. `namespace` is the
21
+ # `index/<host>/<namespace>/` your entries land under — the contribution gate
22
+ # refuses a namespace whose forge owner is not you. A literal `REPLACE-ME`
23
+ # means the scaffold had nothing to derive it from: `--announce` then stops
24
+ # with "cannot derive the index host" rather than announcing anywhere.
25
+ [announce]
26
+ repository = "{{announceRepo}}"
27
+ namespace = "{{announceNamespace}}"
28
+
14
29
  # One table per package. `repository` is the path under the registry host.
15
30
  #
16
31
  # [skills.example]
@@ -1,80 +0,0 @@
1
- # SPDX-License-Identifier: Apache-2.0
2
- # Copyright 2026 The Grimoire Authors
3
- #
4
- # Reusable workflow: build a grimoire index repo and publish it to GitHub
5
- # Pages. Scaffolded index repos call this by ref rather than inlining the
6
- # job logic, so a fix here reaches every downstream index without anyone
7
- # re-running `grim-indexer init` over their edits. Renovate's built-in
8
- # `github-actions` manager bumps the pinned ref in each caller.
9
- #
10
- # Copy this file to `.github/workflows/index-pages.yml` in this repo — a
11
- # reusable workflow must live directly in `.github/workflows/`, GitHub does
12
- # not resolve subdirectories.
13
- name: grim-indexer pages
14
-
15
- on:
16
- workflow_call:
17
- inputs:
18
- node-version:
19
- description: Node.js version used to run grim-indexer.
20
- type: string
21
- required: false
22
- default: "22"
23
- grim-indexer-version:
24
- description: npm version or range of grim-indexer to run.
25
- type: string
26
- required: false
27
- default: latest
28
- out-dir:
29
- description: Directory `grim-indexer build` writes the site into.
30
- type: string
31
- required: false
32
- default: dist
33
-
34
- permissions: {}
35
-
36
- concurrency:
37
- group: grim-indexer-pages
38
- cancel-in-progress: false
39
-
40
- jobs:
41
- build:
42
- runs-on: ubuntu-latest
43
- permissions:
44
- contents: read
45
- steps:
46
- - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
47
- with:
48
- persist-credentials: false
49
-
50
- - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
51
- with:
52
- node-version: ${{ inputs.node-version }}
53
-
54
- # Inputs reach the shell through env vars, never through `run:`
55
- # interpolation — a caller-supplied value must not be able to close
56
- # the quoting and append a command.
57
- - name: Build index
58
- env:
59
- VERSION: ${{ inputs.grim-indexer-version }}
60
- OUT_DIR: ${{ inputs.out-dir }}
61
- run: npx --yes "@grimoire-rs/indexer@${VERSION}" build --out-dir "${OUT_DIR}"
62
-
63
- - uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
64
-
65
- - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
66
- with:
67
- path: ${{ inputs.out-dir }}
68
-
69
- deploy:
70
- needs: build
71
- runs-on: ubuntu-latest
72
- permissions:
73
- pages: write
74
- id-token: write
75
- environment:
76
- name: github-pages
77
- url: ${{ steps.deployment.outputs.page_url }}
78
- steps:
79
- - id: deployment
80
- uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
@@ -1,88 +0,0 @@
1
- # SPDX-License-Identifier: Apache-2.0
2
- # Copyright 2026 The Grimoire Authors
3
- #
4
- # Reusable workflow: the contribution gate for an index repo.
5
- #
6
- # Runs from the TRUSTED base checkout under `pull_request_target`, because
7
- # the gate needs a forge token to resolve numeric namespace-owner ids. The
8
- # PR head is checked out into a SEPARATE directory and consumed as DATA
9
- # ONLY — nothing in it is executed, imported, installed, or interpolated
10
- # into a command. `@grimoire-rs/indexer` itself comes from npm, never from the PR.
11
- #
12
- # Do not add a `run:` step that touches `pr-tree/`, and never add
13
- # `npm ci`/`npm install` — that would execute contributor code with a
14
- # write-capable token.
15
- #
16
- # The gate contract is the exit code of `grim-indexer validate`:
17
- # 0 -> eligible for auto-merge
18
- # non-zero -> manual review required
19
- # so this job's success/failure IS the gate. Branch protection on the
20
- # calling repo turns that into a merge decision.
21
- #
22
- # Copy this file to `.github/workflows/index-validate.yml` in this repo — a
23
- # reusable workflow must live directly in `.github/workflows/`, GitHub does
24
- # not resolve subdirectories.
25
- name: grim-indexer validate
26
-
27
- on:
28
- workflow_call:
29
- inputs:
30
- node-version:
31
- description: Node.js version used to run grim-indexer.
32
- type: string
33
- required: false
34
- default: "22"
35
- grim-indexer-version:
36
- description: npm version or range of grim-indexer to run.
37
- type: string
38
- required: false
39
- default: latest
40
-
41
- permissions: {}
42
-
43
- jobs:
44
- validate:
45
- runs-on: ubuntu-latest
46
- permissions:
47
- contents: read
48
- pull-requests: read
49
- steps:
50
- # Trusted: the committed state the PR proposes to change.
51
- - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
52
- with:
53
- persist-credentials: false
54
-
55
- # Untrusted: PR head, as data. `persist-credentials: false` keeps a
56
- # token out of the tree the contributor controls.
57
- - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
58
- with:
59
- ref: ${{ github.event.pull_request.head.sha }}
60
- path: pr-tree
61
- persist-credentials: false
62
-
63
- - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
64
- with:
65
- node-version: ${{ inputs.node-version }}
66
-
67
- # Changed paths come from the API, not from a diff of the untrusted
68
- # tree. `jq -r` output is written to a file and passed via `xargs -a`
69
- # so a crafted filename can never reach the shell as syntax.
70
- - name: Collect changed paths
71
- env:
72
- GH_TOKEN: ${{ github.token }}
73
- REPO: ${{ github.repository }}
74
- PR: ${{ github.event.pull_request.number }}
75
- run: |
76
- set -euo pipefail
77
- gh api --paginate "repos/${REPO}/pulls/${PR}/files" \
78
- --jq '.[] | select(.status != "removed") | .filename' \
79
- | grep -E '^index/' > changed.txt || : > changed.txt
80
-
81
- - name: Validate contribution
82
- env:
83
- VERSION: ${{ inputs.grim-indexer-version }}
84
- GITHUB_TOKEN: ${{ github.token }}
85
- run: |
86
- set -euo pipefail
87
- xargs -a changed.txt npx --yes "@grimoire-rs/indexer@${VERSION}" validate \
88
- --forge github --root . --pr-tree pr-tree