# dek > A build system for talks. Write what you will say; dek builds, measures, and ships the rest. Site: https://hajimism.github.io/dek/ Japanese: https://hajimism.github.io/dek/ja/ Repo: https://github.com/hajimism/dek dek runs on Bun. Install dek into the project with `bun add -d @hajimism/dek` and run it as `bunx dekc` from inside it, or `bunx @hajimism/dek` outside one; the command is `dekc`, not `dek`: `dek` on npm is an unrelated package, which `bunx dek` downloads and runs. Use `bunx`, not `npx`. Agents use the same CLI as humans. Run `dekc help --agent`, or `dekc help ` for one command's flags; they describe the dek installed in the project, which wins over anything written here. Result commands accept `--json`: branch on `ok`; every `"ok": false` carries `error` (`message`, `hint`, optional `path`/`line`), and lint, check, build, ls, and cues always carry `diagnostics` (with `line`/`column` and `data`). A check that did not run is in `skipped` with its `reason` and `hint`. 0.x: the JSON shape and DEK ids may change; DEK ids are never reused. Diagnostics: `dekc lint --format sarif`. Do not parse human-oriented text output. ## Skill The official skill teaches an agent the loop: script first, then one slide at a time with `show`, an edit, `check --shot`, and `lint`, and when to stop. It names few commands and defers to `dekc help --agent` for the rest, so it never runs ahead of the dek a project has. - The skills CLI: `npx skills add hajimism/dek` - Claude Code: `/plugin marketplace add hajimism/dek`, then `/plugin install dek@dek` - In a project: `node_modules/@hajimism/dek/skills/dek/SKILL.md`, the copy for the dek installed there ## Guide - [Why dek](https://hajimism.github.io/dek/guide/why.html): Boxes first means a deck you cannot deliver. The script is the parent. Three principles, a comparison, and what dek is not for. - [Getting Started](https://hajimism.github.io/dek/guide/getting-started.html): Install to a presentable skeleton deck without writing HTML. - [Tutorial](https://hajimism.github.io/dek/guide/tutorial.html): Build a ten-minute talk end to end: script, beats, a hand-written slide, a morph, a theme change, a single-file build. - [Projects and Decks](https://hajimism.github.io/dek/guide/structure.html): One project, many decks. Themes are copied. Other people's decks are read-only refs. The working directory sets the scope. - [The Script](https://hajimism.github.io/dek/guide/script.html): `##` is a slide, `###` is a beat, only paragraphs are spoken. Ids, renaming, timing. - [Slides](https://hajimism.github.io/dek/guide/slides.html): One `
` per file. Theme classes only. No `