docrev 0.9.11 → 0.9.14

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 (138) hide show
  1. package/.claude/settings.local.json +9 -9
  2. package/.gitattributes +1 -1
  3. package/CHANGELOG.md +149 -149
  4. package/PLAN-tables-and-postprocess.md +850 -850
  5. package/README.md +391 -391
  6. package/bin/rev.js +11 -11
  7. package/bin/rev.ts +145 -145
  8. package/completions/rev.bash +127 -127
  9. package/completions/rev.ps1 +210 -210
  10. package/completions/rev.zsh +207 -207
  11. package/dev_notes/stress2/build_adversarial.ts +186 -186
  12. package/dev_notes/stress2/drift_matcher.ts +62 -62
  13. package/dev_notes/stress2/probe_anchors.ts +35 -35
  14. package/dev_notes/stress2/project/discussion.before.md +3 -3
  15. package/dev_notes/stress2/project/discussion.md +3 -3
  16. package/dev_notes/stress2/project/methods.before.md +20 -20
  17. package/dev_notes/stress2/project/methods.md +20 -20
  18. package/dev_notes/stress2/project/rev.yaml +5 -5
  19. package/dev_notes/stress2/project/sections.yaml +4 -4
  20. package/dev_notes/stress2/sections.yaml +5 -5
  21. package/dev_notes/stress2/trace_placement.ts +50 -50
  22. package/dev_notes/stresstest_boundaries.ts +27 -27
  23. package/dev_notes/stresstest_drift_apply.ts +43 -43
  24. package/dev_notes/stresstest_drift_compare.ts +43 -43
  25. package/dev_notes/stresstest_drift_v2.ts +54 -54
  26. package/dev_notes/stresstest_inspect.ts +54 -54
  27. package/dev_notes/stresstest_pstyle.ts +55 -55
  28. package/dev_notes/stresstest_section_debug.ts +23 -23
  29. package/dev_notes/stresstest_split.ts +70 -70
  30. package/dev_notes/stresstest_trace.ts +19 -19
  31. package/dev_notes/stresstest_verify_no_overwrite.ts +40 -40
  32. package/dist/lib/build.d.ts +50 -1
  33. package/dist/lib/build.d.ts.map +1 -1
  34. package/dist/lib/build.js +80 -30
  35. package/dist/lib/build.js.map +1 -1
  36. package/dist/lib/commands/build.d.ts.map +1 -1
  37. package/dist/lib/commands/build.js +38 -5
  38. package/dist/lib/commands/build.js.map +1 -1
  39. package/dist/lib/commands/utilities.js +164 -164
  40. package/dist/lib/commands/word-tools.js +8 -8
  41. package/dist/lib/grammar.js +3 -3
  42. package/dist/lib/import.d.ts.map +1 -1
  43. package/dist/lib/import.js +146 -24
  44. package/dist/lib/import.js.map +1 -1
  45. package/dist/lib/pdf-comments.js +44 -44
  46. package/dist/lib/plugins.js +57 -57
  47. package/dist/lib/pptx-themes.js +115 -115
  48. package/dist/lib/spelling.js +2 -2
  49. package/dist/lib/templates.js +387 -387
  50. package/dist/lib/themes.js +51 -51
  51. package/dist/lib/types.d.ts +20 -0
  52. package/dist/lib/types.d.ts.map +1 -1
  53. package/dist/lib/word-extraction.d.ts +6 -0
  54. package/dist/lib/word-extraction.d.ts.map +1 -1
  55. package/dist/lib/word-extraction.js +46 -3
  56. package/dist/lib/word-extraction.js.map +1 -1
  57. package/dist/lib/wordcomments.d.ts.map +1 -1
  58. package/dist/lib/wordcomments.js +23 -5
  59. package/dist/lib/wordcomments.js.map +1 -1
  60. package/eslint.config.js +27 -27
  61. package/lib/anchor-match.ts +276 -276
  62. package/lib/annotations.ts +644 -644
  63. package/lib/build.ts +1300 -1227
  64. package/lib/citations.ts +160 -160
  65. package/lib/commands/build.ts +833 -801
  66. package/lib/commands/citations.ts +515 -515
  67. package/lib/commands/comments.ts +1050 -1050
  68. package/lib/commands/context.ts +174 -174
  69. package/lib/commands/core.ts +309 -309
  70. package/lib/commands/doi.ts +435 -435
  71. package/lib/commands/file-ops.ts +372 -372
  72. package/lib/commands/history.ts +320 -320
  73. package/lib/commands/index.ts +87 -87
  74. package/lib/commands/init.ts +259 -259
  75. package/lib/commands/merge-resolve.ts +378 -378
  76. package/lib/commands/preview.ts +178 -178
  77. package/lib/commands/project-info.ts +244 -244
  78. package/lib/commands/quality.ts +517 -517
  79. package/lib/commands/response.ts +454 -454
  80. package/lib/commands/section-boundaries.ts +82 -82
  81. package/lib/commands/sections.ts +451 -451
  82. package/lib/commands/sync.ts +706 -706
  83. package/lib/commands/text-ops.ts +449 -449
  84. package/lib/commands/utilities.ts +448 -448
  85. package/lib/commands/verify-anchors.ts +272 -272
  86. package/lib/commands/word-tools.ts +340 -340
  87. package/lib/comment-realign.ts +517 -517
  88. package/lib/config.ts +84 -84
  89. package/lib/crossref.ts +781 -781
  90. package/lib/csl.ts +191 -191
  91. package/lib/dependencies.ts +98 -98
  92. package/lib/diff-engine.ts +465 -465
  93. package/lib/doi-cache.ts +115 -115
  94. package/lib/doi.ts +897 -897
  95. package/lib/equations.ts +506 -506
  96. package/lib/errors.ts +346 -346
  97. package/lib/format.ts +541 -541
  98. package/lib/git.ts +326 -326
  99. package/lib/grammar.ts +303 -303
  100. package/lib/image-registry.ts +180 -180
  101. package/lib/import.ts +911 -792
  102. package/lib/journals.ts +543 -543
  103. package/lib/merge.ts +633 -633
  104. package/lib/orcid.ts +144 -144
  105. package/lib/pdf-comments.ts +263 -263
  106. package/lib/pdf-import.ts +524 -524
  107. package/lib/plugins.ts +362 -362
  108. package/lib/postprocess.ts +188 -188
  109. package/lib/pptx-color-filter.lua +37 -37
  110. package/lib/pptx-template.ts +469 -469
  111. package/lib/pptx-themes.ts +483 -483
  112. package/lib/protect-restore.ts +520 -520
  113. package/lib/rate-limiter.ts +94 -94
  114. package/lib/response.ts +197 -197
  115. package/lib/restore-references.ts +240 -240
  116. package/lib/review.ts +327 -327
  117. package/lib/schema.ts +417 -417
  118. package/lib/scientific-words.ts +73 -73
  119. package/lib/sections.ts +335 -335
  120. package/lib/slides.ts +756 -756
  121. package/lib/spelling.ts +334 -334
  122. package/lib/templates.ts +526 -526
  123. package/lib/themes.ts +742 -742
  124. package/lib/trackchanges.ts +247 -247
  125. package/lib/tui.ts +450 -450
  126. package/lib/types.ts +550 -530
  127. package/lib/undo.ts +250 -250
  128. package/lib/utils.ts +69 -69
  129. package/lib/variables.ts +179 -179
  130. package/lib/word-extraction.ts +806 -759
  131. package/lib/word.ts +643 -643
  132. package/lib/wordcomments.ts +817 -798
  133. package/package.json +137 -137
  134. package/scripts/postbuild.js +28 -28
  135. package/skill/REFERENCE.md +431 -431
  136. package/skill/SKILL.md +258 -258
  137. package/tsconfig.json +26 -26
  138. package/types/index.d.ts +525 -525
package/skill/SKILL.md CHANGED
@@ -1,258 +1,258 @@
1
- ---
2
- name: docrev
3
- description: "Document revision workflow tool (CLI: `rev`). Use when working with Word documents containing reviewer comments, importing track changes to markdown, replying to reviewer comments, building PDF/DOCX outputs, generating response letters, validating citations/DOIs, or any document revision task."
4
- ---
5
-
6
- # docrev - Document Revision Tool
7
-
8
- `rev` is a CLI tool for document workflows with Word ↔ Markdown round-trips.
9
-
10
- Works for any document that goes through Word-based review: scientific papers, contracts, reports, proposals, manuals.
11
-
12
- ## Content and Layout, Separated
13
-
14
- In Markdown, you focus on content. Write text, add citations with `[@key]`, insert equations with `$...$`, reference figures with `@fig:label`. No fiddling with fonts or styles.
15
-
16
- Layout is controlled in `rev.yaml`:
17
-
18
- ```yaml
19
- title: "My Document"
20
- output:
21
- docx:
22
- reference-doc: template.docx
23
- ```
24
-
25
- Change the template, rebuild, and every document gets the new formatting.
26
-
27
- ## Core Workflow
28
-
29
- ### 1. Create or import a project
30
-
31
- ```bash
32
- rev new my-document # Start from scratch
33
- rev import manuscript.docx # Start from existing Word doc
34
- ```
35
-
36
- ### 2. Build and share
37
-
38
- ```bash
39
- rev build docx # Generate Word document
40
- ```
41
-
42
- Send to reviewers. They add comments and track changes in Word.
43
-
44
- ### 3. Import feedback
45
-
46
- ```bash
47
- rev sync reviewed.docx # Updates markdown with annotations
48
- rev sync # Auto-detect most recent .docx
49
- rev sync reviewed.docx --comments-only # Insert comments only; never modify prose
50
- rev verify-anchors reviewed.docx # Report which anchors still match current prose
51
- ```
52
-
53
- Use `--comments-only` when the markdown has been revised between sending the
54
- docx out and receiving it back. Without the flag, track changes from a stale
55
- draft would clobber newer edits. With it, only comments are imported, placed
56
- at fuzzy-matched anchors against the current prose. Run `rev verify-anchors`
57
- first to see which comments will land cleanly and which need manual placement.
58
-
59
- ### 4. View and address comments
60
-
61
- ```bash
62
- rev status # Project overview
63
- rev todo # List all pending comments
64
- rev next # Show next pending comment
65
- rev comments methods.md # List all comments with context
66
- ```
67
-
68
- ### 5. Reply to reviewer comments
69
-
70
- **Always use the non-interactive reply mode:**
71
-
72
- ```bash
73
- rev reply methods.md -n 1 -m "Added clarification about sampling methodology"
74
- rev reply results.md -n 3 -m "Updated figure to include 95% CI"
75
- ```
76
-
77
- Replies appear as: `{>>Reviewer: Original<<} {>>User: Reply<<}`
78
-
79
- ### 6. Resolve addressed comments
80
-
81
- ```bash
82
- rev resolve methods.md -n 1 # Mark comment #1 as resolved
83
- ```
84
-
85
- ### 7. Rebuild with comment threads
86
-
87
- ```bash
88
- rev build docx --dual # Produces clean + annotated versions
89
- ```
90
-
91
- - `paper.docx` — clean, for submission
92
- - `paper_comments.docx` — includes comment threads as Word comments
93
-
94
- ### 8. Archive reviewer files
95
-
96
- ```bash
97
- rev archive # Move reviewer files to archive/
98
- ```
99
-
100
- ### 9. Generate response letter
101
-
102
- ```bash
103
- rev response # Generate point-by-point response letter
104
- ```
105
-
106
- ## Annotation Syntax (CriticMarkup)
107
-
108
- - `{++inserted text++}` - Additions
109
- - `{--deleted text--}` - Deletions
110
- - `{~~old~>new~~}` - Substitutions
111
- - `{>>Author: comment<<}` - Comments
112
- - `{>>Author: comment [RESOLVED]<<}` - Resolved comment
113
-
114
- ## Quick Commands
115
-
116
- | Task | Command |
117
- |------|---------|
118
- | Create project | `rev new my-project` |
119
- | Create LaTeX project | `rev new my-project --template latex` |
120
- | Import Word doc | `rev import manuscript.docx` |
121
- | Sync Word feedback | `rev sync reviewed.docx` |
122
- | Sync comments only (prose unchanged) | `rev sync reviewed.docx --comments-only` |
123
- | Verify anchors against current prose | `rev verify-anchors reviewed.docx` |
124
- | Sync PDF comments | `rev sync annotated.pdf` |
125
- | Extract PDF comments | `rev pdf-comments annotated.pdf` |
126
- | Extract with highlighted text | `rev pdf-comments file.pdf --with-text` |
127
- | Append PDF comments | `rev pdf-comments annotated.pdf --append methods.md` |
128
- | Project status | `rev status` |
129
- | Next pending | `rev next` |
130
- | List pending | `rev todo` |
131
- | Filter by author | `rev comments file.md --author "Reviewer 2"` |
132
- | Reply to all pending | `rev reply file.md --all -m "Addressed"` |
133
- | Accept all changes | `rev accept file.md -a` |
134
- | Build Word | `rev build docx` |
135
- | Build PDF | `rev build pdf` |
136
- | Build clean + annotated Word | `rev build docx --dual` |
137
- | Build clean + annotated PDF | `rev build pdf --dual` |
138
- | Show contributors | `rev contributors` |
139
- | Lookup ORCID | `rev orcid 0000-0002-1825-0097` |
140
- | Archive reviewer files | `rev archive` |
141
- | Word count per section | `rev word-count` |
142
- | Project dashboard | `rev stats` |
143
- | Search all sections | `rev search "query"` |
144
- | Pre-submission check | `rev check` |
145
- | Validate citations | `rev citations` |
146
- | Check grammar/style | `rev grammar` |
147
- | Check spelling | `rev spelling` |
148
- | Open PDF preview | `rev preview pdf` |
149
- | Auto-rebuild on changes | `rev watch` |
150
- | Check for updates | `rev upgrade --check` |
151
-
152
- ## DOI Management
153
-
154
- ```bash
155
- rev doi check references.bib # Validate DOIs
156
- rev doi lookup references.bib # Find missing DOIs
157
- rev doi add 10.1234/example # Add citation from DOI
158
- ```
159
-
160
- ## Validation
161
-
162
- ```bash
163
- rev validate --journal nature # Check journal requirements
164
- rev validate --list # List 22 available journal profiles
165
- rev lint # Check broken refs, missing citations
166
- ```
167
-
168
- ## Cross-References
169
-
170
- Use in markdown files:
171
- - `@fig:label` - Figure reference (becomes "Figure 1" in Word)
172
- - `@tbl:label` - Table reference
173
- - `@eq:label` - Equation reference
174
- - `{#fig:label}` - Anchor for figures
175
-
176
- ## Template Variables
177
-
178
- Available in section files (processed during build):
179
- - `{{date}}` - Current date (YYYY-MM-DD)
180
- - `{{date:MMMM D, YYYY}}` - Custom format
181
- - `{{title}}` - Document title
182
- - `{{author}}` - First author
183
- - `{{word_count}}` - Total word count
184
-
185
- ## Project Structure
186
-
187
- ```
188
- my-document/
189
- ├── rev.yaml # Project config
190
- ├── introduction.md # Section files with annotations
191
- ├── methods.md
192
- ├── results.md
193
- ├── discussion.md
194
- ├── references.bib # Bibliography
195
- ├── figures/ # Images
196
- └── paper.docx # Built output
197
- ```
198
-
199
- ## PDF Comment Workflow
200
-
201
- For reviewers who annotate PDFs instead of Word documents:
202
-
203
- ### 1. Extract comments from PDF
204
-
205
- ```bash
206
- rev pdf-comments annotated.pdf # Display all comments
207
- rev pdf-comments annotated.pdf --by-author # Group by reviewer
208
- rev pdf-comments annotated.pdf --json # Output as JSON
209
- ```
210
-
211
- ### 2. Import into markdown
212
-
213
- ```bash
214
- rev sync annotated.pdf # Auto-import to sections
215
- rev pdf-comments annotated.pdf --append methods.md # Append to specific file
216
- ```
217
-
218
- ### 3. Build PDF with margin notes
219
-
220
- ```bash
221
- rev build pdf --dual
222
- ```
223
-
224
- Produces:
225
- - `paper.pdf` — clean version for submission
226
- - `paper_comments.pdf` — comments rendered as LaTeX margin notes
227
-
228
- **Supported PDF Annotations:**
229
- - Sticky notes, text boxes, highlights, underlines, strikethrough, squiggly
230
-
231
- ## When Helping Users
232
-
233
- 1. **Setup**: Ensure `rev config user "Name"` is set for replies
234
- 2. **Sync phase**: Run `rev sync` to get feedback (works with both Word and PDF)
235
- 3. **Review phase**: Use `rev todo` and `rev next` to navigate comments, `rev reply` to respond
236
- 4. **Accept phase**: Use `rev accept -a` or `rev review` to handle track changes
237
- 5. **Build phase**: Run `rev build docx --dual` or `rev build pdf --dual` for annotated versions
238
- 6. **Archive phase**: Run `rev archive` to move reviewer files
239
- 7. **Validation phase**: Run `rev check` before submission
240
- 8. **Response letter**: Use `rev response` to generate point-by-point responses
241
-
242
- ## Critical: Ask Questions When Unsure
243
-
244
- When addressing reviewer comments or editing documents:
245
-
246
- - **Never guess methods or numbers** - If a comment asks for clarification about methodology, sample sizes, statistical parameters, dates, or any quantitative information, ASK the user rather than inventing values
247
- - **Placeholders are acceptable** - Use `[???]` or `[TODO: specify X]` when information is missing rather than fabricating data
248
- - **Search online for references** - When comments request citations, use web search to find appropriate references rather than guessing
249
- - **Clarify ambiguous requests** - If a reviewer comment could be interpreted multiple ways, ask the user which interpretation they prefer
250
- - **Verify existing values** - When editing numbers that already exist in the document, confirm changes with the user if there's any doubt
251
-
252
- Example scenarios requiring user input:
253
- - "Add a reference for this claim" → Search online OR ask user for specific citation
254
- - "Clarify the sample size" → Ask user for the correct number
255
- - "Specify the statistical test used" → Ask user which test was actually used
256
- - "Add the date of data collection" → Ask user for the actual date
257
-
258
- For complete command reference, see [REFERENCE.md](REFERENCE.md).
1
+ ---
2
+ name: docrev
3
+ description: "Document revision workflow tool (CLI: `rev`). Use when working with Word documents containing reviewer comments, importing track changes to markdown, replying to reviewer comments, building PDF/DOCX outputs, generating response letters, validating citations/DOIs, or any document revision task."
4
+ ---
5
+
6
+ # docrev - Document Revision Tool
7
+
8
+ `rev` is a CLI tool for document workflows with Word ↔ Markdown round-trips.
9
+
10
+ Works for any document that goes through Word-based review: scientific papers, contracts, reports, proposals, manuals.
11
+
12
+ ## Content and Layout, Separated
13
+
14
+ In Markdown, you focus on content. Write text, add citations with `[@key]`, insert equations with `$...$`, reference figures with `@fig:label`. No fiddling with fonts or styles.
15
+
16
+ Layout is controlled in `rev.yaml`:
17
+
18
+ ```yaml
19
+ title: "My Document"
20
+ output:
21
+ docx:
22
+ reference-doc: template.docx
23
+ ```
24
+
25
+ Change the template, rebuild, and every document gets the new formatting.
26
+
27
+ ## Core Workflow
28
+
29
+ ### 1. Create or import a project
30
+
31
+ ```bash
32
+ rev new my-document # Start from scratch
33
+ rev import manuscript.docx # Start from existing Word doc
34
+ ```
35
+
36
+ ### 2. Build and share
37
+
38
+ ```bash
39
+ rev build docx # Generate Word document
40
+ ```
41
+
42
+ Send to reviewers. They add comments and track changes in Word.
43
+
44
+ ### 3. Import feedback
45
+
46
+ ```bash
47
+ rev sync reviewed.docx # Updates markdown with annotations
48
+ rev sync # Auto-detect most recent .docx
49
+ rev sync reviewed.docx --comments-only # Insert comments only; never modify prose
50
+ rev verify-anchors reviewed.docx # Report which anchors still match current prose
51
+ ```
52
+
53
+ Use `--comments-only` when the markdown has been revised between sending the
54
+ docx out and receiving it back. Without the flag, track changes from a stale
55
+ draft would clobber newer edits. With it, only comments are imported, placed
56
+ at fuzzy-matched anchors against the current prose. Run `rev verify-anchors`
57
+ first to see which comments will land cleanly and which need manual placement.
58
+
59
+ ### 4. View and address comments
60
+
61
+ ```bash
62
+ rev status # Project overview
63
+ rev todo # List all pending comments
64
+ rev next # Show next pending comment
65
+ rev comments methods.md # List all comments with context
66
+ ```
67
+
68
+ ### 5. Reply to reviewer comments
69
+
70
+ **Always use the non-interactive reply mode:**
71
+
72
+ ```bash
73
+ rev reply methods.md -n 1 -m "Added clarification about sampling methodology"
74
+ rev reply results.md -n 3 -m "Updated figure to include 95% CI"
75
+ ```
76
+
77
+ Replies appear as: `{>>Reviewer: Original<<} {>>User: Reply<<}`
78
+
79
+ ### 6. Resolve addressed comments
80
+
81
+ ```bash
82
+ rev resolve methods.md -n 1 # Mark comment #1 as resolved
83
+ ```
84
+
85
+ ### 7. Rebuild with comment threads
86
+
87
+ ```bash
88
+ rev build docx --dual # Produces clean + annotated versions
89
+ ```
90
+
91
+ - `paper.docx` — clean, for submission
92
+ - `paper_comments.docx` — includes comment threads as Word comments
93
+
94
+ ### 8. Archive reviewer files
95
+
96
+ ```bash
97
+ rev archive # Move reviewer files to archive/
98
+ ```
99
+
100
+ ### 9. Generate response letter
101
+
102
+ ```bash
103
+ rev response # Generate point-by-point response letter
104
+ ```
105
+
106
+ ## Annotation Syntax (CriticMarkup)
107
+
108
+ - `{++inserted text++}` - Additions
109
+ - `{--deleted text--}` - Deletions
110
+ - `{~~old~>new~~}` - Substitutions
111
+ - `{>>Author: comment<<}` - Comments
112
+ - `{>>Author: comment [RESOLVED]<<}` - Resolved comment
113
+
114
+ ## Quick Commands
115
+
116
+ | Task | Command |
117
+ |------|---------|
118
+ | Create project | `rev new my-project` |
119
+ | Create LaTeX project | `rev new my-project --template latex` |
120
+ | Import Word doc | `rev import manuscript.docx` |
121
+ | Sync Word feedback | `rev sync reviewed.docx` |
122
+ | Sync comments only (prose unchanged) | `rev sync reviewed.docx --comments-only` |
123
+ | Verify anchors against current prose | `rev verify-anchors reviewed.docx` |
124
+ | Sync PDF comments | `rev sync annotated.pdf` |
125
+ | Extract PDF comments | `rev pdf-comments annotated.pdf` |
126
+ | Extract with highlighted text | `rev pdf-comments file.pdf --with-text` |
127
+ | Append PDF comments | `rev pdf-comments annotated.pdf --append methods.md` |
128
+ | Project status | `rev status` |
129
+ | Next pending | `rev next` |
130
+ | List pending | `rev todo` |
131
+ | Filter by author | `rev comments file.md --author "Reviewer 2"` |
132
+ | Reply to all pending | `rev reply file.md --all -m "Addressed"` |
133
+ | Accept all changes | `rev accept file.md -a` |
134
+ | Build Word | `rev build docx` |
135
+ | Build PDF | `rev build pdf` |
136
+ | Build clean + annotated Word | `rev build docx --dual` |
137
+ | Build clean + annotated PDF | `rev build pdf --dual` |
138
+ | Show contributors | `rev contributors` |
139
+ | Lookup ORCID | `rev orcid 0000-0002-1825-0097` |
140
+ | Archive reviewer files | `rev archive` |
141
+ | Word count per section | `rev word-count` |
142
+ | Project dashboard | `rev stats` |
143
+ | Search all sections | `rev search "query"` |
144
+ | Pre-submission check | `rev check` |
145
+ | Validate citations | `rev citations` |
146
+ | Check grammar/style | `rev grammar` |
147
+ | Check spelling | `rev spelling` |
148
+ | Open PDF preview | `rev preview pdf` |
149
+ | Auto-rebuild on changes | `rev watch` |
150
+ | Check for updates | `rev upgrade --check` |
151
+
152
+ ## DOI Management
153
+
154
+ ```bash
155
+ rev doi check references.bib # Validate DOIs
156
+ rev doi lookup references.bib # Find missing DOIs
157
+ rev doi add 10.1234/example # Add citation from DOI
158
+ ```
159
+
160
+ ## Validation
161
+
162
+ ```bash
163
+ rev validate --journal nature # Check journal requirements
164
+ rev validate --list # List 22 available journal profiles
165
+ rev lint # Check broken refs, missing citations
166
+ ```
167
+
168
+ ## Cross-References
169
+
170
+ Use in markdown files:
171
+ - `@fig:label` - Figure reference (becomes "Figure 1" in Word)
172
+ - `@tbl:label` - Table reference
173
+ - `@eq:label` - Equation reference
174
+ - `{#fig:label}` - Anchor for figures
175
+
176
+ ## Template Variables
177
+
178
+ Available in section files (processed during build):
179
+ - `{{date}}` - Current date (YYYY-MM-DD)
180
+ - `{{date:MMMM D, YYYY}}` - Custom format
181
+ - `{{title}}` - Document title
182
+ - `{{author}}` - First author
183
+ - `{{word_count}}` - Total word count
184
+
185
+ ## Project Structure
186
+
187
+ ```
188
+ my-document/
189
+ ├── rev.yaml # Project config
190
+ ├── introduction.md # Section files with annotations
191
+ ├── methods.md
192
+ ├── results.md
193
+ ├── discussion.md
194
+ ├── references.bib # Bibliography
195
+ ├── figures/ # Images
196
+ └── paper.docx # Built output
197
+ ```
198
+
199
+ ## PDF Comment Workflow
200
+
201
+ For reviewers who annotate PDFs instead of Word documents:
202
+
203
+ ### 1. Extract comments from PDF
204
+
205
+ ```bash
206
+ rev pdf-comments annotated.pdf # Display all comments
207
+ rev pdf-comments annotated.pdf --by-author # Group by reviewer
208
+ rev pdf-comments annotated.pdf --json # Output as JSON
209
+ ```
210
+
211
+ ### 2. Import into markdown
212
+
213
+ ```bash
214
+ rev sync annotated.pdf # Auto-import to sections
215
+ rev pdf-comments annotated.pdf --append methods.md # Append to specific file
216
+ ```
217
+
218
+ ### 3. Build PDF with margin notes
219
+
220
+ ```bash
221
+ rev build pdf --dual
222
+ ```
223
+
224
+ Produces:
225
+ - `paper.pdf` — clean version for submission
226
+ - `paper_comments.pdf` — comments rendered as LaTeX margin notes
227
+
228
+ **Supported PDF Annotations:**
229
+ - Sticky notes, text boxes, highlights, underlines, strikethrough, squiggly
230
+
231
+ ## When Helping Users
232
+
233
+ 1. **Setup**: Ensure `rev config user "Name"` is set for replies
234
+ 2. **Sync phase**: Run `rev sync` to get feedback (works with both Word and PDF)
235
+ 3. **Review phase**: Use `rev todo` and `rev next` to navigate comments, `rev reply` to respond
236
+ 4. **Accept phase**: Use `rev accept -a` or `rev review` to handle track changes
237
+ 5. **Build phase**: Run `rev build docx --dual` or `rev build pdf --dual` for annotated versions
238
+ 6. **Archive phase**: Run `rev archive` to move reviewer files
239
+ 7. **Validation phase**: Run `rev check` before submission
240
+ 8. **Response letter**: Use `rev response` to generate point-by-point responses
241
+
242
+ ## Critical: Ask Questions When Unsure
243
+
244
+ When addressing reviewer comments or editing documents:
245
+
246
+ - **Never guess methods or numbers** - If a comment asks for clarification about methodology, sample sizes, statistical parameters, dates, or any quantitative information, ASK the user rather than inventing values
247
+ - **Placeholders are acceptable** - Use `[???]` or `[TODO: specify X]` when information is missing rather than fabricating data
248
+ - **Search online for references** - When comments request citations, use web search to find appropriate references rather than guessing
249
+ - **Clarify ambiguous requests** - If a reviewer comment could be interpreted multiple ways, ask the user which interpretation they prefer
250
+ - **Verify existing values** - When editing numbers that already exist in the document, confirm changes with the user if there's any doubt
251
+
252
+ Example scenarios requiring user input:
253
+ - "Add a reference for this claim" → Search online OR ask user for specific citation
254
+ - "Clarify the sample size" → Ask user for the correct number
255
+ - "Specify the statistical test used" → Ask user which test was actually used
256
+ - "Add the date of data collection" → Ask user for the actual date
257
+
258
+ For complete command reference, see [REFERENCE.md](REFERENCE.md).
package/tsconfig.json CHANGED
@@ -1,26 +1,26 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "NodeNext",
5
- "moduleResolution": "NodeNext",
6
- "lib": ["ES2022"],
7
- "outDir": "./dist",
8
- "rootDir": ".",
9
- "declaration": true,
10
- "declarationMap": true,
11
- "sourceMap": true,
12
- "strict": true,
13
- "noImplicitAny": true,
14
- "strictNullChecks": true,
15
- "noImplicitReturns": true,
16
- "noUncheckedIndexedAccess": false,
17
- "esModuleInterop": true,
18
- "skipLibCheck": true,
19
- "forceConsistentCasingInFileNames": true,
20
- "resolveJsonModule": true,
21
- "allowJs": true,
22
- "checkJs": false
23
- },
24
- "include": ["lib/**/*", "bin/**/*"],
25
- "exclude": ["node_modules", "dist", "test"]
26
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2022"],
7
+ "outDir": "./dist",
8
+ "rootDir": ".",
9
+ "declaration": true,
10
+ "declarationMap": true,
11
+ "sourceMap": true,
12
+ "strict": true,
13
+ "noImplicitAny": true,
14
+ "strictNullChecks": true,
15
+ "noImplicitReturns": true,
16
+ "noUncheckedIndexedAccess": false,
17
+ "esModuleInterop": true,
18
+ "skipLibCheck": true,
19
+ "forceConsistentCasingInFileNames": true,
20
+ "resolveJsonModule": true,
21
+ "allowJs": true,
22
+ "checkJs": false
23
+ },
24
+ "include": ["lib/**/*", "bin/**/*"],
25
+ "exclude": ["node_modules", "dist", "test"]
26
+ }