5.0 KiB
Step 2: Confirm Options
Purpose
Validate all 6 dimensions + aspect ratio.
Skip Conditions
| Condition | Skipped Questions | Still Asked |
|---|---|---|
--quick flag |
Type, Palette, Rendering, Text, Mood, Font | Aspect Ratio (unless --aspect specified) |
All 6 dimensions + --aspect specified |
All | None |
quick_mode: true in EXTEND.md |
Type, Palette, Rendering, Text, Mood, Font | Aspect Ratio (unless --aspect specified) |
| Otherwise | None | All 7 questions |
Important: Aspect ratio is ALWAYS asked unless explicitly specified via --aspect CLI flag. User presets in EXTEND.md are shown as recommended option, not auto-selected.
Quick Mode Output
When skipping 6 dimensions:
Quick Mode: Auto-selected dimensions
• Type: [type] ([reason])
• Palette: [palette] ([reason])
• Rendering: [rendering] ([reason])
• Text: [text] ([reason])
• Mood: [mood] ([reason])
• Font: [font] ([reason])
[Then ask Question 7: Aspect Ratio]
Confirmation Flow
Language: Auto-determined (user's input language > saved preference > source language). No need to ask.
Present ALL options in a single AskUserQuestion call (4 questions max).
Skip any question where the dimension is already specified via CLI flag or --style preset.
Q1: Type (skip if --type)
header: "Type"
question: "Which cover type?"
multiSelect: false
options:
- label: "[auto-recommended type] (Recommended)"
description: "[reason based on content signals]"
- label: "hero"
description: "Large visual impact, title overlay - product launch, announcements"
- label: "conceptual"
description: "Concept visualization - technical, architecture"
- label: "typography"
description: "Text-focused layout - opinions, quotes"
Q2: Palette (skip if --palette or --style)
header: "Palette"
question: "Which color palette?"
multiSelect: false
options:
- label: "[auto-recommended palette] (Recommended)"
description: "[reason based on content signals]"
- label: "warm"
description: "Friendly - orange, golden yellow, terracotta"
- label: "elegant"
description: "Sophisticated - soft coral, muted teal, dusty rose"
- label: "cool"
description: "Technical - engineering blue, navy, cyan"
Q3: Rendering (skip if --rendering or --style)
Show compatible renderings (✓✓ first from compatibility matrix):
header: "Rendering"
question: "Which rendering style?"
multiSelect: false
options:
- label: "[best compatible rendering] (Recommended)"
description: "[reason based on palette + type + content]"
- label: "flat-vector"
description: "Clean outlines, flat fills, geometric icons"
- label: "hand-drawn"
description: "Sketchy, organic, imperfect strokes"
- label: "digital"
description: "Polished, precise, subtle gradients"
Q4: Font (skip if --font)
header: "Font"
question: "Which font style?"
multiSelect: false
options:
- label: "[auto-recommended font] (Recommended)"
description: "[reason based on content signals]"
- label: "clean"
description: "Modern geometric sans-serif - tech, professional"
- label: "handwritten"
description: "Warm hand-lettered - personal, friendly"
- label: "serif"
description: "Classic elegant - editorial, luxury"
- label: "display"
description: "Bold decorative - announcements, entertainment"
Q5: Other Settings (skip if all remaining dimensions already specified)
Combine remaining settings into one question. Include: Output Dir (if no preference + file path input), Text, Mood, Aspect. Show auto-selected values as recommended option. User can accept all or type adjustments via "Other".
When output dir needs asking (no default_output_dir preference + file path input):
header: "Settings"
question: "Output / Text / Mood / Aspect?"
multiSelect: false
options:
- label: "imgs/ / [auto-text] / [auto-mood] / [preset-aspect] (Recommended)"
description: "{article-dir}/imgs/, [text reason], [mood reason], [aspect source]"
- label: "same-dir / [auto-text] / [auto-mood] / [preset-aspect]"
description: "{article-dir}/, same directory as article"
- label: "independent / [auto-text] / [auto-mood] / [preset-aspect]"
description: "cover-image/{topic-slug}/, separate from article"
When output dir already set (preference exists or pasted content):
header: "Settings"
question: "Text / Mood / Aspect?"
multiSelect: false
options:
- label: "[auto-text] / [auto-mood] / [preset-aspect] (Recommended)"
description: "Auto-selected: [text reason], [mood reason], [aspect source]"
- label: "[auto-text] / bold / [preset-aspect]"
description: "High contrast, vivid — matches [content signal]"
- label: "[auto-text] / subtle / [preset-aspect]"
description: "Low contrast, muted — calm, professional"
Note: "Other" (auto-added) allows typing custom combo. Parse /-separated values matching the question format.
After Response
Proceed to Step 3 with confirmed dimensions.