@nguyenphp/antigravity-marketing 1.0.18 → 1.0.19

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 (127) hide show
  1. package/README.md +186 -78
  2. package/package.json +4 -3
  3. package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
  4. package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
  5. package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
  6. package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  7. package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  8. package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  9. package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  10. package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  11. package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  12. package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  13. package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
  14. package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  15. package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
  16. package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  17. package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
  18. package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
  19. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  20. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  21. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  22. package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  23. package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
  24. package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
  25. package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  26. package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  27. package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
  28. package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
  29. package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
  30. package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  31. package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  32. package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  33. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  34. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  35. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  36. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  37. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  38. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  39. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  40. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  41. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  42. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  43. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  44. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  45. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  46. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  47. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  48. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  49. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  50. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  51. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  52. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  53. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  54. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  55. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  56. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  57. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  58. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  59. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  60. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  61. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  62. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  63. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  64. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  65. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  66. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  67. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  68. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  69. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  70. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  71. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  72. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  73. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  74. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  75. package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
  76. package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
  77. package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
  78. package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
  79. package/templates/.agent/skills/minimax-pdf/README.md +222 -0
  80. package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
  81. package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
  82. package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
  83. package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  84. package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
  85. package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
  86. package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
  87. package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
  88. package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  89. package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
  90. package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
  91. package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
  92. package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
  93. package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
  94. package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
  95. package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
  96. package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  97. package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
  98. package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
  99. package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  100. package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  101. package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  102. package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  103. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  104. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  105. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  106. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  107. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  108. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  109. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  110. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  111. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  112. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  113. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  114. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  115. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  116. package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
  117. package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
  118. package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
  119. package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
  120. package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
  121. package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
  122. package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
  123. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +170 -585
  124. package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
  125. package/templates/.agent/workflows/analyze.md +3 -0
  126. package/templates/.agent/workflows/brand-report.md +44 -0
  127. package/templates/.agent/workflows/report.md +49 -0
@@ -0,0 +1,82 @@
1
+ # OpenXML Namespaces, Relationship Types, and Content Types
2
+
3
+ ## Core Namespaces
4
+
5
+ | Prefix | URI | Used In |
6
+ |--------|-----|---------|
7
+ | `w` | `http://schemas.openxmlformats.org/wordprocessingml/2006/main` | document.xml, styles.xml, numbering.xml, headers, footers |
8
+ | `r` | `http://schemas.openxmlformats.org/officeDocument/2006/relationships` | Relationship references (r:id) |
9
+ | `wp` | `http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing` | Image/drawing placement in document |
10
+ | `a` | `http://schemas.openxmlformats.org/drawingml/2006/main` | DrawingML core (shapes, images, themes) |
11
+ | `pic` | `http://schemas.openxmlformats.org/drawingml/2006/picture` | Picture element in DrawingML |
12
+ | `v` | `urn:schemas-microsoft-com:vml` | VML (legacy shapes, watermarks) |
13
+ | `o` | `urn:schemas-microsoft-com:office:office` | Office VML extensions |
14
+ | `m` | `http://schemas.openxmlformats.org/officeDocument/2006/math` | Math equations (OMML) |
15
+ | `mc` | `http://schemas.openxmlformats.org/markup-compatibility/2006` | Markup compatibility (Ignorable, AlternateContent) |
16
+
17
+ ## Extended Namespaces
18
+
19
+ | Prefix | URI | Purpose |
20
+ |--------|-----|---------|
21
+ | `w14` | `http://schemas.microsoft.com/office/word/2010/wordml` | Word 2010 extensions (contentPart, etc.) |
22
+ | `w15` | `http://schemas.microsoft.com/office/word/2012/wordml` | Word 2013 extensions (commentEx, etc.) |
23
+ | `w16cid` | `http://schemas.microsoft.com/office/word/2016/wordml/cid` | Comment IDs (durable IDs) |
24
+ | `w16cex` | `http://schemas.microsoft.com/office/word/2018/wordml/cex` | Comment extensible |
25
+ | `w16se` | `http://schemas.microsoft.com/office/word/2015/wordml/symex` | Symbol extensions |
26
+ | `wps` | `http://schemas.microsoft.com/office/word/2010/wordprocessingShape` | WordprocessingML shapes |
27
+ | `wpc` | `http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas` | Drawing canvas |
28
+
29
+ ## Relationship Types
30
+
31
+ | Relationship | Type URI |
32
+ |-------------|----------|
33
+ | Document | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument` |
34
+ | Styles | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles` |
35
+ | Numbering | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering` |
36
+ | Font Table | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable` |
37
+ | Settings | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings` |
38
+ | Theme | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme` |
39
+ | Image | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/image` |
40
+ | Hyperlink | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink` |
41
+ | Header | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/header` |
42
+ | Footer | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer` |
43
+ | Comments | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments` |
44
+ | CommentsExtended | `http://schemas.microsoft.com/office/2011/relationships/commentsExtended` |
45
+ | CommentsIds | `http://schemas.microsoft.com/office/2016/09/relationships/commentsIds` |
46
+ | CommentsExtensible | `http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible` |
47
+ | Footnotes | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes` |
48
+ | Endnotes | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes` |
49
+ | Glossary | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument` |
50
+ | Web Settings | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings` |
51
+
52
+ ## Content Types (`[Content_Types].xml`)
53
+
54
+ ### Default Extensions
55
+
56
+ ```xml
57
+ <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
58
+ <Default Extension="xml" ContentType="application/xml" />
59
+ <Default Extension="png" ContentType="image/png" />
60
+ <Default Extension="jpeg" ContentType="image/jpeg" />
61
+ <Default Extension="gif" ContentType="image/gif" />
62
+ <Default Extension="emf" ContentType="image/x-emf" />
63
+ ```
64
+
65
+ ### Part Overrides
66
+
67
+ | Part | Content Type |
68
+ |------|-------------|
69
+ | `/word/document.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml` |
70
+ | `/word/styles.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml` |
71
+ | `/word/numbering.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml` |
72
+ | `/word/settings.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml` |
73
+ | `/word/fontTable.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml` |
74
+ | `/word/theme/theme1.xml` | `application/vnd.openxmlformats-officedocument.theme+xml` |
75
+ | `/word/header1.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml` |
76
+ | `/word/footer1.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml` |
77
+ | `/word/comments.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml` |
78
+ | `/word/commentsExtended.xml` | `application/vnd.ms-word.commentsExtended+xml` |
79
+ | `/word/commentsIds.xml` | `application/vnd.ms-word.commentsIds+xml` |
80
+ | `/word/commentsExtensible.xml` | `application/vnd.ms-word.commentsExtensible+xml` |
81
+ | `/word/footnotes.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml` |
82
+ | `/word/endnotes.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml` |
@@ -0,0 +1,72 @@
1
+ # OpenXML Unit Conversion Quick Reference
2
+
3
+ ## Master Conversion Table
4
+
5
+ | Unit | 1 inch | 1 cm | 1 mm | 1 pt | Description |
6
+ |------|--------|------|------|------|-------------|
7
+ | DXA (twips) | 1440 | 567 | 56.7 | 20 | 1/20 of a point. Used for margins, indents, spacing, page size. |
8
+ | EMU | 914400 | 360000 | 36000 | 12700 | English Metric Unit. Used for images, drawings, shapes. |
9
+ | Half-points | 144 | 56.7 | 5.67 | 2 | Used for font sizes (`w:sz`, `w:szCs`). |
10
+ | Points | 72 | 28.35 | 2.835 | 1 | Standard typographic unit. Not used directly in most attributes. |
11
+ | Eighths of a point | 576 | 226.8 | 22.68 | 8 | Used for `w:spacing` character spacing. |
12
+
13
+ ## Common Page Sizes
14
+
15
+ | Size | Width (DXA) | Height (DXA) | Width (mm) | Height (mm) |
16
+ |------|-------------|--------------|------------|-------------|
17
+ | A4 | 11906 | 16838 | 210 | 297 |
18
+ | Letter | 12240 | 15840 | 215.9 | 279.4 |
19
+ | Legal | 12240 | 20160 | 215.9 | 355.6 |
20
+ | A3 | 16838 | 23811 | 297 | 420 |
21
+ | A5 | 8391 | 11906 | 148 | 210 |
22
+
23
+ ## Common Margin Values
24
+
25
+ | Margin | DXA | Inches | cm |
26
+ |--------|-----|--------|----|
27
+ | 0.5 inch | 720 | 0.5 | 1.27 |
28
+ | 0.75 inch | 1080 | 0.75 | 1.91 |
29
+ | 1 inch | 1440 | 1.0 | 2.54 |
30
+ | 1.25 inch | 1800 | 1.25 | 3.18 |
31
+ | 1.5 inch | 2160 | 1.5 | 3.81 |
32
+
33
+ ## Font Size Values (`w:sz`)
34
+
35
+ | Display Size | w:sz value | Notes |
36
+ |-------------|-----------|-------|
37
+ | 8pt | 16 | |
38
+ | 9pt | 18 | |
39
+ | 10pt | 20 | |
40
+ | 10.5pt | 21 | Common CJK body size |
41
+ | 11pt | 22 | Default Calibri body |
42
+ | 12pt | 24 | Default TNR body |
43
+ | 14pt | 28 | Small heading |
44
+ | 16pt | 32 | |
45
+ | 18pt | 36 | |
46
+ | 20pt | 40 | |
47
+ | 24pt | 48 | |
48
+ | 28pt | 56 | |
49
+ | 36pt | 72 | |
50
+
51
+ ## Line Spacing Values
52
+
53
+ Line spacing in `w:spacing` uses the `w:line` attribute in 240ths of a line (when `w:lineRule="auto"`):
54
+
55
+ | Spacing | w:line value | w:lineRule |
56
+ |---------|-------------|-----------|
57
+ | Single | 240 | auto |
58
+ | 1.15 (Word default) | 276 | auto |
59
+ | 1.5 | 360 | auto |
60
+ | Double | 480 | auto |
61
+ | Exact 12pt | 240 | exact |
62
+ | At least 12pt | 240 | atLeast |
63
+
64
+ Note: When `lineRule="exact"` or `"atLeast"`, `w:line` is in **twips** (DXA), not 240ths. So `line="240"` with `lineRule="exact"` means exactly 12pt (240/20 = 12pt).
65
+
66
+ ## Conversion Formulas
67
+
68
+ ```
69
+ DXA = inches × 1440 = cm × 567 = pt × 20
70
+ EMU = inches × 914400 = cm × 360000 = pt × 12700
71
+ sz = pt × 2 (half-points)
72
+ ```
@@ -0,0 +1,284 @@
1
+ # Scenario A: Creating a New DOCX from Scratch
2
+
3
+ ## When to Use
4
+
5
+ Use Scenario A when:
6
+ - The user has no existing file and wants a brand new document
7
+ - The user provides content (text, tables, images) and wants it assembled into a DOCX
8
+ - The user specifies a document type (report, letter, memo, academic) or describes a custom layout
9
+
10
+ Do NOT use when: the user already has a DOCX they want to modify (→ Scenario B) or wants to restyle an existing document (→ Scenario C).
11
+
12
+ ---
13
+
14
+ ## Step-by-Step Workflow
15
+
16
+ ### 1. Determine Document Type
17
+
18
+ Ask or infer the document type from the user's request:
19
+
20
+ | Type | Typical Signals |
21
+ |------|----------------|
22
+ | Report | "report", "analysis", "whitepaper", sections with headings |
23
+ | Letter | "letter", "dear", address block, salutation |
24
+ | Memo | "memo", "memorandum", To/From/Subject fields |
25
+ | Academic | "paper", "essay", "thesis", APA/MLA/Chicago mention |
26
+ | Custom | None of the above, or user specifies exact formatting |
27
+
28
+ ### 2. Gather Content Requirements
29
+
30
+ Collect from the user:
31
+ - Title and subtitle (if any)
32
+ - Author / organization
33
+ - Section structure (headings and nesting)
34
+ - Body content per section
35
+ - Tables (headers + rows)
36
+ - Images (file paths or placeholders)
37
+ - Special elements: TOC, page numbers, watermark, headers/footers
38
+
39
+ ### 3. Select Style Set
40
+
41
+ Based on document type, load the matching styles XML asset:
42
+ - Report → `assets/styles/default_styles.xml` or `assets/styles/corporate_styles.xml`
43
+ - Academic → `assets/styles/academic_styles.xml`
44
+ - Letter / Memo / Custom → `assets/styles/default_styles.xml` (with overrides)
45
+
46
+ ### 4. Configure Page Setup
47
+
48
+ Set `w:sectPr` values based on document type defaults (see below) or user overrides.
49
+
50
+ ```xml
51
+ <w:sectPr>
52
+ <w:pgSz w:w="11906" w:h="16838" /> <!-- A4 -->
53
+ <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"
54
+ w:header="720" w:footer="720" w:gutter="0" />
55
+ </w:sectPr>
56
+ ```
57
+
58
+ ### 5. Build Document Structure
59
+
60
+ Assemble `word/document.xml` with:
61
+ 1. `w:body` as root container
62
+ 2. Paragraphs (`w:p`) with heading styles for section titles
63
+ 3. Body paragraphs with `Normal` style
64
+ 4. Tables, images, and other elements as needed
65
+ 5. Final `w:sectPr` as last child of `w:body`
66
+
67
+ ### 6. Apply Typography Defaults
68
+
69
+ Set document-level defaults in `styles.xml` under `w:docDefaults`:
70
+ ```xml
71
+ <w:docDefaults>
72
+ <w:rPrDefault>
73
+ <w:rPr>
74
+ <w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:eastAsia="SimSun" w:cs="Arial" />
75
+ <w:sz w:val="22" /> <!-- 11pt -->
76
+ <w:szCs w:val="22" />
77
+ </w:rPr>
78
+ </w:rPrDefault>
79
+ <w:pPrDefault>
80
+ <w:pPr>
81
+ <w:spacing w:after="160" w:line="259" w:lineRule="auto" />
82
+ </w:pPr>
83
+ </w:pPrDefault>
84
+ </w:docDefaults>
85
+ ```
86
+
87
+ ### 7. Add Complex Elements
88
+
89
+ See the Complex Elements Guide section below.
90
+
91
+ ### 8. Run Validation Pipeline
92
+
93
+ ```
94
+ dotnet run ... validate --xsd wml-subset.xsd
95
+ dotnet run ... validate --xsd business-rules.xsd # if applying a template
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Document Type Defaults
101
+
102
+ ### Report
103
+ | Property | Value |
104
+ |----------|-------|
105
+ | Body font | Calibri 11pt |
106
+ | Heading font | Calibri Light |
107
+ | H1 / H2 / H3 / H4 size | 28pt / 24pt / 18pt / 14pt |
108
+ | Heading color | #2F5496 (corporate blue) |
109
+ | Margins | 1 inch (1440 DXA) all sides |
110
+ | Page size | A4 (11906 × 16838 DXA) |
111
+ | Line spacing | Single (line="240") |
112
+ | Paragraph spacing | 0pt before, 8pt after body |
113
+
114
+ ### Letter
115
+ | Property | Value |
116
+ |----------|-------|
117
+ | Font | Calibri 11pt |
118
+ | Page size | Letter (12240 × 15840 DXA) |
119
+ | Margins | 1 inch all sides |
120
+ | Structure | Date → Address → Salutation → Body → Closing → Signature |
121
+ | Line spacing | Single |
122
+
123
+ ### Memo
124
+ | Property | Value |
125
+ |----------|-------|
126
+ | Font | Arial 11pt |
127
+ | Page size | Letter |
128
+ | Margins | 0.75 inch (1080 DXA) |
129
+ | Header | "MEMO" centered, bold, 16pt |
130
+ | Fields | To, From, Date, Subject (bold labels, tab-aligned values) |
131
+
132
+ ### Academic
133
+ | Property | Value |
134
+ |----------|-------|
135
+ | Font | Times New Roman 12pt |
136
+ | Line spacing | Double (line="480") |
137
+ | Margins | 1 inch all sides |
138
+ | Page size | Letter |
139
+ | Headings | Bold, same font, 14/13/12pt for H1/H2/H3 |
140
+ | First line indent | 0.5 inch (720 DXA) |
141
+ | Heading color | Black (no color) |
142
+
143
+ ---
144
+
145
+ ## Content Configuration JSON Format
146
+
147
+ The CLI `create` command accepts a JSON config:
148
+
149
+ ```json
150
+ {
151
+ "type": "report",
152
+ "title": "Quarterly Revenue Analysis",
153
+ "subtitle": "Q1 2026",
154
+ "author": "Finance Team",
155
+ "pageSize": "A4",
156
+ "margins": { "top": 1440, "right": 1440, "bottom": 1440, "left": 1440 },
157
+ "sections": [
158
+ {
159
+ "heading": "Executive Summary",
160
+ "level": 1,
161
+ "content": [
162
+ { "type": "paragraph", "text": "Revenue grew 12% year-over-year..." },
163
+ {
164
+ "type": "table",
165
+ "headers": ["Region", "Revenue", "Growth"],
166
+ "rows": [
167
+ ["North America", "$4.2M", "+15%"],
168
+ ["Europe", "$2.8M", "+8%"],
169
+ ["Asia Pacific", "$1.9M", "+18%"]
170
+ ]
171
+ },
172
+ { "type": "image", "path": "charts/revenue.png", "width": "5in", "alt": "Revenue chart" }
173
+ ]
174
+ },
175
+ {
176
+ "heading": "Detailed Analysis",
177
+ "level": 1,
178
+ "content": [
179
+ { "type": "paragraph", "text": "Breaking down by product line..." }
180
+ ]
181
+ }
182
+ ]
183
+ }
184
+ ```
185
+
186
+ Supported content types:
187
+ - `paragraph` — body text (applies Normal style)
188
+ - `table` — headers + rows (applies TableGrid style)
189
+ - `image` — inline image with width/height control
190
+ - `list` — bulleted or numbered list items
191
+ - `pageBreak` — forces a page break
192
+
193
+ ---
194
+
195
+ ## Complex Elements Guide
196
+
197
+ ### Table of Contents
198
+
199
+ Insert a TOC field code. Word will update the actual entries when the file is opened:
200
+
201
+ ```xml
202
+ <w:p>
203
+ <w:pPr><w:pStyle w:val="TOCHeading" /></w:pPr>
204
+ <w:r><w:t>Table of Contents</w:t></w:r>
205
+ </w:p>
206
+ <w:p>
207
+ <w:r>
208
+ <w:fldChar w:fldCharType="begin" />
209
+ </w:r>
210
+ <w:r>
211
+ <w:instrText xml:space="preserve"> TOC \o "1-3" \h \z \u </w:instrText>
212
+ </w:r>
213
+ <w:r>
214
+ <w:fldChar w:fldCharType="separate" />
215
+ </w:r>
216
+ <w:r>
217
+ <w:t>[Table of contents — update to populate]</w:t>
218
+ </w:r>
219
+ <w:r>
220
+ <w:fldChar w:fldCharType="end" />
221
+ </w:r>
222
+ </w:p>
223
+ ```
224
+
225
+ ### Page Numbers in Footer
226
+
227
+ Add a footer part (`word/footer1.xml`) and reference it in `w:sectPr`:
228
+
229
+ ```xml
230
+ <!-- In footer1.xml -->
231
+ <w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
232
+ <w:p>
233
+ <w:pPr><w:jc w:val="center" /></w:pPr>
234
+ <w:r>
235
+ <w:fldChar w:fldCharType="begin" />
236
+ </w:r>
237
+ <w:r>
238
+ <w:instrText>PAGE</w:instrText>
239
+ </w:r>
240
+ <w:r>
241
+ <w:fldChar w:fldCharType="separate" />
242
+ </w:r>
243
+ <w:r><w:t>1</w:t></w:r>
244
+ <w:r>
245
+ <w:fldChar w:fldCharType="end" />
246
+ </w:r>
247
+ </w:p>
248
+ </w:ftr>
249
+
250
+ <!-- In sectPr -->
251
+ <w:footerReference w:type="default" r:id="rId8" />
252
+ ```
253
+
254
+ ### Watermark
255
+
256
+ Add a header part with a shape behind the text:
257
+
258
+ ```xml
259
+ <w:hdr>
260
+ <w:p>
261
+ <w:r>
262
+ <w:pict>
263
+ <v:shape style="position:absolute;margin-left:0;margin-top:0;width:468pt;height:180pt;
264
+ z-index:-251657216;mso-position-horizontal:center;
265
+ mso-position-vertical:center"
266
+ fillcolor="silver" stroked="f">
267
+ <v:textpath style="font-family:'Calibri';font-size:1pt" string="DRAFT" />
268
+ </v:shape>
269
+ </w:pict>
270
+ </w:r>
271
+ </w:p>
272
+ </w:hdr>
273
+ ```
274
+
275
+ ---
276
+
277
+ ## Post-Creation Checklist
278
+
279
+ 1. **Validate** against `wml-subset.xsd` — all elements in correct order, required attributes present
280
+ 2. **Merge adjacent runs** with identical formatting to keep XML clean
281
+ 3. **Verify relationships** — every `r:id` in document.xml has a matching entry in `document.xml.rels`
282
+ 4. **Check content types** — every part in the package is registered in `[Content_Types].xml`
283
+ 5. **Preview** — open in Word or LibreOffice to visually confirm layout
284
+ 6. **File size** — confirm images are reasonably sized (compress if > 2MB each)