scriveno 2.0.5

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 (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/agents/continuity-checker.md +85 -0
  4. package/agents/drafter.md +248 -0
  5. package/agents/plan-checker.md +209 -0
  6. package/agents/researcher.md +114 -0
  7. package/agents/translator.md +204 -0
  8. package/agents/voice-checker.md +154 -0
  9. package/bin/install.js +1620 -0
  10. package/commands/scr/add-note.md +51 -0
  11. package/commands/scr/add-unit.md +101 -0
  12. package/commands/scr/art-direction.md +225 -0
  13. package/commands/scr/autopilot-publish.md +210 -0
  14. package/commands/scr/autopilot-translate.md +237 -0
  15. package/commands/scr/autopilot.md +200 -0
  16. package/commands/scr/back-matter.md +630 -0
  17. package/commands/scr/back-translate.md +197 -0
  18. package/commands/scr/beta-reader.md +97 -0
  19. package/commands/scr/blurb.md +149 -0
  20. package/commands/scr/book-proposal.md +210 -0
  21. package/commands/scr/build-ebook.md +448 -0
  22. package/commands/scr/build-poetry-submission.md +202 -0
  23. package/commands/scr/build-print.md +598 -0
  24. package/commands/scr/build-smashwords.md +171 -0
  25. package/commands/scr/build-world.md +158 -0
  26. package/commands/scr/cast-list.md +104 -0
  27. package/commands/scr/chapter-header.md +158 -0
  28. package/commands/scr/character-arc.md +108 -0
  29. package/commands/scr/character-ref.md +160 -0
  30. package/commands/scr/character-sheet.md +143 -0
  31. package/commands/scr/character-touch.md +157 -0
  32. package/commands/scr/character-voice-sample.md +111 -0
  33. package/commands/scr/check-notes.md +50 -0
  34. package/commands/scr/cleanup.md +159 -0
  35. package/commands/scr/compare.md +112 -0
  36. package/commands/scr/complete-draft.md +49 -0
  37. package/commands/scr/continuity-check.md +129 -0
  38. package/commands/scr/copy-edit.md +118 -0
  39. package/commands/scr/cover-art.md +382 -0
  40. package/commands/scr/cultural-adaptation.md +177 -0
  41. package/commands/scr/demo.md +93 -0
  42. package/commands/scr/dialogue-audit.md +143 -0
  43. package/commands/scr/discuss.md +118 -0
  44. package/commands/scr/discussion-questions.md +129 -0
  45. package/commands/scr/do.md +68 -0
  46. package/commands/scr/draft.md +97 -0
  47. package/commands/scr/editor-review.md +466 -0
  48. package/commands/scr/export.md +942 -0
  49. package/commands/scr/fast.md +65 -0
  50. package/commands/scr/front-matter.md +696 -0
  51. package/commands/scr/health.md +113 -0
  52. package/commands/scr/help.md +121 -0
  53. package/commands/scr/history.md +92 -0
  54. package/commands/scr/illustrate-scene.md +211 -0
  55. package/commands/scr/import.md +95 -0
  56. package/commands/scr/insert-unit.md +108 -0
  57. package/commands/scr/line-edit.md +146 -0
  58. package/commands/scr/manager.md +77 -0
  59. package/commands/scr/manuscript-stats.md +139 -0
  60. package/commands/scr/map-illustration.md +213 -0
  61. package/commands/scr/map-manuscript.md +134 -0
  62. package/commands/scr/merge-units.md +136 -0
  63. package/commands/scr/multi-publish.md +344 -0
  64. package/commands/scr/new-character.md +167 -0
  65. package/commands/scr/new-revision.md +50 -0
  66. package/commands/scr/new-work.md +148 -0
  67. package/commands/scr/next.md +125 -0
  68. package/commands/scr/originality-check.md +170 -0
  69. package/commands/scr/outline.md +131 -0
  70. package/commands/scr/pacing-analysis.md +170 -0
  71. package/commands/scr/panel-layout.md +225 -0
  72. package/commands/scr/pause-work.md +88 -0
  73. package/commands/scr/plan.md +112 -0
  74. package/commands/scr/plant-seed.md +57 -0
  75. package/commands/scr/plot-graph.md +199 -0
  76. package/commands/scr/polish.md +141 -0
  77. package/commands/scr/profile-writer.md +154 -0
  78. package/commands/scr/progress.md +51 -0
  79. package/commands/scr/publish.md +455 -0
  80. package/commands/scr/query-letter.md +183 -0
  81. package/commands/scr/quick-write.md +82 -0
  82. package/commands/scr/relationship-map.md +129 -0
  83. package/commands/scr/remove-unit.md +120 -0
  84. package/commands/scr/reorder-units.md +126 -0
  85. package/commands/scr/resume-work.md +97 -0
  86. package/commands/scr/sacred/annotation-layer.md +105 -0
  87. package/commands/scr/sacred/chronology.md +121 -0
  88. package/commands/scr/sacred/concordance.md +88 -0
  89. package/commands/scr/sacred/cross-reference.md +97 -0
  90. package/commands/scr/sacred/doctrinal-check.md +129 -0
  91. package/commands/scr/sacred/genealogy.md +107 -0
  92. package/commands/scr/sacred/source-tracking.md +101 -0
  93. package/commands/scr/sacred/verse-numbering.md +103 -0
  94. package/commands/scr/sacred-numbering-format.md +103 -0
  95. package/commands/scr/save.md +109 -0
  96. package/commands/scr/scan.md +291 -0
  97. package/commands/scr/sensitivity-review.md +169 -0
  98. package/commands/scr/series-bible.md +127 -0
  99. package/commands/scr/session-report.md +80 -0
  100. package/commands/scr/settings.md +58 -0
  101. package/commands/scr/split-unit.md +123 -0
  102. package/commands/scr/spread-layout.md +187 -0
  103. package/commands/scr/storyboard.md +262 -0
  104. package/commands/scr/subject-touch.md +168 -0
  105. package/commands/scr/submit.md +50 -0
  106. package/commands/scr/subplot-map.md +147 -0
  107. package/commands/scr/sync.md +116 -0
  108. package/commands/scr/synopsis.md +137 -0
  109. package/commands/scr/theme-tracker.md +128 -0
  110. package/commands/scr/thread.md +83 -0
  111. package/commands/scr/timeline.md +141 -0
  112. package/commands/scr/track.md +564 -0
  113. package/commands/scr/translate.md +260 -0
  114. package/commands/scr/translation-glossary.md +298 -0
  115. package/commands/scr/translation-memory.md +310 -0
  116. package/commands/scr/troubleshoot.md +59 -0
  117. package/commands/scr/undo.md +106 -0
  118. package/commands/scr/validate.md +133 -0
  119. package/commands/scr/versions.md +94 -0
  120. package/commands/scr/voice-check.md +133 -0
  121. package/commands/scr/voice-test.md +68 -0
  122. package/data/CONSTRAINTS.json +1606 -0
  123. package/data/demo/.manuscript/BRIEF.md +37 -0
  124. package/data/demo/.manuscript/CHARACTERS.md +90 -0
  125. package/data/demo/.manuscript/OUTLINE.md +46 -0
  126. package/data/demo/.manuscript/PLOT-GRAPH.md +75 -0
  127. package/data/demo/.manuscript/STATE.md +44 -0
  128. package/data/demo/.manuscript/STYLE-GUIDE.md +119 -0
  129. package/data/demo/.manuscript/THEMES.md +51 -0
  130. package/data/demo/.manuscript/WORK.md +51 -0
  131. package/data/demo/.manuscript/config.json +59 -0
  132. package/data/demo/.manuscript/drafts/body/1-the-letter-DRAFT.md +51 -0
  133. package/data/demo/.manuscript/drafts/body/2-the-workshop-DRAFT.md +51 -0
  134. package/data/demo/.manuscript/drafts/body/3-the-pier-DRAFT.md +45 -0
  135. package/data/demo/.manuscript/drafts/body/4-the-clock-DRAFT.md +59 -0
  136. package/data/demo/.manuscript/plans/5-the-reunion-PLAN.md +52 -0
  137. package/data/demo/.manuscript/reviews/2-the-workshop-REVIEW.md +61 -0
  138. package/data/export-templates/scriveno-academic.latex +184 -0
  139. package/data/export-templates/scriveno-acm.latex +67 -0
  140. package/data/export-templates/scriveno-apa7.latex +83 -0
  141. package/data/export-templates/scriveno-book.typst +175 -0
  142. package/data/export-templates/scriveno-chapbook.typst +121 -0
  143. package/data/export-templates/scriveno-elsevier.latex +76 -0
  144. package/data/export-templates/scriveno-epub.css +386 -0
  145. package/data/export-templates/scriveno-fixed-layout-epub.css +76 -0
  146. package/data/export-templates/scriveno-fixed-layout.opf +23 -0
  147. package/data/export-templates/scriveno-ieee.latex +77 -0
  148. package/data/export-templates/scriveno-lncs.latex +79 -0
  149. package/data/export-templates/scriveno-picturebook.typst +113 -0
  150. package/data/export-templates/scriveno-poetry-submission-styles.md +45 -0
  151. package/data/export-templates/scriveno-poetry-submission.docx +0 -0
  152. package/data/export-templates/scriveno-smashwords-styles.md +45 -0
  153. package/data/export-templates/scriveno-smashwords.docx +0 -0
  154. package/data/export-templates/scriveno-stageplay.typst +129 -0
  155. package/data/proof/creative-context/README.md +79 -0
  156. package/data/proof/voice-dna/GUIDED-SAMPLE.md +19 -0
  157. package/data/proof/voice-dna/README.md +45 -0
  158. package/data/proof/voice-dna/STYLE-GUIDE-EXCERPT.md +43 -0
  159. package/data/proof/voice-dna/UNGUIDED-SAMPLE.md +11 -0
  160. package/data/proof/watchmaker-flow/README.md +78 -0
  161. package/docs/architecture.md +425 -0
  162. package/docs/command-reference.md +2384 -0
  163. package/docs/configuration.md +228 -0
  164. package/docs/context-protocol.md +81 -0
  165. package/docs/contributing.md +430 -0
  166. package/docs/creative-context.md +158 -0
  167. package/docs/development.md +152 -0
  168. package/docs/drafter-quality.md +127 -0
  169. package/docs/getting-started.md +198 -0
  170. package/docs/history-protocol.md +96 -0
  171. package/docs/proof-artifacts.md +56 -0
  172. package/docs/publishing.md +296 -0
  173. package/docs/release-notes.md +457 -0
  174. package/docs/runtime-support.md +77 -0
  175. package/docs/sacred-texts.md +296 -0
  176. package/docs/shipped-assets.md +129 -0
  177. package/docs/testing.md +156 -0
  178. package/docs/translation.md +343 -0
  179. package/docs/voice-dna.md +297 -0
  180. package/docs/work-types.md +339 -0
  181. package/lib/architectural-profiles.js +134 -0
  182. package/package.json +54 -0
  183. package/templates/BRIEF.md +51 -0
  184. package/templates/CHARACTERS.md +64 -0
  185. package/templates/CONTEXT.md +56 -0
  186. package/templates/OUTLINE.md +36 -0
  187. package/templates/RECORD.md +68 -0
  188. package/templates/STATE.md +50 -0
  189. package/templates/STYLE-GUIDE.md +121 -0
  190. package/templates/THEMES.md +36 -0
  191. package/templates/WORK.md +67 -0
  192. package/templates/WORLD.md +62 -0
  193. package/templates/WRITING-RULES.md +156 -0
  194. package/templates/academic/ARGUMENT-MAP.md +40 -0
  195. package/templates/academic/CONCEPTS.md +34 -0
  196. package/templates/academic/CONTEXT.md +29 -0
  197. package/templates/academic/PROPOSAL.md +37 -0
  198. package/templates/academic/QUESTIONS.md +24 -0
  199. package/templates/config.json +72 -0
  200. package/templates/pitfalls/comic.md +54 -0
  201. package/templates/pitfalls/commentary.md +62 -0
  202. package/templates/pitfalls/memoir.md +48 -0
  203. package/templates/pitfalls/novel.md +53 -0
  204. package/templates/pitfalls/poetry_collection.md +63 -0
  205. package/templates/pitfalls/research_paper.md +66 -0
  206. package/templates/pitfalls/runbook.md +64 -0
  207. package/templates/pitfalls/screenplay.md +54 -0
  208. package/templates/platforms/README.md +16 -0
  209. package/templates/platforms/apple/manifest.yaml +20 -0
  210. package/templates/platforms/bn/manifest.yaml +20 -0
  211. package/templates/platforms/d2d/manifest.yaml +20 -0
  212. package/templates/platforms/google/manifest.yaml +20 -0
  213. package/templates/platforms/ingram/manifest.yaml +44 -0
  214. package/templates/platforms/kdp/manifest.yaml +42 -0
  215. package/templates/platforms/kobo/manifest.yaml +20 -0
  216. package/templates/platforms/smashwords/manifest.yaml +26 -0
  217. package/templates/sacred/COSMOLOGY.md +88 -0
  218. package/templates/sacred/DOCTRINES.md +45 -0
  219. package/templates/sacred/FIGURES.md +69 -0
  220. package/templates/sacred/FRAMEWORK.md +98 -0
  221. package/templates/sacred/LINEAGES.md +52 -0
  222. package/templates/sacred/README.md +20 -0
  223. package/templates/sacred/THEOLOGICAL-ARC.md +69 -0
  224. package/templates/sacred/catholic/manifest.yaml +93 -0
  225. package/templates/sacred/islamic-hafs/manifest.yaml +134 -0
  226. package/templates/sacred/islamic-warsh/manifest.yaml +134 -0
  227. package/templates/sacred/jewish/manifest.yaml +56 -0
  228. package/templates/sacred/orthodox/manifest.yaml +98 -0
  229. package/templates/sacred/pali/manifest.yaml +20 -0
  230. package/templates/sacred/protestant/manifest.yaml +86 -0
  231. package/templates/sacred/sanskrit/manifest.yaml +20 -0
  232. package/templates/sacred/tewahedo/manifest.yaml +106 -0
  233. package/templates/sacred/tibetan/manifest.yaml +20 -0
  234. package/templates/technical/AUDIENCE.md +26 -0
  235. package/templates/technical/DEPENDENCIES.md +19 -0
  236. package/templates/technical/DOC-BRIEF.md +45 -0
  237. package/templates/technical/PROCEDURES.md +37 -0
  238. package/templates/technical/REFERENCES.md +36 -0
  239. package/templates/technical/SYSTEM.md +25 -0
@@ -0,0 +1,696 @@
1
+ ---
2
+ description: Generate publication-ready front matter elements in Chicago Manual of Style order.
3
+ argument-hint: "[--level <minimum|balanced|maximum>] [--element <name>]"
4
+ ---
5
+
6
+ # /scr:front-matter -- Front Matter Generation
7
+
8
+ Generate publication-ready front matter elements in Chicago Manual of Style order. Elements are classified as generatable, scaffoldable, or suggestable depending on whether AI can produce a complete version or must provide a template for the writer.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /scr:front-matter # interactive: skip / minimum / balanced / maximum
14
+ /scr:front-matter --level <minimum|balanced|maximum> # non-interactive
15
+ /scr:front-matter --element <name> # generate one specific element
16
+ ```
17
+
18
+ **Levels:**
19
+
20
+ | Level | What it generates | When to use |
21
+ |-------|-------------------|-------------|
22
+ | `minimum` | Legal / structural floor only: title page, copyright, TOC. Plus tradition approval block if required. | Beta-reader handoff, draft sharing, anything not yet hitting a retailer. |
23
+ | `balanced` | `minimum` + the elements most trade books actually print: half-title, dedication scaffold, epigraph, acknowledgments. | Default for retail publishing. |
24
+ | `maximum` | Every applicable element (the legacy "all 19" behavior). | Critical editions, scholarly works, anyone who wants the full Chicago menu. |
25
+
26
+ If neither `--level` nor `--element` is provided, the command prompts the writer first:
27
+
28
+ > Generate front matter?
29
+ >
30
+ > 1. **skip** -- I do not want any front matter generated
31
+ > 2. **minimum** -- title page, copyright, TOC (legal floor)
32
+ > 3. **balanced** -- minimum + half-title, dedication, epigraph, acknowledgments (trade default)
33
+ > 4. **maximum** -- every applicable element
34
+
35
+ If the writer answers **skip**, exit with no files written and no error.
36
+
37
+ **Elements (Chicago Manual of Style order):**
38
+
39
+ | # | Element | Flag Name | Type |
40
+ |---|---------|-----------|------|
41
+ | 1 | Half-title | `half-title` | GENERATE |
42
+ | 2 | Series title / Also by | `series-title` | GENERATE |
43
+ | 3 | Title page | `title` | GENERATE |
44
+ | 4 | Copyright page | `copyright` | GENERATE |
45
+ | 5 | Dedication | `dedication` | SCAFFOLD |
46
+ | 6 | Epigraph | `epigraph` | SCAFFOLD |
47
+ | 7 | Table of contents | `toc` | GENERATE |
48
+ | 8 | List of illustrations | `illustrations-list` | GENERATE |
49
+ | 9 | List of tables | `tables-list` | GENERATE |
50
+ | 10 | List of abbreviations | `abbreviations` | GENERATE |
51
+ | 11 | Foreword | `foreword` | SCAFFOLD |
52
+ | 12 | Preface | `preface` | SCAFFOLD |
53
+ | 13 | Acknowledgments | `acknowledgments` | GENERATE DRAFT |
54
+ | 14 | Introduction | `introduction` | SCAFFOLD |
55
+ | 15 | Prologue | `prologue` | SCAFFOLD |
56
+ | 16 | Note to the reader | `note-to-reader` | GENERATE DRAFT |
57
+ | 17 | Maps / family trees | `maps` | SCAFFOLD |
58
+ | 18 | Cast of characters | `cast` | GENERATE |
59
+ | 19 | Timeline | `timeline` | GENERATE |
60
+
61
+ If `--element` is provided, generate only that element. Otherwise, generate all elements applicable to the current work type.
62
+
63
+ ## Instruction
64
+
65
+ You are a **publishing specialist** preparing front matter for a manuscript. Your output must follow Chicago Manual of Style conventions for element ordering, recto/verso placement, and content standards.
66
+
67
+ ---
68
+
69
+ ### STEP 0: BOOTSTRAP (context-cost protocol)
70
+
71
+ Read `.manuscript/CONTEXT.md` first if it exists. If its `Updated` timestamp is newer than `.manuscript/STATE.md` and newer than the newest file in `.manuscript/drafts/body/`, use it as your orientation source for project title, work type, phase, and open items. In STEP 1, skip raw-file loads of `config.json` and `STATE.md` for those fields -- still load `WORK.md`, `OUTLINE.md`, `CHARACTERS.md`, and `CONSTRAINTS.json` (each holds element-generation data CONTEXT.md does not surface).
72
+
73
+ If CONTEXT.md is missing, stale, or contradicts STATE.md, fall back to the original loads in STEP 1 unchanged. See `docs/context-protocol.md` for the contract.
74
+
75
+ ---
76
+
77
+ ### STEP 1: LOAD CONTEXT
78
+
79
+ Load the following project files:
80
+
81
+ - `.manuscript/config.json` -- to get `work_type`, title, author, and project settings
82
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- to check front-matter availability and adaptations for the current work type
83
+ - `.manuscript/WORK.md` -- title, subtitle, author name, ISBN, publisher, series info, copyright year, rights statement, edition info
84
+ - `.manuscript/OUTLINE.md` -- for TOC generation (chapter/section structure)
85
+ - `.manuscript/CHARACTERS.md` -- for cast of characters generation
86
+
87
+ **Confirm the `front-matter` command is available** for the current work type by checking `CONSTRAINTS.json`. If the work type's group is in the `hidden` list, inform the writer and stop.
88
+
89
+ Check for adapted behavior:
90
+ - If work type group is `academic`: apply `academic_front_matter` behavior (see Academic Adaptation below)
91
+ - If work type group is `sacred`: apply `sacred_front_matter` behavior (see Sacred Adaptation below)
92
+
93
+ ---
94
+
95
+ ### STEP 1.5: RESOLVE LEVEL
96
+
97
+ Resolve the level filter that controls which elements are eligible to be generated.
98
+
99
+ **Routing:**
100
+ - If `--element <name>` is given, ignore `--level` entirely and generate only that one element. Skip the rest of this step.
101
+ - If `--level <value>` is given, use that value (`minimum`, `balanced`, or `maximum`).
102
+ - If neither flag is given, run the interactive prompt from the Usage section. If the writer chooses **skip**, write a one-line summary ("Front matter generation skipped at writer's request -- no files written.") and exit without doing anything else.
103
+
104
+ **Level membership** (the eligible set per level, before work-type filtering):
105
+
106
+ | Level | Elements eligible |
107
+ |-------|-------------------|
108
+ | `minimum` | 3 (title page), 4 (copyright), 7 (TOC) |
109
+ | `balanced` | minimum + 1 (half-title), 5 (dedication), 6 (epigraph), 13 (acknowledgments) |
110
+ | `maximum` | All 19 standard elements + every applicable adaptation element (academic, sacred-tradition specific) |
111
+
112
+ **Adaptation interaction:**
113
+ - The Academic and Sacred adaptations modify or add elements. They run regardless of level. Their additions are eligible only at `maximum`, except for the **tradition approval block** (STEP 3.5) which is required-when-applicable and runs at every level including `minimum`. The adaptations do not lift `minimum` or `balanced` to `maximum` -- they only adjust per-element behavior for the elements that the chosen level already includes.
114
+ - If the writer used `--level minimum` or `--level balanced` and an academic/sacred adaptation would normally substitute or rename an element (for example "Dedication becomes Abstract" for academic), apply the substitution only when that element is already in the eligible set.
115
+ - Tradition-specific extras (imprimatur, haskamah, bismillah, ijazah, scriptural-dedication, theological-preface) are eligible only at `maximum`.
116
+
117
+ **Work-type filtering applies on top of the level filter.** An element that is in the level's eligible set but is hidden for the current work type group (per `CONSTRAINTS.json`) is still skipped.
118
+
119
+ Use the resolved eligible set for STEP 3. Track the resolved level so STEP 4 can report it.
120
+
121
+ ---
122
+
123
+ ### STEP 2: VOICE DNA LOADING (CONDITIONAL)
124
+
125
+ **Load `.manuscript/STYLE-GUIDE.md` ONLY for narrative elements:**
126
+ - Dedication (5)
127
+ - Epigraph suggestions (6)
128
+ - Preface (12)
129
+ - Acknowledgments (13)
130
+ - Introduction (14)
131
+ - Prologue (15)
132
+ - Note to the reader (16)
133
+
134
+ **Do NOT load STYLE-GUIDE.md for mechanical elements:**
135
+ - Half-title (1)
136
+ - Series title (2)
137
+ - Title page (3)
138
+ - Copyright page (4)
139
+ - Table of contents (7)
140
+ - List of illustrations (8)
141
+ - List of tables (9)
142
+ - List of abbreviations (10)
143
+ - Foreword scaffold (11)
144
+ - Maps (17)
145
+ - Cast of characters (18)
146
+ - Timeline (19)
147
+
148
+ This separation preserves voice fidelity for elements the reader experiences as authored prose, while keeping mechanical elements clean and standardized.
149
+
150
+ ---
151
+
152
+ ### STEP 3: GENERATE ELEMENTS
153
+
154
+ Process each element in Chicago Manual of Style order, but only if it is in the eligible set resolved in STEP 1.5. If `--element` was specified, skip the level filter and generate only that element. Skip any element not in the eligible set silently (it goes into the STEP 4 skipped-elements report instead).
155
+
156
+ #### Element 1: Half-Title (Recto) -- GENERATE
157
+
158
+ Display the title only. No subtitle, no author name, no publisher. This is the first page the reader sees when opening the book.
159
+
160
+ ```
161
+ [TITLE]
162
+ ```
163
+
164
+ Save to `.manuscript/front-matter/01-half-title.md`
165
+
166
+ #### Element 2: Series Title / Also By (Verso) -- GENERATE
167
+
168
+ If the work is part of a series (check WORK.md for series info):
169
+ - List the series name and other titles in the series
170
+ - Or list "Also by [Author]" with other works
171
+
172
+ If no series info exists, skip this element and note it in the skipped elements list.
173
+
174
+ Save to `.manuscript/front-matter/02-series-title.md`
175
+
176
+ #### Element 3: Title Page (Recto) -- GENERATE
177
+
178
+ Full title page with:
179
+ - Title
180
+ - Subtitle (if any)
181
+ - Author name
182
+ - Publisher name and location (if available)
183
+
184
+ Save to `.manuscript/front-matter/03-title-page.md`
185
+
186
+ #### Element 4: Copyright Page (Verso) -- GENERATE
187
+
188
+ Generate from WORK.md metadata using standard legal boilerplate:
189
+
190
+ ```
191
+ Copyright (c) [Year] [Author Name]
192
+ All rights reserved.
193
+
194
+ [ISBN line if available]
195
+ [Edition info if available]
196
+
197
+ Published by [Publisher]
198
+
199
+ No part of this publication may be reproduced, distributed, or transmitted
200
+ in any form or by any means, including photocopying, recording, or other
201
+ electronic or mechanical methods, without the prior written permission of
202
+ the publisher, except in the case of brief quotations embodied in critical
203
+ reviews and certain other noncommercial uses permitted by copyright law.
204
+
205
+ [Library of Congress info if available]
206
+ [Printing history if available]
207
+
208
+ Printed in [Country]
209
+ [Print edition number]
210
+ ```
211
+
212
+ Adapt the template based on available metadata -- omit lines where data is not provided rather than leaving placeholders.
213
+
214
+ Save to `.manuscript/front-matter/04-copyright.md`
215
+
216
+ #### Element 5: Dedication (Recto) -- SCAFFOLD
217
+
218
+ **Load STYLE-GUIDE.md for tone.**
219
+
220
+ Provide a dedication template with guidance:
221
+
222
+ ```markdown
223
+ ---
224
+ scaffold: true
225
+ element: dedication
226
+ ---
227
+
228
+ # Dedication
229
+
230
+ <!-- WRITER ACTION REQUIRED -->
231
+ <!-- The dedication is a personal statement. Write yours below. -->
232
+ <!-- Common styles: single name, short phrase, or brief paragraph. -->
233
+ <!-- Tone guidance from your voice profile has been considered. -->
234
+
235
+ [Your dedication here]
236
+ ```
237
+
238
+ Save to `.manuscript/front-matter/05-dedication.md`
239
+
240
+ #### Element 6: Epigraph (Recto or Verso) -- SUGGEST
241
+
242
+ **Load STYLE-GUIDE.md for tone matching.**
243
+
244
+ Offer 3 thematically appropriate epigraph suggestions from public domain works. Base suggestions on:
245
+ - The work's themes (from OUTLINE.md or WORK.md)
246
+ - The tone established in STYLE-GUIDE.md
247
+ - Works that are verifiably in the public domain
248
+
249
+ Present as:
250
+
251
+ ```markdown
252
+ ---
253
+ scaffold: true
254
+ element: epigraph
255
+ ---
256
+
257
+ # Epigraph
258
+
259
+ <!-- WRITER ACTION REQUIRED -->
260
+ <!-- Choose one of the suggestions below, or supply your own. -->
261
+
262
+ ## Suggestion 1
263
+ > "[Quote]"
264
+ > -- [Author], *[Work]* ([Year])
265
+
266
+ ## Suggestion 2
267
+ > "[Quote]"
268
+ > -- [Author], *[Work]* ([Year])
269
+
270
+ ## Suggestion 3
271
+ > "[Quote]"
272
+ > -- [Author], *[Work]* ([Year])
273
+
274
+ ## Use Your Own
275
+ > "[Your chosen epigraph]"
276
+ > -- [Attribution]
277
+ ```
278
+
279
+ Save to `.manuscript/front-matter/06-epigraph.md`
280
+
281
+ #### Element 7: Table of Contents (Recto) -- GENERATE
282
+
283
+ Build from OUTLINE.md structure. Include:
284
+ - Part titles (if the work has parts)
285
+ - Chapter/section titles
286
+ - Page numbers as `[TBD]` (finalized during export)
287
+
288
+ Use the work type's hierarchy terminology from CONSTRAINTS.json.
289
+
290
+ Save to `.manuscript/front-matter/07-toc.md`
291
+
292
+ #### Element 8: List of Illustrations (Recto) -- GENERATE
293
+
294
+ Scan the manuscript drafts for illustrations, figures, or images. If none exist, skip this element.
295
+
296
+ List each with:
297
+ - Figure number
298
+ - Caption or description
299
+ - Page `[TBD]`
300
+
301
+ Save to `.manuscript/front-matter/08-illustrations-list.md`
302
+
303
+ #### Element 9: List of Tables (Recto) -- GENERATE
304
+
305
+ Scan the manuscript drafts for tables. If none exist, skip this element.
306
+
307
+ List each with:
308
+ - Table number
309
+ - Title
310
+ - Page `[TBD]`
311
+
312
+ Save to `.manuscript/front-matter/09-tables-list.md`
313
+
314
+ #### Element 10: List of Abbreviations (Recto) -- GENERATE
315
+
316
+ Extract abbreviations, acronyms, and initialisms used in the manuscript. If fewer than 3 are found, skip this element.
317
+
318
+ Present alphabetically:
319
+ ```
320
+ [ABBR] -- [Full expansion]
321
+ ```
322
+
323
+ Save to `.manuscript/front-matter/10-abbreviations.md`
324
+
325
+ #### Element 11: Foreword (Recto) -- SCAFFOLD
326
+
327
+ **Do NOT generate AI content pretending to be from another person.** A foreword is written by someone other than the author. This scaffold provides structure and guidance for the foreword writer.
328
+
329
+ ```markdown
330
+ ---
331
+ scaffold: true
332
+ element: foreword
333
+ ---
334
+
335
+ # Foreword
336
+
337
+ <!-- IMPORTANT: A foreword is written by someone other than the author. -->
338
+ <!-- This scaffold provides structure for your foreword writer. -->
339
+ <!-- Do NOT use AI-generated content here -- it must be an authentic -->
340
+ <!-- contribution from the person writing the foreword. -->
341
+
342
+ ## For the Foreword Writer
343
+
344
+ Please address the following in your foreword:
345
+
346
+ 1. **Your connection** to the author or subject matter
347
+ 2. **Why this work matters** -- its significance or contribution
348
+ 3. **What the reader will find** -- a preview without spoilers
349
+ 4. **Your endorsement** -- why you recommend this work
350
+
351
+ Typical length: 1,000-3,000 words.
352
+
353
+ <!-- Delete this scaffold and replace with the foreword text. -->
354
+ ```
355
+
356
+ Save to `.manuscript/front-matter/11-foreword.md`
357
+
358
+ #### Element 12: Preface (Recto) -- SCAFFOLD
359
+
360
+ **Load STYLE-GUIDE.md for voice.**
361
+
362
+ ```markdown
363
+ ---
364
+ scaffold: true
365
+ element: preface
366
+ ---
367
+
368
+ # Preface
369
+
370
+ <!-- WRITER ACTION REQUIRED -->
371
+ <!-- The preface is YOUR statement about the work. Address: -->
372
+
373
+ ## Suggested Structure
374
+
375
+ 1. **Why you wrote this** -- the origin story or motivation
376
+ 2. **How to read this work** -- any guidance for the reader
377
+ 3. **What changed** -- if this is a new edition, what's different
378
+ 4. **Acknowledgment of scope** -- what you cover and what you don't
379
+
380
+ <!-- Write in your natural voice. Your style profile has been loaded -->
381
+ <!-- to help maintain consistency with the rest of the manuscript. -->
382
+ ```
383
+
384
+ Save to `.manuscript/front-matter/12-preface.md`
385
+
386
+ #### Element 13: Acknowledgments (Recto) -- GENERATE DRAFT
387
+
388
+ **Load STYLE-GUIDE.md for voice.**
389
+
390
+ Generate a draft acknowledgments section from project context -- collaborators, influences, research sources mentioned in the manuscript. Include standard categories:
391
+
392
+ - Editorial and publishing team
393
+ - Research and subject matter contributors
394
+ - Personal support (family, friends, writing community)
395
+ - Institutional support (grants, residencies, libraries)
396
+
397
+ Mark clearly as a draft:
398
+
399
+ ```markdown
400
+ ---
401
+ scaffold: true
402
+ element: acknowledgments
403
+ ---
404
+
405
+ # Acknowledgments
406
+
407
+ <!-- DRAFT -- Personalize with your own thanks. -->
408
+ <!-- This draft was generated from your project context. -->
409
+ <!-- Add, remove, and rewrite to make it authentically yours. -->
410
+
411
+ [Generated draft text in the writer's voice per STYLE-GUIDE.md]
412
+ ```
413
+
414
+ Save to `.manuscript/front-matter/13-acknowledgments.md`
415
+
416
+ #### Element 14: Introduction (Recto) -- SCAFFOLD
417
+
418
+ **Load STYLE-GUIDE.md for voice.**
419
+
420
+ ```markdown
421
+ # Introduction
422
+
423
+ <!-- WRITER ACTION REQUIRED -->
424
+ <!-- The introduction frames the work for the reader. -->
425
+
426
+ ## Suggested Sections
427
+
428
+ ### Context
429
+ <!-- What does the reader need to know before starting? -->
430
+
431
+ ### Scope and Purpose
432
+ <!-- What will this work accomplish? What questions does it address? -->
433
+
434
+ ### How This Work Is Organized
435
+ <!-- Brief roadmap of the structure -->
436
+
437
+ ### A Note on [Methodology / Sources / Approach]
438
+ <!-- Any important caveats or explanations -->
439
+ ```
440
+
441
+ Save to `.manuscript/front-matter/14-introduction.md`
442
+
443
+ #### Element 15: Prologue (Recto) -- SCAFFOLD
444
+
445
+ **Load STYLE-GUIDE.md for voice.**
446
+
447
+ ```markdown
448
+ # Prologue
449
+
450
+ <!-- WRITER ACTION REQUIRED -->
451
+ <!-- The prologue is a narrative opening -- it's part of the story. -->
452
+ <!-- It should be written in the same voice as the manuscript. -->
453
+
454
+ <!-- Common prologue approaches: -->
455
+ <!-- - A scene from a different time period than the main narrative -->
456
+ <!-- - A framing device or narrator introduction -->
457
+ <!-- - An inciting event that precedes the main timeline -->
458
+ <!-- - A thematic statement dramatized through action -->
459
+
460
+ [Write your prologue here]
461
+ ```
462
+
463
+ Save to `.manuscript/front-matter/15-prologue.md`
464
+
465
+ #### Element 16: Note to the Reader (Variable) -- GENERATE DRAFT
466
+
467
+ **Load STYLE-GUIDE.md for voice.**
468
+
469
+ Generate a context-appropriate note based on the work type and content:
470
+ - For fiction: notes on research, historical context, or content warnings
471
+ - For nonfiction: notes on methodology, terminology, or reading approach
472
+ - For memoir: notes on memory, composite characters, or timeline changes
473
+
474
+ Mark as draft for writer review.
475
+
476
+ Save to `.manuscript/front-matter/16-note-to-reader.md`
477
+
478
+ #### Element 17: Maps / Family Trees (Variable) -- SCAFFOLD
479
+
480
+ If `.manuscript/WORLD.md` exists, use it to prompt for map creation:
481
+
482
+ ```markdown
483
+ # Maps
484
+
485
+ <!-- WRITER ACTION REQUIRED -->
486
+ <!-- Based on your world-building, the following locations/relationships -->
487
+ <!-- may benefit from visual representation: -->
488
+
489
+ ## Suggested Maps
490
+ [List key locations from WORLD.md]
491
+
492
+ ## Suggested Family Trees
493
+ [List key family relationships from CHARACTERS.md if applicable]
494
+
495
+ <!-- Maps and family trees are typically created by a professional -->
496
+ <!-- illustrator or cartographer. This scaffold identifies what to create. -->
497
+ ```
498
+
499
+ If no WORLD.md exists, skip this element.
500
+
501
+ Save to `.manuscript/front-matter/17-maps.md`
502
+
503
+ #### Element 18: Cast of Characters (Variable) -- GENERATE
504
+
505
+ Generate from CHARACTERS.md. List each character with:
506
+ - Name
507
+ - Brief description (role in the story, key identifying details)
508
+ - Relationships to other characters (if relevant)
509
+
510
+ Group by faction, family, or narrative importance as appropriate.
511
+
512
+ Save to `.manuscript/front-matter/18-cast.md`
513
+
514
+ #### Element 19: Timeline (Variable) -- GENERATE
515
+
516
+ If timeline data is available (from OUTLINE.md, WORK.md, or manuscript content), generate a chronological timeline of key events.
517
+
518
+ If no timeline data exists, skip this element.
519
+
520
+ Save to `.manuscript/front-matter/19-timeline.md`
521
+
522
+ ---
523
+
524
+ ### ACADEMIC ADAPTATION (behavior: academic_front_matter)
525
+
526
+ When the work type group is `academic`, apply these modifications:
527
+
528
+ 1. **Replace Dedication (5) and Epigraph (6) with Abstract**: Generate an academic abstract summarizing the research question, methodology, findings, and conclusions
529
+ 2. **Add List of Figures**: Enhanced version of List of Illustrations (8) following academic formatting conventions (numbered figures with descriptive captions)
530
+ 3. **Introduction becomes Methodology Introduction**: Element 14 scaffold emphasizes research methodology, literature review positioning, and thesis statement
531
+ 4. **Prologue is skipped**: Academic works do not have prologues
532
+ 5. **Cast of Characters is skipped**: Not applicable to academic works
533
+ 6. **Foreword becomes Expert Introduction**: Scaffold for a domain expert's introduction
534
+
535
+ Save the abstract to `.manuscript/front-matter/05-abstract.md`
536
+
537
+ ---
538
+
539
+ ### SACRED ADAPTATION (behavior: sacred_front_matter)
540
+
541
+ When the work type group is `sacred`, apply these modifications to the standard 19 elements AND add the following tradition-specific elements. Read the top-level `tradition` key from `.manuscript/config.json` to determine which elements to include. For older projects only, if top-level `tradition` is absent and `sacred.tradition` exists, use `sacred.tradition` as a legacy fallback.
542
+
543
+ **Standard sacred modifications:**
544
+
545
+ 1. **Add Imprimatur / Nihil Obstat scaffold**: For traditions that require ecclesiastical approval, provide a scaffold with the required format and submission guidance
546
+ 2. **Add Tradition-Specific Greeting**: Generate an appropriate opening (e.g., "In the Name of God, the Compassionate, the Merciful" for Islamic texts; "Ad Majorem Dei Gloriam" for Jesuit works) based on the specific work type
547
+ 3. **Emphasis on Textual Provenance**: Introduction scaffold (14) adds sections for manuscript tradition, translation approach, and canonical status
548
+ 4. **Epigraph draws from tradition**: Suggestions come from the work's own sacred tradition rather than general literature
549
+ 5. **Dedication may include consecration language**: Scaffold includes tradition-appropriate consecration or offering templates
550
+
551
+ Save the imprimatur scaffold to `.manuscript/front-matter/05a-imprimatur.md`
552
+
553
+ ## Sacred/Historical Front Matter
554
+
555
+ When the work type group is `sacred`, the `--element` flag accepts these additional elements beyond the standard 19:
556
+
557
+ | Element | Flag Name | Tradition | Type | Description |
558
+ |---------|-----------|-----------|------|-------------|
559
+ | Imprimatur | `imprimatur` | Christian (Catholic) | SCAFFOLD | Bishop's declaration of doctrinal safety. Scaffold only -- requires actual ecclesiastical authority. |
560
+ | Nihil Obstat | `nihil-obstat` | Christian (Catholic) | SCAFFOLD | Censor's declaration of no doctrinal error. Scaffold only -- requires actual ecclesiastical authority. |
561
+ | Haskamah | `haskamah` | Jewish | SCAFFOLD | Rabbinic approbation (letter of endorsement from a recognized rabbi or posek). Scaffold with tradition-specific structure including the rabbi's name, title, and community. |
562
+ | Bismillah | `bismillah` | Islamic | GENERATE | "In the name of God, the Most Gracious, the Most Merciful" opening invocation. Generated in Arabic script with transliteration and translation. |
563
+ | Ijazah | `ijazah` | Islamic | SCAFFOLD | Authorization and chain of transmission (isnad). Scaffold only -- requires actual authorization from a recognized teacher or institution. |
564
+ | Scriptural Dedication | `scriptural-dedication` | All sacred | SCAFFOLD | Dedication to the divine or sacred purpose. Template includes tradition-appropriate consecration or offering language. |
565
+ | Theological Preface | `theological-preface` | All sacred | SCAFFOLD | Preface stating theological positioning, interpretive approach (e.g., allegorical vs literal), intended audience, and relationship to existing scholarship. |
566
+
567
+ **For elements marked "scaffold only":** Generate the structure and placeholder text, but add a clear note:
568
+
569
+ > **Authorization Required:** This element requires authorization from a recognized authority in your tradition. The text below is a template -- do not publish without proper authorization.
570
+
571
+ **Tradition-specific element selection:**
572
+
573
+ | Tradition | Elements Included |
574
+ |-----------|-------------------|
575
+ | `catholic` | imprimatur, nihil-obstat, scriptural-dedication, theological-preface |
576
+ | `orthodox`, `tewahedo`, `protestant` | scriptural-dedication, theological-preface |
577
+ | `jewish` | haskamah, scriptural-dedication, theological-preface |
578
+ | `islamic-hafs`, `islamic-warsh` | bismillah, ijazah, scriptural-dedication, theological-preface |
579
+ | `pali`, `tibetan` | scriptural-dedication, theological-preface |
580
+ | `sanskrit` | scriptural-dedication, theological-preface |
581
+ | All others | scriptural-dedication, theological-preface |
582
+
583
+ When `--all` is used for sacred works, include these tradition-specific elements in addition to the standard 19 front matter elements. Save each to `.manuscript/front-matter/20-{element-name}.md` (numbering continues from the standard elements).
584
+
585
+ ---
586
+
587
+ ### STEP 3.5: TRADITION APPROVAL BLOCK (CONDITIONAL)
588
+
589
+ After completing all front-matter elements, check if top-level `tradition` is set in `.manuscript/config.json`. For older projects only, if top-level `tradition` is absent and `sacred.tradition` exists, use `sacred.tradition` as a legacy fallback.
590
+
591
+ If `tradition` is absent or null: skip this step silently.
592
+
593
+ If `tradition` is set, load `templates/sacred/{tradition}/manifest.yaml` and read `approval_block.required`.
594
+
595
+ If `approval_block.required` is `false`: skip this step silently.
596
+
597
+ If `approval_block.required` is `true`: offer to create an approval block page:
598
+
599
+ > **Tradition notice:** The **{approval_block.label}** (tradition approval) is required before publication for this tradition. Would you like to create the approval block scaffold?
600
+
601
+ If the writer confirms, create `.manuscript/front-matter/00-approval-block.md` with the following content:
602
+
603
+ ```markdown
604
+ ---
605
+ scaffold: true
606
+ element: approval-block
607
+ tradition: {tradition}
608
+ ---
609
+
610
+ # {approval_block.label}
611
+
612
+ <!-- AUTHORIZATION REQUIRED -->
613
+ <!-- This page must be completed by a recognized authority in the {tradition} tradition. -->
614
+ <!-- Do not publish without proper authorization. -->
615
+
616
+ ## For the Authorizing Authority
617
+
618
+ This work requires a {approval_block.label} -- a formal declaration that the content
619
+ is doctrinally sound according to the {tradition} tradition.
620
+
621
+ **Work:** [Title from WORK.md]
622
+ **Author:** [Author from WORK.md]
623
+ **Scope:** {approval_block.scope}
624
+
625
+ [Space for the authorizing authority's declaration, name, title, and date]
626
+ ```
627
+
628
+ Save to `.manuscript/front-matter/00-approval-block.md`.
629
+
630
+ The `00-` prefix ensures this page precedes the half-title in any file listing.
631
+
632
+ ---
633
+
634
+ ### STEP 4: SKIPPED ELEMENTS REPORT
635
+
636
+ When running without `--element`, after generating all eligible elements, list any elements that were skipped along with the resolved level:
637
+
638
+ ```markdown
639
+ ## Front Matter Summary
640
+
641
+ Level: [minimum | balanced | maximum]
642
+
643
+ ## Skipped Elements
644
+
645
+ The following front matter elements were not generated for this work:
646
+
647
+ - **[Element name]**: [Reason -- e.g., "Not in level: balanced", "No series info in WORK.md", "Not applicable to academic works", "No illustrations found in manuscript"]
648
+ ```
649
+
650
+ When the reason is the level filter, use the form **"Not in level: \<resolved-level\>"** so the writer can see what re-running with `--level maximum` would add.
651
+
652
+ Append this report to the final output displayed to the writer.
653
+
654
+ ---
655
+
656
+ ### STEP 5: HISTORY LOG
657
+
658
+ Append one line to `.manuscript/HISTORY.log` per `docs/history-protocol.md`:
659
+
660
+ ```
661
+ {ISO timestamp} | scr:front-matter | level={resolved level or "skip" or "single-element"} | elements={count generated} | outcome=ok
662
+ ```
663
+
664
+ If the writer chose `skip` in the interactive prompt, log `level=skip | elements=0 | outcome=skipped` -- the skip is itself a state event worth recording. If `--element <name>` was used, log `level=single-element | elements=1 | element={name} | outcome=ok`. Create HISTORY.log if it does not exist.
665
+
666
+ ---
667
+
668
+ ### OUTPUT
669
+
670
+ - Individual element files saved to `.manuscript/front-matter/{NN}-{element-name}.md` using the Chicago Manual order number as prefix for correct sequencing
671
+ - Summary displayed to the writer listing all generated elements with file paths
672
+ - Skipped elements listed with explanations
673
+ - Any SCAFFOLD or SUGGEST elements highlighted as requiring writer action
674
+
675
+ ## Response Contract
676
+
677
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
678
+
679
+ Use this format:
680
+
681
+ ```markdown
682
+ Next commands:
683
+ - `/scr:...`: One short sentence explaining what this path will do.
684
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
685
+ ```
686
+
687
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
688
+
689
+ If the writer seems unsure or no specific next command is obvious, include this default option:
690
+
691
+ ```markdown
692
+ Next commands:
693
+ - `/scr:next`: Inspect the project state and choose the right next step.
694
+ ```
695
+
696
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.