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.
- package/.claude/settings.local.json +9 -9
- package/.gitattributes +1 -1
- package/CHANGELOG.md +149 -149
- package/PLAN-tables-and-postprocess.md +850 -850
- package/README.md +391 -391
- package/bin/rev.js +11 -11
- package/bin/rev.ts +145 -145
- package/completions/rev.bash +127 -127
- package/completions/rev.ps1 +210 -210
- package/completions/rev.zsh +207 -207
- package/dev_notes/stress2/build_adversarial.ts +186 -186
- package/dev_notes/stress2/drift_matcher.ts +62 -62
- package/dev_notes/stress2/probe_anchors.ts +35 -35
- package/dev_notes/stress2/project/discussion.before.md +3 -3
- package/dev_notes/stress2/project/discussion.md +3 -3
- package/dev_notes/stress2/project/methods.before.md +20 -20
- package/dev_notes/stress2/project/methods.md +20 -20
- package/dev_notes/stress2/project/rev.yaml +5 -5
- package/dev_notes/stress2/project/sections.yaml +4 -4
- package/dev_notes/stress2/sections.yaml +5 -5
- package/dev_notes/stress2/trace_placement.ts +50 -50
- package/dev_notes/stresstest_boundaries.ts +27 -27
- package/dev_notes/stresstest_drift_apply.ts +43 -43
- package/dev_notes/stresstest_drift_compare.ts +43 -43
- package/dev_notes/stresstest_drift_v2.ts +54 -54
- package/dev_notes/stresstest_inspect.ts +54 -54
- package/dev_notes/stresstest_pstyle.ts +55 -55
- package/dev_notes/stresstest_section_debug.ts +23 -23
- package/dev_notes/stresstest_split.ts +70 -70
- package/dev_notes/stresstest_trace.ts +19 -19
- package/dev_notes/stresstest_verify_no_overwrite.ts +40 -40
- package/dist/lib/build.d.ts +50 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +80 -30
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +38 -5
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/commands/utilities.js +164 -164
- package/dist/lib/commands/word-tools.js +8 -8
- package/dist/lib/grammar.js +3 -3
- package/dist/lib/import.d.ts.map +1 -1
- package/dist/lib/import.js +146 -24
- package/dist/lib/import.js.map +1 -1
- package/dist/lib/pdf-comments.js +44 -44
- package/dist/lib/plugins.js +57 -57
- package/dist/lib/pptx-themes.js +115 -115
- package/dist/lib/spelling.js +2 -2
- package/dist/lib/templates.js +387 -387
- package/dist/lib/themes.js +51 -51
- package/dist/lib/types.d.ts +20 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/word-extraction.d.ts +6 -0
- package/dist/lib/word-extraction.d.ts.map +1 -1
- package/dist/lib/word-extraction.js +46 -3
- package/dist/lib/word-extraction.js.map +1 -1
- package/dist/lib/wordcomments.d.ts.map +1 -1
- package/dist/lib/wordcomments.js +23 -5
- package/dist/lib/wordcomments.js.map +1 -1
- package/eslint.config.js +27 -27
- package/lib/anchor-match.ts +276 -276
- package/lib/annotations.ts +644 -644
- package/lib/build.ts +1300 -1227
- package/lib/citations.ts +160 -160
- package/lib/commands/build.ts +833 -801
- package/lib/commands/citations.ts +515 -515
- package/lib/commands/comments.ts +1050 -1050
- package/lib/commands/context.ts +174 -174
- package/lib/commands/core.ts +309 -309
- package/lib/commands/doi.ts +435 -435
- package/lib/commands/file-ops.ts +372 -372
- package/lib/commands/history.ts +320 -320
- package/lib/commands/index.ts +87 -87
- package/lib/commands/init.ts +259 -259
- package/lib/commands/merge-resolve.ts +378 -378
- package/lib/commands/preview.ts +178 -178
- package/lib/commands/project-info.ts +244 -244
- package/lib/commands/quality.ts +517 -517
- package/lib/commands/response.ts +454 -454
- package/lib/commands/section-boundaries.ts +82 -82
- package/lib/commands/sections.ts +451 -451
- package/lib/commands/sync.ts +706 -706
- package/lib/commands/text-ops.ts +449 -449
- package/lib/commands/utilities.ts +448 -448
- package/lib/commands/verify-anchors.ts +272 -272
- package/lib/commands/word-tools.ts +340 -340
- package/lib/comment-realign.ts +517 -517
- package/lib/config.ts +84 -84
- package/lib/crossref.ts +781 -781
- package/lib/csl.ts +191 -191
- package/lib/dependencies.ts +98 -98
- package/lib/diff-engine.ts +465 -465
- package/lib/doi-cache.ts +115 -115
- package/lib/doi.ts +897 -897
- package/lib/equations.ts +506 -506
- package/lib/errors.ts +346 -346
- package/lib/format.ts +541 -541
- package/lib/git.ts +326 -326
- package/lib/grammar.ts +303 -303
- package/lib/image-registry.ts +180 -180
- package/lib/import.ts +911 -792
- package/lib/journals.ts +543 -543
- package/lib/merge.ts +633 -633
- package/lib/orcid.ts +144 -144
- package/lib/pdf-comments.ts +263 -263
- package/lib/pdf-import.ts +524 -524
- package/lib/plugins.ts +362 -362
- package/lib/postprocess.ts +188 -188
- package/lib/pptx-color-filter.lua +37 -37
- package/lib/pptx-template.ts +469 -469
- package/lib/pptx-themes.ts +483 -483
- package/lib/protect-restore.ts +520 -520
- package/lib/rate-limiter.ts +94 -94
- package/lib/response.ts +197 -197
- package/lib/restore-references.ts +240 -240
- package/lib/review.ts +327 -327
- package/lib/schema.ts +417 -417
- package/lib/scientific-words.ts +73 -73
- package/lib/sections.ts +335 -335
- package/lib/slides.ts +756 -756
- package/lib/spelling.ts +334 -334
- package/lib/templates.ts +526 -526
- package/lib/themes.ts +742 -742
- package/lib/trackchanges.ts +247 -247
- package/lib/tui.ts +450 -450
- package/lib/types.ts +550 -530
- package/lib/undo.ts +250 -250
- package/lib/utils.ts +69 -69
- package/lib/variables.ts +179 -179
- package/lib/word-extraction.ts +806 -759
- package/lib/word.ts +643 -643
- package/lib/wordcomments.ts +817 -798
- package/package.json +137 -137
- package/scripts/postbuild.js +28 -28
- package/skill/REFERENCE.md +431 -431
- package/skill/SKILL.md +258 -258
- package/tsconfig.json +26 -26
- 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
|
+
}
|