# pres-prvng - presentation.toml # Generated by presgen init # Theme: rust-vibe # Created: 2025-11-14 [metadata] title = "Infrastructure Provisioning Platform" author = "Provisioning Team" subtitle = "Why Terraform, Ansible, and Perl don't solve your infrastructure challenges" date = "2025-11-14" version = "1.0.0" keywords = ["infrastructure", "provisioning", "IaC", "Rust", "Nushell", "KCL", "automation", "DevOps", "Kubernetes"] description = "Professional presentation showcasing Provisioning Platform: a hybrid Rust/Nushell infrastructure automation system with enterprise security, multi-provider support, and intelligent configuration management" contact = "https://github.com/anthropics/provisioning" repository = "https://github.com/anthropics/provisioning" license = "MIT" # ============================================================ # CONTENT CONFIGURATION # ============================================================ [content] images_src = "./public/images" code_src = "./demos" assets_src = "./public" # Content structure - slides should follow this arc structure = ["intro", "problem", "solution", "demo", "conclusion", "qna"] # Validation thresholds (from PRESENTATION_GUIDELINES.md) max_bullets_per_slide = 7 # P-CONTENT-ONE-MESSAGE (7±2 rule) max_concepts_per_slide = 3 # P-CONTENT-ONE-MESSAGE max_text_lines = 15 # P-DESIGN-WHITESPACE # Code highlighting settings [content.code] syntax_theme = "dracula" max_lines_per_slide = 15 # P-CODE-SIZE-LIMIT highlight_required = true # P-CODE-HIGHLIGHT inline_syntax = true # Image configuration [content.images] min_width = 1920 min_height = 1080 formats = ["png", "jpg", "svg", "webp"] optimize = true # ============================================================ # THEME CONFIGURATION # ============================================================ [theme] name = "rust-vibe" base = "default" # Color palette (P-DESIGN-CONTRAST) [theme.colors] background = "#1a1a1a" text = "#e0e0e0" primary = "#f74c00" secondary = "#61dafb" accent = "#ff6b6b" success = "#4caf50" warning = "#ff9800" error = "#f44336" info = "#2196f3" # Contrast validation (P-DESIGN-CONTRAST) contrast_ratio_min = 7.0 # Target AAA standard contrast_ratio_warn = 4.5 # Minimum AA standard # Typography configuration (P-DESIGN-FONTS) [theme.typography] heading_family = "Inter" body_family = "Inter" code_family = "Fira Code" heading_weight = 700 # Bold body_weight = 400 # Regular code_weight = 400 # Regular # Font sizes in pixels (P-A11Y-READABILITY) h1_size = 48 h2_size = 36 h3_size = 28 body_size = 24 code_size = 20 # Minimum sizes for accessibility body_min = 18 code_min = 16 heading_min = 28 line_height = 1.6 # Layout configuration (P-DESIGN-WHITESPACE) [theme.layout] min_whitespace_percent = 30 # 30% minimum whitespace padding_horizontal = "2rem" padding_vertical = "1.5rem" max_width = "100%" aspect_ratio = "16:9" # Animations [theme.animations] enabled = true transition_duration = "0.3s" slide_transition = "fade" # ============================================================ # PUBLICATION & ACCESSIBILITY # ============================================================ [publication] site = "" export_formats = ["pdf", "html"] remote_assets = false [accessibility] color_blind_safe = true # P-A11Y-COLOR-BLIND use_patterns = true use_text_labels = true min_body_font = 24 # P-A11Y-READABILITY min_code_font = 18 min_heading_font = 36 contrast_check = true # Check contrast ratios # ============================================================ # VALIDATION CONFIGURATION # ============================================================ [validation] validation_level = "warn" auto_validate_on_generate = true [validation.content] one_message = true # P-CONTENT-ONE-MESSAGE max_bullets = true code_size = true structure = true [validation.design] whitespace = true # P-DESIGN-WHITESPACE contrast = true # P-DESIGN-CONTRAST fonts = true # P-DESIGN-FONTS [validation.code] size_limit = true # P-CODE-SIZE-LIMIT highlight = true # P-CODE-HIGHLIGHT complexity = true [validation.audience] terminology = true # P-AUDIENCE-TERMINOLOGY jargon = true # P-AUDIENCE-JARGON-CONTEXT [validation.accessibility] readability = true # P-A11Y-READABILITY color_blind = true # P-A11Y-COLOR-BLIND keyboard_navigation = true # ============================================================ # EXPORT CONFIGURATION # ============================================================ [export] output_dir = "./.project-tools/exports" default_format = "pdf" [export.pdf] enabled = true page_size = "A4" quality = "high" [export.html] enabled = true minify = true # ============================================================ # PRESENTATION PROFILES # ============================================================ # Profile: Technical Talk (30-45 minutes) [profiles.talk] mode = "talk" duration = "30min" target_slides = 25 audience = "developers" technical_depth = "moderate" jargon_level = "medium" [profiles.talk.content] code_examples = 3 live_demos = 1 demo_backup = true focus = ["concepts", "implementation", "best-practices"] [profiles.talk.sections] include = "all" exclude = [] # Profile: Pitch (5-10 minutes) [profiles.pitch] mode = "pitch" duration = "10min" target_slides = 12 audience = "executives" technical_depth = "minimal" jargon_level = "low" [profiles.pitch.content] code_examples = 0 live_demos = 0 demo_backup = false focus = ["problem", "solution", "impact"] [profiles.pitch.sections] include = ["intro", "problem", "solution", "conclusion"] exclude = ["demo"] # Profile: Workshop (2-4 hours) [profiles.workshop] mode = "workshop" duration = "3hours" target_slides = 40 audience = "learners" technical_depth = "deep" jargon_level = "high" [profiles.workshop.content] code_examples = 5 live_demos = 2 demo_backup = true focus = ["learning", "practice", "mastery"] [profiles.workshop.sections] include = "all" exclude = [] # Define exercises for workshop [[profiles.workshop.exercises]] after = "solution" duration = "20min" type = "coding" title = "Hands-on Exercise" description = "Implement the concepts from the previous section" # Profile: Lightning Talk (5 minutes) [profiles.lightning] mode = "lightning" duration = "5min" target_slides = 8 audience = "general" technical_depth = "minimal" jargon_level = "low" [profiles.lightning.content] code_examples = 0 live_demos = 0 demo_backup = false focus = ["hook", "single-idea", "call-to-action"] [profiles.lightning.sections] include = ["intro", "solution", "conclusion"] exclude = []