{"id":51142319,"url":"https://github.com/shiinamachi/slidex","last_synced_at":"2026-06-26T00:01:49.100Z","repository":{"id":363764890,"uuid":"1244555986","full_name":"shiinamachi/slidex","owner":"shiinamachi","description":"Generate presentation deck with Codex","archived":false,"fork":false,"pushed_at":"2026-06-10T08:37:43.000Z","size":2952,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T09:24:14.615Z","etag":null,"topics":["codex","codex-app","codex-plugin","presentation","presentation-slides"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shiinamachi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-20T11:28:51.000Z","updated_at":"2026-06-10T08:37:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shiinamachi/slidex","commit_stats":null,"previous_names":["shiinamachi/slidex"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/shiinamachi/slidex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiinamachi%2Fslidex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiinamachi%2Fslidex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiinamachi%2Fslidex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiinamachi%2Fslidex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shiinamachi","download_url":"https://codeload.github.com/shiinamachi/slidex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shiinamachi%2Fslidex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34796761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codex","codex-app","codex-plugin","presentation","presentation-slides"],"created_at":"2026-06-26T00:01:48.494Z","updated_at":"2026-06-26T00:01:49.075Z","avatar_url":"https://github.com/shiinamachi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# slidex\n\n[한국어 문서 →](README.ko.md)\n\n**Local CLI and Codex Plugin for producing HTML-first business documents and\npage-style PDFs.**\n\n`slidex` manages each document project as an isolated deck workspace, builds\nstatic HTML slides with design tokens and Korean-safe typography, renders slide\nPNGs and a final PDF, and verifies that every delivery artifact is fresh before\nsharing.\n\n---\n\n## ⚡ Install with Codex App\n\nChoose one release channel, then paste the matching prompt into a **Codex App**\nchat. Codex will automatically install the CLI, register the plugin, and verify\nthe setup. The default install does not require GitHub CLI or GitHub login.\n\n### Production build\n\nUse this for the latest stable release:\n\n```text\nInstall slidex production build from https://github.com/shiinamachi/slidex. Read INSTALL.md in that repository and follow the production channel install instructions.\n```\n\n### Canary build (Pre-Release)\n\nCanary builds are in-development pre-release builds and may be unstable. Use\nthis channel only when you need unreleased fixes or want to test upcoming\nchanges:\n\n```text\nInstall slidex canary build from https://github.com/shiinamachi/slidex. Read INSTALL.md in that repository and follow the canary channel install instructions; keep canary separate from any existing production install.\n```\n\n\u003e See [INSTALL.md](INSTALL.md) for the full internal install reference.\n\n---\n\n## What is slidex?\n\nUse `slidex` when you need a **local, reproducible workflow** for:\n\n- 📊 Business presentations and investor decks\n- 📝 Executive reports and proposals\n- 🏛️ Government review documents\n- 🤝 Customer decision materials\n\n`slidex` is **not** a hosted web app. Everything runs on your machine —\nthe editable source is an HTML file, and the delivery artifact is a PDF.\n\n### Key files\n\n| File | Role |\n|------|------|\n| `decks/\u003cdeck_id\u003e/out/final_deck.html` | Editable visual source of truth |\n| `decks/\u003cdeck_id\u003e/out/final_deck.pdf` | Primary delivery file |\n\n---\n\n## Features\n\n| | Feature | Description |\n|---|---------|-------------|\n| 🗂️ | **Deck Workspaces** | Each project gets its own isolated directory under `decks/` |\n| 🏗️ | **HTML-first Build** | Static HTML slides with CSS design tokens, 16:9 widescreen, Korean-capable fonts |\n| 🖼️ | **Automated Rendering** | Slide PNGs and paginated PDF via headless Chrome/Chromium/Edge |\n| ✅ | **Quality Assurance** | QA montage, QA report, and freshness checks before delivery |\n| 📦 | **Package Verification** | Validates all required artifacts exist and match current HTML |\n| 🔌 | **Codex Plugin** | Local React wizard workbench for deck creation via Codex App browser |\n| 📋 | **Evidence-aware** | Every claim must be sourced, confirmed, or marked as an assumption |\n\n---\n\n## Quick Start\n\n### 1. Create a deck\n\n```bash\nslidex init customer-retention\n```\n\n### 2. Write the brief\n\nEdit the generated brief with your document goals, audience, and source\nmaterial:\n\n```text\ndecks/customer-retention/brief.md\n```\n\n### 3. Add supporting material\n\nPlace logos, data files, reference documents, and brand guidelines into the\ndeck workspace directories (`assets/`, `brand/`, `data/`, `source/`).\n\n### 4. Run the workflow\n\n```bash\nslidex run --deck decks/customer-retention\n```\n\nThis runs the full pipeline: intake → strategy → spec → HTML build → render →\nQA → delivery summary → package check.\n\n### 5. Review the output\n\n```text\ndecks/customer-retention/out/final_deck.html    ← editable HTML\ndecks/customer-retention/out/final_deck.pdf     ← delivery PDF\ndecks/customer-retention/out/qa_montage.png     ← visual QA overview\ndecks/customer-retention/out/qa_report.md       ← QA details\ndecks/customer-retention/out/delivery_summary.md ← delivery checklist\n```\n\n---\n\n## Deck Workspace Structure\n\nEvery document project lives under `decks/\u003cdeck_id\u003e/`:\n\n```text\ndecks/\u003cdeck_id\u003e/\n  brief.md              ← document goal, audience, constraints\n  DESIGN.md             ← deck-specific visual direction\n  assets/               ← logos, product images, reference files\n    reference_docs/\n    images/\n  brand/                ← brand guidelines, colors, fonts\n  data/                 ← CSV, XLSX, chart/table source data\n  source/               ← PDFs, DOCX, screenshots, meeting notes\n  out/                  ← generated outputs (see below)\n```\n\n### Generated outputs\n\n| File | Description |\n|------|-------------|\n| `out/strategy.md` | Content strategy |\n| `out/deck_spec.json` | Structured slide spec |\n| `out/final_deck.html` | Editable HTML slides |\n| `out/final_deck.generated_baseline.html` | Baseline for diff |\n| `out/rendered_slides/*.png` | Individual slide PNGs |\n| `out/final_deck.pdf` | Paginated PDF |\n| `out/render_manifest.json` | Render metadata and hashes |\n| `out/qa_montage.png` | Visual QA montage |\n| `out/qa_report.md` | QA findings |\n| `out/notes.md` | Presenter notes |\n| `out/delivery_summary.md` | Final delivery checklist |\n\n---\n\n## Workflow Pipeline\n\n```text\n  init ──→ intake ──→ strategy ──→ spec ──→ build ──→ render ──→ qa ──→ finalize ──→ package\n  │                                                                                    │\n  └──── slidex run --deck decks/\u003cdeck_id\u003e ─────────────────────────────────────────────┘\n```\n\nUse `slidex run` for the standard end-to-end workflow. Use individual stage\ncommands only for inspection or repair:\n\n```bash\nslidex inspect --deck decks/\u003cdeck_id\u003e --write\nslidex intake --deck decks/\u003cdeck_id\u003e\nslidex strategy --deck decks/\u003cdeck_id\u003e\nslidex spec --deck decks/\u003cdeck_id\u003e\nslidex build --deck decks/\u003cdeck_id\u003e\nslidex render --deck decks/\u003cdeck_id\u003e\nslidex qa --deck decks/\u003cdeck_id\u003e\nslidex finalize --deck decks/\u003cdeck_id\u003e\nslidex package --deck decks/\u003cdeck_id\u003e\n```\n\nIf source material is insufficient, `slidex` stops with exit code `3` and\nwrites questions to `out/intake_questions.md`. Answer them in `brief.md` and\nrun again.\n\n---\n\n## Editing HTML Directly\n\nIf you edit `out/final_deck.html` by hand, sync and re-render before claiming\nthe PDF is current:\n\n```bash\nslidex sync-html-edits --deck decks/\u003cdeck_id\u003e\nslidex render --deck decks/\u003cdeck_id\u003e\nslidex qa --deck decks/\u003cdeck_id\u003e\nslidex package --deck decks/\u003cdeck_id\u003e\n```\n\n---\n\n## Codex Plugin Workbench\n\nThe repository includes a Codex Plugin at `plugins/slidex/` — an interactive\nworkbench for creating deck briefs through the Codex App in-app browser.\n\n```bash\nslidex workbench start --deck-id customer-retention\n```\n\nOpen the returned `http://127.0.0.1:\u003cport\u003e/workbench/\u003csession\u003e` URL in the\nCodex App browser. Plugin startup emits a Browser-first `browserOpen` intent:\nCodex should use the Browser plugin / `@Browser` when available, with URL click\nor manual navigation as fallback. New deck creation through the plugin must\ndisplay this React Wizard first; do not fall back to `slidex init`, manual\ndirectory creation, or direct `out/final_deck.html` authoring. The CLI embeds\nthe default `decks/_template`, so installed binaries can bootstrap the\nworkbench even when the active workspace has no template folder. For production\nor canary release installs, startup automatically checks and applies a newer\nverified release before opening the wizard; if an update is applied, it returns\na restart or pending-activation instruction instead of opening the wizard.\nSelecting `Complete \u0026 generate` writes `brief.md` and workbench artifacts to\nthe deck's `out/` directory, then starts `slidex run --deck decks/\u003cdeck_id\u003e\n--non-interactive` in the background.\n\n---\n\n## Troubleshooting\n\nCheck the CLI and render environment:\n\n```bash\nslidex doctor --render\n```\n\nIf Chrome is not detected, set one of these environment variables:\n\n```text\nCHROME_BIN · GOOGLE_CHROME_BIN · CHROMIUM_BIN · MSEDGE_BIN\nCHROME_FOR_TESTING_BIN · PLAYWRIGHT_CHROMIUM_BIN\nPLAYWRIGHT_CHROME_BIN · PUPPETEER_EXECUTABLE_PATH\n```\n\nDeck-specific diagnostics:\n\n```bash\nslidex doctor --deck decks/\u003cdeck_id\u003e --render\nslidex inspect --deck decks/\u003cdeck_id\u003e\n```\n\nSchema validation:\n\n```bash\nslidex validate-spec --spec decks/\u003cdeck_id\u003e/out/deck_spec.json\n```\n\n---\n\n## Command Reference\n\n| Command | Description |\n|---------|-------------|\n| `slidex init \u003cdeck_id\u003e` | Create a new deck workspace |\n| `slidex run --deck decks/\u003cdeck_id\u003e` | Run the full workflow |\n| `slidex render --deck decks/\u003cdeck_id\u003e` | Render PNGs and PDF |\n| `slidex qa --deck decks/\u003cdeck_id\u003e` | Run quality assurance |\n| `slidex package --deck decks/\u003cdeck_id\u003e` | Verify delivery artifacts |\n| `slidex sync-html-edits --deck decks/\u003cdeck_id\u003e` | Sync manual HTML edits |\n| `slidex doctor --render` | Check CLI and render environment |\n| `slidex workbench start --deck-id \u003cdeck_id\u003e` | Start the Codex workbench |\n| `slidex validate-spec --spec \u003cpath\u003e` | Validate a deck spec JSON |\n\nRun `slidex --help` for the full command list. See\n[commands.md](commands.md) for advanced examples including render overrides and\nCodex-specific commands.\n\n---\n\n## License\n\nMIT License. Copyright (c) 2026 shiinamachi. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiinamachi%2Fslidex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshiinamachi%2Fslidex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiinamachi%2Fslidex/lists"}