paperlint 2.1.0 → 3.0.0

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.
Files changed (191) hide show
  1. package/CLAUDE.md +6 -1
  2. package/README.md +233 -224
  3. package/action.yml +4 -6
  4. package/dist/adapters/references/index.d.ts +13 -0
  5. package/dist/adapters/references/index.d.ts.map +1 -0
  6. package/dist/adapters/references/index.js +55 -0
  7. package/dist/adapters/references/index.js.map +1 -0
  8. package/dist/adapters/references/reach.io.d.ts +3 -0
  9. package/dist/adapters/references/reach.io.d.ts.map +1 -0
  10. package/dist/adapters/references/reach.io.js +14 -0
  11. package/dist/adapters/references/reach.io.js.map +1 -0
  12. package/dist/build.d.ts +15 -0
  13. package/dist/build.d.ts.map +1 -1
  14. package/dist/build.js +38 -4
  15. package/dist/build.js.map +1 -1
  16. package/dist/cli.d.ts +28 -25
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +277 -265
  19. package/dist/cli.js.map +1 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +40 -72
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/facts-file.d.ts +2 -2
  24. package/dist/facts-file.js +2 -2
  25. package/dist/hooks-settings.d.ts +0 -21
  26. package/dist/hooks-settings.d.ts.map +1 -1
  27. package/dist/hooks-settings.js +17 -135
  28. package/dist/hooks-settings.js.map +1 -1
  29. package/dist/init.d.ts +39 -29
  30. package/dist/init.d.ts.map +1 -1
  31. package/dist/init.js +143 -172
  32. package/dist/init.js.map +1 -1
  33. package/dist/link-skills.d.ts +1 -1
  34. package/dist/link-skills.d.ts.map +1 -1
  35. package/dist/link-skills.js +11 -29
  36. package/dist/link-skills.js.map +1 -1
  37. package/dist/new-paper.d.ts.map +1 -1
  38. package/dist/new-paper.js +2 -13
  39. package/dist/new-paper.js.map +1 -1
  40. package/dist/paper-files.d.ts +63 -0
  41. package/dist/paper-files.d.ts.map +1 -0
  42. package/dist/paper-files.js +69 -0
  43. package/dist/paper-files.js.map +1 -0
  44. package/dist/paper-settings.d.ts +13 -41
  45. package/dist/paper-settings.d.ts.map +1 -1
  46. package/dist/paper-settings.js +71 -71
  47. package/dist/paper-settings.js.map +1 -1
  48. package/dist/ports/check-references.d.ts +31 -0
  49. package/dist/ports/check-references.d.ts.map +1 -0
  50. package/dist/ports/check-references.js +7 -0
  51. package/dist/ports/check-references.js.map +1 -0
  52. package/dist/presets.d.ts +1 -1
  53. package/dist/presets.d.ts.map +1 -1
  54. package/dist/presets.js +4 -6
  55. package/dist/presets.js.map +1 -1
  56. package/dist/reference-rules.d.ts +47 -0
  57. package/dist/reference-rules.d.ts.map +1 -0
  58. package/dist/reference-rules.js +156 -0
  59. package/dist/reference-rules.js.map +1 -0
  60. package/dist/references.d.ts +36 -0
  61. package/dist/references.d.ts.map +1 -0
  62. package/dist/references.js +91 -0
  63. package/dist/references.js.map +1 -0
  64. package/dist/rules-config.d.ts +5 -3
  65. package/dist/rules-config.d.ts.map +1 -1
  66. package/dist/rules-config.js +15 -6
  67. package/dist/rules-config.js.map +1 -1
  68. package/dist/structure.js +3 -3
  69. package/dist/structure.js.map +1 -1
  70. package/dist/tex-requirements.js +2 -2
  71. package/dist/tex-requirements.js.map +1 -1
  72. package/dist/types.d.ts +20 -18
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/venue-rules.d.ts.map +1 -1
  75. package/dist/venue-rules.js +11 -9
  76. package/dist/venue-rules.js.map +1 -1
  77. package/docs/configuration.md +119 -104
  78. package/docs/e2e.md +1 -1
  79. package/docs/install.md +25 -40
  80. package/docs/optional-rules.md +5 -4
  81. package/docs/rules.md +60 -23
  82. package/eslint-rules/bib-reachable-entry.mjs +75 -0
  83. package/eslint-rules/latex-language.mjs +29 -1
  84. package/eslint-rules/paper-stages.harness.mjs +1 -117
  85. package/eslint-rules/paper-stages.mjs +0 -120
  86. package/eslint-rules/paper-stages.mutations.mjs +0 -76
  87. package/eslint-rules/paper-typography.mjs +267 -192
  88. package/eslint-rules/paper-typography.test.mjs +297 -0
  89. package/eslint-rules/papers.harness.mjs +8 -12
  90. package/eslint-rules/papers.mjs +17 -31
  91. package/eslint-rules/pdf-last-page-balance.mjs +4 -7
  92. package/eslint-rules/review-frontmatter.mjs +118 -0
  93. package/eslint-rules/review-frontmatter.schema.json +36 -0
  94. package/eslint-rules/review-frontmatter.test.mjs +118 -0
  95. package/eslint-rules/sibling-frontmatter.mjs +19 -0
  96. package/eslint-rules/sibling-frontmatter.schema.json +14 -0
  97. package/eslint.config.mjs +0 -15
  98. package/fixtures/real-markdown-paper/baseline.json +6 -7
  99. package/hooks/hooks.harness.mjs +39 -98
  100. package/hooks/hooks.mutations.mjs +6 -6
  101. package/hooks/paper-edit-guard.hook.d.mts +2 -3
  102. package/hooks/paper-edit-guard.hook.mjs +31 -42
  103. package/hooks/paper-skills-nudge.hook.mjs +21 -19
  104. package/hooks/paper-status-gates.hook.mjs +21 -19
  105. package/hooks/paper-status-gates.sh +8 -13
  106. package/lib/paper-config.d.mts +15 -25
  107. package/lib/paper-config.harness.mjs +18 -35
  108. package/lib/paper-config.mjs +83 -105
  109. package/lib/paper-config.mutations.mjs +2 -2
  110. package/lib/skill-checks.mjs +1 -1
  111. package/lib/skill-trigger-cases.harness.mjs +9 -8
  112. package/lib/skill-trigger-cases.mjs +7 -15
  113. package/package.json +1 -1
  114. package/scripts/eslint-report-guard.mjs +1 -1
  115. package/scripts/harness-api.frozen.json +0 -3
  116. package/scripts/mutation-batteries.frozen.json +4 -13
  117. package/skills/analyze-sibling-paper/SKILL.md +16 -12
  118. package/skills/analyze-sibling-paper/SKILL.md.spec.ts +15 -11
  119. package/skills/cold-read-diff/SKILL.md +20 -1
  120. package/skills/cold-read-diff/SKILL.md.spec.ts +19 -0
  121. package/skills/grade-paper-writing/SKILL.md +20 -1
  122. package/skills/grade-paper-writing/SKILL.md.spec.ts +19 -0
  123. package/skills/paper-pipeline/scripts/consumer.d.mts +0 -1
  124. package/skills/paper-pipeline/scripts/consumer.harness.mjs +8 -12
  125. package/skills/paper-pipeline/scripts/consumer.mjs +19 -33
  126. package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +6 -4
  127. package/skills/paper-pipeline/scripts/run-mechanical.mjs +2 -11
  128. package/skills/plan-paper-timeline/SKILL.md +2 -2
  129. package/skills/plan-paper-timeline/SKILL.md.spec.ts +1 -1
  130. package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +1 -1
  131. package/skills/plan-paper-timeline/plan-paper-timeline.effects.mutations.mjs +2 -2
  132. package/skills/render-paper/check-render.sh +2 -3
  133. package/skills/render-paper/render-paper.harness.mjs +2 -2
  134. package/skills/verify-citations/SKILL.md +10 -1
  135. package/skills/verify-citations/SKILL.md.spec.ts +9 -0
  136. package/skills/verify-citations/scripts/bib-authors.mjs +48 -26
  137. package/src/adapters/references/index.ts +102 -0
  138. package/src/adapters/references/reach.io.ts +12 -0
  139. package/src/build.harness.mjs +8 -4
  140. package/src/build.ts +62 -6
  141. package/src/cli.harness.mjs +147 -292
  142. package/src/cli.mutations.mjs +35 -44
  143. package/src/cli.ts +344 -304
  144. package/src/doctor.harness.mjs +41 -84
  145. package/src/doctor.mutations.mjs +9 -9
  146. package/src/doctor.ts +44 -89
  147. package/src/facts-file.test.ts +0 -7
  148. package/src/facts-file.ts +2 -2
  149. package/src/hooks-settings.harness.mjs +7 -92
  150. package/src/hooks-settings.mutations.mjs +2 -17
  151. package/src/hooks-settings.ts +18 -162
  152. package/src/init.test.ts +206 -0
  153. package/src/init.ts +186 -230
  154. package/src/link-skills.harness.mjs +1 -38
  155. package/src/link-skills.mutations.mjs +9 -5
  156. package/src/link-skills.ts +10 -34
  157. package/src/lint-fix.test.ts +120 -0
  158. package/src/new-paper.test.ts +1 -13
  159. package/src/new-paper.ts +2 -17
  160. package/src/paper-files.test.ts +290 -0
  161. package/src/paper-files.ts +144 -0
  162. package/src/paper-settings-commands.test.ts +84 -121
  163. package/src/paper-settings.test.ts +93 -64
  164. package/src/paper-settings.ts +99 -97
  165. package/src/ports/check-references.ts +28 -0
  166. package/src/presets.ts +5 -15
  167. package/src/reference-rules.ts +229 -0
  168. package/src/references.test.ts +209 -0
  169. package/src/references.ts +138 -0
  170. package/src/rules-config.harness.mjs +24 -8
  171. package/src/rules-config.ts +19 -7
  172. package/src/structure.harness.mjs +3 -1
  173. package/src/structure.ts +3 -3
  174. package/src/tex-requirements.ts +2 -2
  175. package/src/types.ts +30 -18
  176. package/src/venue-rules.test.ts +20 -11
  177. package/src/venue-rules.ts +11 -13
  178. package/eslint-rules/doc-fields.harness.mjs +0 -336
  179. package/eslint-rules/doc-fields.mjs +0 -186
  180. package/eslint-rules/doc-fields.mutations.mjs +0 -96
  181. package/eslint-rules/paper-typography.harness.mjs +0 -291
  182. package/eslint-rules/paper-typography.mutations.mjs +0 -131
  183. package/eslint-rules/review-findings-cause.harness.mjs +0 -228
  184. package/eslint-rules/review-findings-cause.mjs +0 -135
  185. package/eslint-rules/review-findings-cause.mutations.mjs +0 -72
  186. package/fixtures/paper-stages/authors-ran/PIPELINE-STATUS.md +0 -16
  187. package/fixtures/paper-stages/marker-in-prose/PIPELINE-STATUS.md +0 -17
  188. package/fixtures/review-findings-cause/clean.md +0 -17
  189. package/fixtures/review-findings-cause/defect.md +0 -14
  190. package/fixtures/review-findings-cause/old-debt.md +0 -14
  191. package/fixtures/review-findings-cause/quiet-in-fence.md +0 -16
package/dist/init.js CHANGED
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * `paperlint init` — the whole install, in the terminal it was typed in.
3
3
  *
4
- * 🔴 WHAT THIS COMMAND USED TO DO, AND WHY THAT WAS A DEFECT RATHER THAN A SHORTFALL. It wrote
5
- * a separate config file with a GUESSED `"papers": "papers"` and never touched `package.json`. The three hooks
6
- * read the papers directory out of `package.json` and nothing else, so a consumer who followed the
7
- * documented install got a `paper-edit-guard` watching a directory that did not exist — and a guard
8
- * watching nothing is byte-identical, from outside, to a guard that is working (issue #33).
4
+ * 🔴 THE HOOKS, THE RULES AND THE CLI READ THE PAPERS DIRECTORY FROM ONE PLACE — the root
5
+ * `paperlint.json`, or its default `papers` when the file is absent. An install that wrote it
6
+ * anywhere else would give a `paper-edit-guard` watching a directory that does not exist — and a
7
+ * guard watching nothing is byte-identical, from outside, to a guard that is working (issue #33).
9
8
  *
10
9
  * The yardstick is how many actions happen between "I want this" and "it works": two, `npm i` and
11
10
  * this command (`docs/install.md`). Nothing is left to edit by hand.
@@ -13,9 +12,9 @@
13
12
  * ── THE DECISIONS, AND HOW EACH ONE IS MADE ─────────────────────────────────
14
13
  * papers directory MEASURED — `detectPapers` walks the repo for a directory whose CHILDREN
15
14
  * carry a paper marker. Several hits is the only case a human is asked about.
16
- * declaration WRITTEN into `package.json`, merged, never overwriting a value that is
17
- * already there. Prior art: husky's `init` edits the consumer's package.json
18
- * to add `prepare`. No second config file is created.
15
+ * declaration WRITTEN into the root `paperlint.json` only when it differs from the
16
+ * default `papers`; merged, never overwriting a value that is already there.
17
+ * A project on the defaults gets no config file at all.
19
18
  * skills LINKED — one relative symlink per shipped skill into `.claude/skills/`, the
20
19
  * only place Claude Code looks for project skills (`link-skills.ts`). An
21
20
  * entry of the same name that paperlint did not make is reported, never replaced.
@@ -27,7 +26,9 @@
27
26
  * Without a human: NO.
28
27
  * first paper OFFERED only to a human and only when the papers directory holds none;
29
28
  * without a human only `--paper <name>` creates one (`new-paper.ts`).
30
- * external toolchain REPORTED, never installed. npm's own rule, quoted in husky's write-up:
29
+ * TeX Live OFFERED to a human, with its size in the question and NO as the default;
30
+ * without a human only named as the next step (`offerTexLive`).
31
+ * other programs REPORTED, never installed. npm's own rule, quoted in husky's write-up:
31
32
  * "The only valid use of install or preinstall scripts is for compilation."
32
33
  *
33
34
  * 🔴 NOTHING IS ASKED WITHOUT A HUMAN — stdin AND stdout a terminal, `CI` unset, no `--yes`
@@ -35,7 +36,7 @@
35
36
  * an answer nobody gave. So the non-interactive path takes the stated default and SAYS which
36
37
  * default it took and why nothing was asked, rather than pretending it asked.
37
38
  */
38
- import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync,
39
+ import { existsSync, mkdirSync, readFileSync, writeFileSync,
39
40
  // eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
40
41
  } from "node:fs";
41
42
  // eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
@@ -45,13 +46,11 @@ import { doctor, detectPapers, found, PROGRAMS } from "./doctor.js";
45
46
  import { PAPER_MARKERS, papersIn } from "./build.js";
46
47
  import { linkSkills, SKILLS_HOME } from "./link-skills.js";
47
48
  import { actionRef } from "./action-ref.js";
48
- import { LEGACY_PACKAGE_NAME } from "../skills/paper-pipeline/scripts/consumer.mjs";
49
- import { FRESH_CLONE_NOTE, SETTINGS_PATH, UNINSTALL_PLUGIN, shippedWiring, wireHooks, } from "./hooks-settings.js";
49
+ import { FRESH_CLONE_NOTE, SETTINGS_PATH, shippedWiring, wireHooks, } from "./hooks-settings.js";
50
50
  import { DEFAULT_FORMAT, isFormat, nameProblem, } from "./new-paper.js";
51
51
  // The one source for the consumer's config key lives in the .mjs half of the package (the ESLint
52
52
  // rules and the skill scripts import it too); its types are in lib/paper-config.d.mts.
53
- import { CONFIG_KEY, DEFAULT_PAPERS_ROOT, LEGACY_CONFIG_KEY, LEGACY_PAPER_SETTINGS_FILE, PAPERS_DIR_FIELD, PAPER_SETTINGS_FILE, declaredSettings, renamedFieldMessage, } from "../lib/paper-config.mjs";
54
- import { migrationOf } from "./paper-settings.js";
53
+ import { CONFIG_FILE, DEFAULT_PAPERS_ROOT, PAPERS_DIR_FIELD, } from "../lib/paper-config.mjs";
55
54
  /**
56
55
  * 🔴 A QUESTION CAN FAIL, AND ITS FAILURE MUST NOT BE THE COMMAND'S. Measured 2026-09-18 on a
57
56
  * real pseudo-terminal: `readline`'s `question()` REJECTS with `AbortError: Aborted with Ctrl+D`
@@ -100,7 +99,8 @@ export const processInteractivity = (yes) => interactivity({
100
99
  /**
101
100
  * One hit is used, several are asked about, none falls back to the documented default — and the
102
101
  * fallback is labelled a guess in the same breath, because the whole class of defect this command
103
- * exists to close is a guess that later reads as a measurement.
102
+ * exists to close is a guess that later reads as a measurement. Called only when no
103
+ * `paperlint.json` declares a directory yet (`declarePapers`).
104
104
  */
105
105
  export async function choosePapers(root, { ask, interactive, }) {
106
106
  const candidates = detectPapers(root);
@@ -121,57 +121,38 @@ export async function choosePapers(root, { ask, interactive, }) {
121
121
  : { papers: picked, how: "chosen", candidates };
122
122
  }
123
123
  /**
124
- * Writes ONE declaration, into the file every channel can already name.
125
- *
126
- * 🔴 A HOOK CANNOT IMPORT CODE AND CANNOT WALK UP A TREE LOOKING FOR A CONFIG. It can read a path
127
- * it is able to spell, and the only path it can always spell is the project's own `package.json`.
128
- * That asymmetry is the whole reason the declaration lives here rather than in a file of its own:
129
- * many readers against one (`docs/install.md`, "One declaration").
124
+ * Declares the papers directory in the root `paperlint.json` — the one file the hooks, the rules
125
+ * and the CLI all read — and only when it is not the default: a project whose papers are in
126
+ * `papers/` needs no config file.
130
127
  *
131
128
  * ⚠️ Merged, not rewritten, and never over a value the consumer set — an `init` that silently
132
129
  * replaces a setting is worse than an `init` that does nothing, because the consumer keeps
133
130
  * believing the old value.
134
131
  */
135
- export function declarePapers(root, papers) {
136
- const path = join(root, "package.json");
137
- if (!existsSync(path))
138
- return { status: "absent", path };
139
- const raw = readFileSync(path, "utf8");
140
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- #49: replace with a real type
141
- let pkg;
142
- try {
143
- pkg = JSON.parse(raw);
144
- }
145
- catch (e) {
146
- return { status: "unparsable", path, reason: e.message };
132
+ export async function declarePapers(root, choose) {
133
+ const path = join(root, CONFIG_FILE);
134
+ const raw = existsSync(path) ? readFileSync(path, "utf8") : null;
135
+ let settings = {};
136
+ if (raw !== null) {
137
+ try {
138
+ settings = JSON.parse(raw);
139
+ }
140
+ catch (e) {
141
+ return { status: "unparsable", path, reason: e.message };
142
+ }
143
+ const existing = settings[PAPERS_DIR_FIELD];
144
+ if (existing !== undefined)
145
+ return { status: "kept", path, papers: existing };
147
146
  }
148
- const found = declaredSettings(pkg);
149
- if (found.conflict !== null)
150
- return { status: "renamed", path, message: found.conflict };
151
- const message = renamedFieldMessage(found.settings);
152
- if (message)
153
- return { status: "renamed", path, message };
154
- // Settings under the old key move to the new one, in the same position in the file.
155
- const migrated = found.legacy;
156
- if (migrated)
157
- pkg = renameKey(pkg, LEGACY_CONFIG_KEY, CONFIG_KEY);
158
- const write = () =>
147
+ // 🔴 ONLY NOW is the directory measured (or asked about). A declared one is the answer, and a
148
+ // candidate measured beside it is a decision nobody takes.
149
+ const choice = await choose();
150
+ if (choice.papers === DEFAULT_PAPERS_ROOT)
151
+ return { status: "default", path, papers: choice.papers, choice };
159
152
  // Two-space indent and the file's own trailing newline: a declaration is not a licence to
160
153
  // reformat somebody else's file, and a one-line diff is a diff a consumer will actually read.
161
- writeFileSync(path, JSON.stringify(pkg, null, 2) + (raw.endsWith("\n") ? "\n" : ""), "utf8");
162
- const existing = pkg?.[CONFIG_KEY]?.[PAPERS_DIR_FIELD];
163
- if (existing !== undefined) {
164
- if (migrated)
165
- write();
166
- return { status: "kept", path, papers: existing, migrated };
167
- }
168
- pkg[CONFIG_KEY] = { ...(pkg[CONFIG_KEY] ?? {}), [PAPERS_DIR_FIELD]: papers };
169
- write();
170
- return { status: "written", path, papers, migrated };
171
- }
172
- /** `obj` with `from` renamed to `to`, keeping the key's position. */
173
- function renameKey(obj, from, to) {
174
- return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k === from ? to : k, v]));
154
+ writeFileSync(path, JSON.stringify({ ...settings, [PAPERS_DIR_FIELD]: choice.papers }, null, 2) + (raw === null || raw.endsWith("\n") ? "\n" : ""), "utf8");
155
+ return { status: "written", path, papers: choice.papers, choice };
175
156
  }
176
157
  export const WORKFLOW_PATH = join(".github", "workflows", "papers.yml");
177
158
  /** Where the action is pinned when no release tag is known — obviously a placeholder. */
@@ -250,10 +231,15 @@ export function missingPrograms(run = spawnSync) {
250
231
  * session at all. `init` now writes the same three hook commands into `.claude/settings.json`
251
232
  * itself (`hooks-settings.ts`), so there is nothing left to type anywhere but here.
252
233
  */
253
- export function nextSteps(papersDir = DEFAULT_PAPERS_ROOT) {
234
+ export function nextSteps(papersDir = DEFAULT_PAPERS_ROOT, { toolchain = false } = {}) {
254
235
  return [
255
236
  ``,
256
237
  `next: npx paperlint new <name> # start a paper in ${papersDir}/ from the template`,
238
+ ...(toolchain
239
+ ? [
240
+ ` npx paperlint toolchain # TeX Live for building (${TOOLCHAIN_COST})`,
241
+ ]
242
+ : []),
257
243
  ` npx paperlint lint # runs every rule over ${papersDir}`,
258
244
  ``,
259
245
  ].join("\n");
@@ -323,12 +309,8 @@ export function reportHooks(outcome, { how, here }) {
323
309
  ? ` ✓ wired ${outcome.names.join(", ")} into ${here(outcome.path)}`
324
310
  : ` ✓ already wired in ${here(outcome.path)} — nothing changed`);
325
311
  out.push(` ${how}`);
326
- if (outcome.status === "written" && outcome.replaced > 0)
327
- out.push(` replaced ${String(outcome.replaced)} command(s) that pointed into ${LEGACY_PACKAGE_NAME}, the package's old name`);
328
312
  out.push(` ${FRESH_CLONE_NOTE}`);
329
313
  }
330
- if (outcome.plugin.length > 0)
331
- out.push(` ⚠ this project also enables the plugin (${outcome.plugin.join(", ")}) — with it every hook runs twice.`, ` the plugin no longer carries the hooks: ${UNINSTALL_PLUGIN}`, ` and remove it from "enabledPlugins" in ${SETTINGS_PATH}`);
332
314
  return out;
333
315
  }
334
316
  /**
@@ -347,8 +329,7 @@ export function reportSkillLinks(report, here) {
347
329
  return out;
348
330
  }
349
331
  const by = (s) => report.links.filter((l) => l.status === s);
350
- const replaced = by("replaced");
351
- const created = [...by("created"), ...replaced];
332
+ const created = by("created");
352
333
  const present = by("present");
353
334
  const skipped = by("foreign");
354
335
  // Only a read-only call leaves anything `missing`; counted anyway, so the sum always adds up.
@@ -359,8 +340,6 @@ export function reportSkillLinks(report, here) {
359
340
  (missing.length ? `, ${String(missing.length)} NOT linked` : ``));
360
341
  if (report.example !== null)
361
342
  out.push(` ${join(here(report.home), "<name>")} → ${join(dirname(report.example), "<name>")}`);
362
- if (replaced.length)
363
- out.push(` ${String(replaced.length)} of them replaced a link into ${LEGACY_PACKAGE_NAME}, the package's old name`);
364
343
  if (skipped.length) {
365
344
  out.push(` left untouched — the name is taken by something paperlint did not make:`);
366
345
  for (const l of skipped)
@@ -370,65 +349,6 @@ export function reportSkillLinks(report, here) {
370
349
  return out;
371
350
  }
372
351
  /** Reads one line from a real terminal. Kept out of `init` so the command stays testable. */
373
- /**
374
- * Move every paper's pre-2.1.0 `venue.json` to `paperlint.json`, the way the old package.json key
375
- * is moved, and in the same step `"venue": "aisec"` becomes `"extends": "paperlint:aisec"`: written
376
- * as `paperlint.json` when it is alone, removed when `paperlint.json` already says the same, and
377
- * REFUSED — both files left as they are — when they differ, since there is no way to know which
378
- * one the author means. `code` is 2 when anything was refused.
379
- */
380
- export function migratePaperSettings(papersAbs) {
381
- const lines = [];
382
- let code = 0;
383
- for (const dir of papersIn(papersAbs, [
384
- ...PAPER_MARKERS,
385
- LEGACY_PAPER_SETTINGS_FILE,
386
- ])) {
387
- const r = migrateOne(dir, (p) => relative(papersAbs, p));
388
- if (r === null)
389
- continue;
390
- lines.push(r.line);
391
- if (r.refused)
392
- code = 2;
393
- }
394
- return {
395
- code,
396
- lines: lines.length ? ["", "paper settings", ...lines] : [],
397
- };
398
- }
399
- /** One paper's move: done, and the line that says so — or null when there is nothing to move. */
400
- function migrateOne(dir, shown) {
401
- const [from, to] = [LEGACY_PAPER_SETTINGS_FILE, PAPER_SETTINGS_FILE].map((f) => join(dir, f));
402
- const read = (p) => (existsSync(p) ? readFileSync(p) : null);
403
- const plan = migrationOf(read(from), read(to));
404
- switch (plan.kind) {
405
- case "none":
406
- return null;
407
- case "move":
408
- writeFileSync(to, plan.text);
409
- unlinkSync(from);
410
- return {
411
- line: ` ✓ ${shown(from)} → ${shown(to)} ("venue" is now "extends": "paperlint:<name>"; renamed in paperlint 2.1.0)`,
412
- refused: false,
413
- };
414
- case "drop-legacy":
415
- unlinkSync(from);
416
- return {
417
- line: ` ✓ ${shown(from)} removed — ${shown(to)} already says the same`,
418
- refused: false,
419
- };
420
- case "conflict":
421
- return {
422
- line: ` ✗ ${shown(from)} and ${shown(to)} both exist and differ — nothing was moved. Keep ${PAPER_SETTINGS_FILE}, copy what you need from ${LEGACY_PAPER_SETTINGS_FILE} into it (its "venue": "x" is "extends": "paperlint:x"), delete ${LEGACY_PAPER_SETTINGS_FILE}, then run init again`,
423
- refused: true,
424
- };
425
- case "broken":
426
- return {
427
- line: ` ✗ ${shown(from)} was not moved: ${plan.why}`,
428
- refused: true,
429
- };
430
- }
431
- }
432
352
  export async function askOnTerminal(question) {
433
353
  // eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
434
354
  const { createInterface } = await import("node:readline/promises");
@@ -441,6 +361,80 @@ export async function askOnTerminal(question) {
441
361
  rl.close();
442
362
  }
443
363
  }
364
+ /** What `paperlint toolchain` costs, said wherever it is offered. */
365
+ export const TOOLCHAIN_COST = "~270 MB, ~3 min, once";
366
+ /**
367
+ * TeX Live, for `paperlint build` — `paperlint lint` needs none. OFFERED to a human with its cost
368
+ * in the question, default NO (270 MB is not a default anyone should get by pressing Enter);
369
+ * without a human only named as the next step. Nothing is ever installed unasked.
370
+ */
371
+ export async function offerTexLive(tex, { ask, interactive, }) {
372
+ if (tex?.installed())
373
+ return "was-installed";
374
+ if (!interactive || !ask || !tex?.install)
375
+ return "not-asked";
376
+ const answer = (await askOrDefault(ask, ` install TeX Live now, for \`paperlint build\`? (${TOOLCHAIN_COST}) [y/N] `))
377
+ ?.trim()
378
+ .toLowerCase();
379
+ if (answer !== "y" && answer !== "yes")
380
+ return "declined";
381
+ return tex.install() === 0 ? "installed" : "failed";
382
+ }
383
+ /** What `init` says about TeX Live. */
384
+ export function reportTexLive(t, why) {
385
+ const cmd = `npx paperlint toolchain # ${TOOLCHAIN_COST}`;
386
+ if (t === "was-installed")
387
+ return [` ✓ paperlint's TeX Live is installed`];
388
+ if (t === "installed")
389
+ return [` ✓ installed`];
390
+ if (t === "failed")
391
+ return [
392
+ ` ✗ the install failed — see above. Run it again:`,
393
+ ` ${cmd}`,
394
+ ];
395
+ return [
396
+ t === "declined"
397
+ ? ` · declined — nothing installed. When you want to build:`
398
+ : ` · not installed — ${why}, so nothing was asked. To build, run once:`,
399
+ ` ${cmd}`,
400
+ ];
401
+ }
402
+ /** The "papers directory" section of init's report: how the directory was arrived at. */
403
+ function papersLines(decl, why) {
404
+ const out = [``, `papers directory`];
405
+ if (decl.status === "kept" && typeof decl.papers === "string")
406
+ return [
407
+ ...out,
408
+ ` ✓ ${decl.papers} — declared in ${CONFIG_FILE} → "${PAPERS_DIR_FIELD}"; nothing measured`,
409
+ ];
410
+ if (decl.status !== "written" && decl.status !== "default")
411
+ return [];
412
+ const { choice } = decl;
413
+ if (choice.how === "detected")
414
+ return [
415
+ ...out,
416
+ ` ✓ ${choice.papers} — measured: its subdirectories carry ${PAPER_MARKERS.join(" / ")}`,
417
+ ];
418
+ if (choice.how === "chosen")
419
+ return [
420
+ ...out,
421
+ ` ✓ ${choice.papers} — you picked it out of ${String(choice.candidates.length)} candidates`,
422
+ ];
423
+ if (choice.how === "not-asked" || choice.how === "no-answer")
424
+ return [
425
+ ...out,
426
+ ` ✓ ${choice.papers} — ${String(choice.candidates.length)} candidates, ` +
427
+ (choice.how === "not-asked"
428
+ ? `${why} so nothing was asked`
429
+ : `no answer was given, so the first one was taken`),
430
+ ` the others: ${choice.candidates.slice(1).join(", ")} — set "${PAPERS_DIR_FIELD}" in ${CONFIG_FILE} if this is the wrong one`,
431
+ ];
432
+ return [
433
+ ...out,
434
+ ` · ${choice.papers} — the default. Nothing here looks like a papers directory yet;`,
435
+ ` \`npx paperlint new <name>\` creates the first paper there.`,
436
+ ];
437
+ }
444
438
  // Documented in README.md#install-and-set-up — update it when this changes.
445
439
  export async function init(dir, opts = {}) {
446
440
  const { log = console.log, err = console.error,
@@ -459,31 +453,17 @@ export async function init(dir, opts = {}) {
459
453
  const here = (p) => relative(cwd, p) || p;
460
454
  log(``);
461
455
  log(`paperlint init — each decision below says HOW it was decided`);
462
- // ── 1. where the papers are ───────────────────────────────────────────────────────────
463
- const choice = await choosePapers(root, { ask, interactive });
464
- log(``);
465
- log(`papers directory`);
466
- if (choice.how === "detected")
467
- log(` ✓ ${choice.papers} — measured: its subdirectories carry ${PAPER_MARKERS.join(" / ")}`);
468
- else if (choice.how === "chosen")
469
- log(` ✓ ${choice.papers} — you picked it out of ${String(choice.candidates.length)} candidates`);
470
- else if (choice.how === "not-asked" || choice.how === "no-answer") {
471
- log(` ✓ ${choice.papers} — ${String(choice.candidates.length)} candidates, ` +
472
- (choice.how === "not-asked"
473
- ? `${why} so nothing was asked`
474
- : `no answer was given, so the first one was taken`));
475
- log(` the others: ${choice.candidates.slice(1).join(", ")} — change it in package.json if this is the wrong one`);
476
- }
477
- else {
478
- log(` ⚠ ${choice.papers} — A GUESS. Nothing here looks like a papers directory yet.`);
479
- log(` Nothing on disk was measured, so this is the documented default and not a finding.`);
480
- }
481
- // ── 2. one declaration, in package.json ───────────────────────────────────────────────
456
+ // ── 1. where the papers are, and 2. the declaration, in paperlint.json when not the default ─
457
+ // The declaration is read FIRST: the directory is measured only when none is declared.
458
+ const decl = await declarePapers(root, () => choosePapers(root, { ask, interactive }));
459
+ for (const line of papersLines(decl, why))
460
+ log(line);
482
461
  log(``);
483
- log(`declaration`);
484
- const decl = declarePapers(root, choice.papers);
462
+ log(`settings`);
485
463
  if (decl.status === "written")
486
- log(` ✓ ${here(decl.path)} → "${CONFIG_KEY}": { "${PAPERS_DIR_FIELD}": ${JSON.stringify(decl.papers)} }`);
464
+ log(` ✓ ${here(decl.path)} → { "${PAPERS_DIR_FIELD}": ${JSON.stringify(decl.papers)} }`);
465
+ else if (decl.status === "default")
466
+ log(` ✓ nothing to write — "${decl.papers}" is the default, so no ${CONFIG_FILE} is needed`);
487
467
  else if (decl.status === "kept") {
488
468
  if (typeof decl.papers !== "string") {
489
469
  err(` ✗ ${here(decl.path)} declares ${PAPERS_DIR_FIELD} = ${JSON.stringify(decl.papers)} — it must be a directory path (a string)`);
@@ -491,33 +471,16 @@ export async function init(dir, opts = {}) {
491
471
  }
492
472
  log(` ✓ ${here(decl.path)} already declares ${PAPERS_DIR_FIELD} = ${JSON.stringify(decl.papers)} — kept, nothing overwritten`);
493
473
  }
494
- else if (decl.status === "renamed") {
495
- err(` ✗ ${decl.message}`);
496
- err(` nothing was written. Fix it in ${here(decl.path)}, then run init again.`);
497
- return 2;
498
- }
499
- else if (decl.status === "unparsable") {
474
+ else {
500
475
  err(` ✗ ${here(decl.path)} is not valid JSON: ${decl.reason}`);
501
476
  err(` nothing was written. The hooks read their papers directory from this file and`);
502
477
  err(` refuse every Bash command while it cannot be parsed — fix the JSON first.`);
503
478
  return 2;
504
479
  }
505
- else {
506
- err(` ✗ no package.json at ${here(root)} — there is nowhere to put the declaration.`);
507
- err(` The hooks can only read a path they are able to name, and that path is`);
508
- err(` package.json. Run \`npm init -y\` here, then \`npx paperlint init\` again.`);
509
- return 2;
510
- }
511
- if (decl.migrated)
512
- log(` ✓ moved the settings from "${LEGACY_CONFIG_KEY}" (the old key) to "${CONFIG_KEY}"`);
513
- log(` one declaration — the hooks, the rules and the CLI all read this one key`);
514
480
  // Every step below uses the DECLARED directory. A kept declaration outranks what init
515
481
  // measured or guessed: otherwise the first paper and the workflow would land in the
516
482
  // guessed directory while lint and the hooks keep reading the declared one.
517
- const papersDir = decl.status === "kept" ? decl.papers : choice.papers;
518
- const moved = migratePaperSettings(resolve(root, papersDir));
519
- for (const line of moved.lines)
520
- (moved.code ? err : log)(line);
483
+ const papersDir = decl.papers;
521
484
  // ── 3. the skills, linked where Claude Code looks for them ─────────────────────────────
522
485
  for (const line of reportSkillLinks(link(root), here))
523
486
  log(line);
@@ -579,7 +542,13 @@ export async function init(dir, opts = {}) {
579
542
  log(` ✓ ${papersDir} already holds a paper`);
580
543
  else
581
544
  log(` · none yet${interactive ? "" : ` — ${why}, so nothing was asked`}. \`npx paperlint new <name>\` or \`--paper <name>\` creates one`);
582
- // ── 7. the toolchain is reported, never installed ─────────────────────────────────────
545
+ // ── 7. TeX Live — offered to a human with its cost, never installed unasked ─────────────
546
+ log(``);
547
+ log(`TeX Live (for \`paperlint build\`; \`paperlint lint\` needs none)`);
548
+ const texOutcome = await offerTexLive(opts.tex, { ask, interactive });
549
+ for (const line of reportTexLive(texOutcome, why))
550
+ log(line);
551
+ // ── 8. the other programs are reported, never installed ────────────────────────────────
583
552
  log(``);
584
553
  log(`external programs (the skills shell out to these; \`paperlint lint\` needs none of them)`);
585
554
  const missing = missingPrograms(run);
@@ -598,14 +567,16 @@ export async function init(dir, opts = {}) {
598
567
  for (const cmd of [...new Set(missing.map((p) => p.install))])
599
568
  log(` ${cmd}`);
600
569
  }
601
- log(nextSteps(papersDir));
602
- // ── 8. the install states its own condition ───────────────────────────────────────────
570
+ log(nextSteps(papersDir, {
571
+ toolchain: texOutcome !== "was-installed" && texOutcome !== "installed",
572
+ }));
573
+ // ── 9. the install states its own condition ───────────────────────────────────────────
603
574
  log(`── paperlint doctor ${"─".repeat(56)}`);
604
575
  const cliPapers = resolveCliPapers ? resolveCliPapers(root) : papersDir;
605
576
  const code = doctor({ log, cwd: root, projectDir: root, run, cliPapers });
606
577
  if (code !== 0)
607
578
  log(`doctor exits ${String(code)} — the install is NOT finished. The lines marked ✗ above say what is\n` +
608
579
  `left; re-run \`npx paperlint doctor\` once you have done them.`);
609
- return paperCode || moved.code || code;
580
+ return paperCode || code;
610
581
  }
611
582
  //# sourceMappingURL=init.js.map
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export declare function shippedSkills(pkgDir: string): {
23
23
  } | {
24
24
  readonly error: string;
25
25
  };
26
- export type LinkStatus = "created" | "replaced" | "present" | "missing" | "foreign";
26
+ export type LinkStatus = "created" | "present" | "missing" | "foreign";
27
27
  export interface SkillLink {
28
28
  readonly name: string;
29
29
  readonly status: LinkStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"link-skills.d.ts","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"AA0CA,OAAO,EAGL,YAAY,EAEb,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,gFAAgF;AAChF,eAAO,MAAM,WAAW,QAA4B,CAAC;AAErD,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBtD;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAEZ;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7B;AAED,MAAM,MAAM,UAAU,GACpB,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA+EnD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,EACE,KAAY,EACZ,MAAsB,GACvB,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAC3D,UAAU,CAuCZ"}
1
+ {"version":3,"file":"link-skills.d.ts","sourceRoot":"","sources":["../src/link-skills.ts"],"names":[],"mappings":"AAyCA,OAAO,EAEL,YAAY,EAEb,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,gFAAgF;AAChF,eAAO,MAAM,WAAW,QAA4B,CAAC;AAErD,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBtD;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,GAEZ;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAa7B;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA0DnD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,EACE,KAAY,EACZ,MAAsB,GACvB,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAC3D,UAAU,CAuCZ"}