pptx-cli 1.3.2__tar.gz → 1.3.4__tar.gz

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 (77) hide show
  1. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx-deck-builder/SKILL.md +28 -0
  2. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/PKG-INFO +1 -1
  3. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/__init__.py +1 -1
  4. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/schema.py +12 -0
  5. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.claude/settings.local.json +0 -0
  6. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.editorconfig +0 -0
  7. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  9. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  11. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/copilot-instructions.md +0 -0
  12. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/instructions/backend.instructions.md +0 -0
  13. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/instructions/testing.instructions.md +0 -0
  14. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx/SKILL.md +0 -0
  15. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx/references/deck-spec.md +0 -0
  16. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx-deck-builder/references/excal-diagrams.md +0 -0
  17. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx-deck-builder/references/mckinsey-style.md +0 -0
  18. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/skills/pptx-deck-builder/references/pptx-workflow.md +0 -0
  19. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/workflows/ci.yml +0 -0
  20. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.github/workflows/publish.yml +0 -0
  21. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.gitignore +0 -0
  22. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/.python-version +0 -0
  23. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/AGENTS.md +0 -0
  24. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/ARCHITECTURE.md +0 -0
  25. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/CHANGELOG.md +0 -0
  26. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/CLI-MANIFEST.md +0 -0
  27. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/CONTRIBUTING.md +0 -0
  28. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/DECISIONS/ADR-0001-initial-architecture.md +0 -0
  29. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/LICENSE +0 -0
  30. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/PRD.md +0 -0
  31. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/PREVIEW-FUTURE.md +0 -0
  32. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/PROJECT.md +0 -0
  33. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/README.md +0 -0
  34. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/SCAFFOLD.md +0 -0
  35. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/SECURITY.md +0 -0
  36. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/TESTING.md +0 -0
  37. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/docs/DOMAIN.md +0 -0
  38. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/docs/GLOSSARY.md +0 -0
  39. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/docs/ROADMAP.md +0 -0
  40. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/docs/SCAFFOLDING-NOTES.md +0 -0
  41. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails/.gitignore +0 -0
  42. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails/guardrails.jsonl +0 -0
  43. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails/links.jsonl +0 -0
  44. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails/references.jsonl +0 -0
  45. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails/taxonomy.json +0 -0
  46. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/guardrails-explorer.html +0 -0
  47. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/pyproject.toml +0 -0
  48. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/pyrightconfig.json +0 -0
  49. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/scripts/bump_version.py +0 -0
  50. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/__main__.py +0 -0
  51. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/cli.py +0 -0
  52. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/__init__.py +0 -0
  53. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/compose.py +0 -0
  54. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/guide.py +0 -0
  55. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/init.py +0 -0
  56. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/inspect.py +0 -0
  57. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/manifest_ops.py +0 -0
  58. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/validate.py +0 -0
  59. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/commands/wrapper.py +0 -0
  60. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/__init__.py +0 -0
  61. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/composition.py +0 -0
  62. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/ids.py +0 -0
  63. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/io.py +0 -0
  64. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/manifest_store.py +0 -0
  65. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/markdown.py +0 -0
  66. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/runtime.py +0 -0
  67. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/template.py +0 -0
  68. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/validation.py +0 -0
  69. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/core/versioning.py +0 -0
  70. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/models/__init__.py +0 -0
  71. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/models/envelope.py +0 -0
  72. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/src/pptx_cli/models/manifest.py +0 -0
  73. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/tests/conftest.py +0 -0
  74. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/tests/test_cli.py +0 -0
  75. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/tests/test_schema.py +0 -0
  76. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/tests/test_versioning.py +0 -0
  77. {pptx_cli-1.3.2 → pptx_cli-1.3.4}/uv.lock +0 -0
@@ -51,6 +51,34 @@ For consulting-style decks, write a **ghost deck** first — a title-only
51
51
  outline where each slide title states the takeaway (not the topic). The titles
52
52
  alone should tell a coherent story. See `references/mckinsey-style.md`.
53
53
 
54
+ ### Working from a YAML input file
55
+
56
+ When the user provides a YAML (or similar structured) file that already
57
+ contains slide content, treat it as the authoritative source. The file
58
+ typically defines `slides:` with per-slide fields such as `title`, `body`,
59
+ `notes`, `table`, `chart`, and `image`.
60
+
61
+ **Carry over every field.** Walk through each slide in the input and map
62
+ every field into the deck spec. The most common mistake is silently dropping
63
+ fields that do not map to a placeholder — especially `notes`. Always include:
64
+
65
+ - `title` and `body` → map to the layout's `title` and `content_1`
66
+ - `notes` → map to the slide-level `notes:` key in the deck spec
67
+ - `table` → map to a `{ kind: table, ... }` content block
68
+ - `chart` → map to a `{ kind: chart, ... }` content block
69
+ - `image` → map to a `{ kind: image, ... }` content block
70
+
71
+ **Do not summarize, rewrite, or omit content** unless the user explicitly
72
+ asks for editing. The goal is faithful conversion from the input format to
73
+ a template-bound deck spec, not reinterpretation.
74
+
75
+ **Checklist before building:** after writing the deck spec, verify that:
76
+
77
+ 1. The number of slides matches the input.
78
+ 2. Every `notes:` block from the input appears in the spec.
79
+ 3. Every table, chart, and image from the input is present.
80
+ 4. Source attributions are preserved.
81
+
54
82
  ### Step 1 — Initialize the manifest (one-time setup)
55
83
 
56
84
  Check if a manifest package already exists. If not, initialize from the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pptx-cli
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: Template-bound PowerPoint generation for enterprise decks
5
5
  Author: Thomas Rohde
6
6
  License: MIT License
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "1.3.2"
5
+ __version__ = "1.3.4"
@@ -46,6 +46,18 @@ def copy_to_clipboard(text: str) -> bool:
46
46
  # ---------------------------------------------------------------------------
47
47
 
48
48
  _GENERIC_SCHEMA = """\
49
+ <output-format>
50
+ IMPORTANT: Your output MUST be a YAML deck spec, not a binary .pptx file.
51
+ Do NOT attempt to generate PowerPoint XML, base64 data, or any format
52
+ other than the YAML shown below. The `pptx deck build` CLI tool handles
53
+ all PowerPoint rendering — you only provide the YAML.
54
+
55
+ Preferred: offer the YAML as a downloadable file (e.g. a download link or
56
+ file attachment named "deck.yaml") so the user can save it directly.
57
+ Fallback: emit a single ```yaml code block the user can copy-paste into
58
+ a .yaml file and then run `pptx deck build -f deck.yaml`.
59
+ </output-format>
60
+
49
61
  <slide-schema>
50
62
  Use this schema to draft presentation content. Layout assignment and
51
63
  template binding happen later, so focus on the slides themselves.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes