Kadal Deck

السجل الرسمي أخرى

Build it, rehearse it, own the room: draft, edit and publish MDX talks and follow their live rooms.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http kadal-deck 'https://deck.kadal.cc/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "kadal-deck": {
            "type": "http",
            "url": "https://deck.kadal.cc/mcp"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Kadal Deck
  2. Start in 30 seconds
  3. What you get
  4. Themes
  5. For AI agents
  6. In your editor
  7. How it works
  8. Hosted or self-hosted
  9. Packages
  10. Documentation
  11. Licence
  12. Contributing
  13. Sponsors

Kadal Deck

Write your talk in MDX. Present it in a browser. Let the room follow, vote and ask from their phones.

The tour, the engine's own feature deck: over a hundred slides, all written in MDX. Open it and press ?.

Get started · Docs · Live tour · Themes · Hosting · Changelog


Start in 30 seconds

You need Node 20.19 or later.

npm create @kadal/deck@latest my-talk
cd my-talk && npm install
npm run dev        # http://localhost:5173: edit deck.mdx and the slide you're on updates in place

A deck is one deck.mdx file: Markdown, split into slides at ---, with components when you need them.

---
title: Hello, room
theme: ocean
---

# Hello, room

---

## One point at a time

<Clicks>

- Slides split at `---`; a slide below this one starts at `----`
- Code steps line by line, and the notes follow your clicks

</Clicks>

---

<Poll id="lunch" question="Lunch?" options={["Dosa", "Biryani", "Both"]} />

When it's ready:

npx kadal-deck build      # dist/: a static site for any host, works offline
npx kadal-deck export     # PDF in export/ (add --png or --pptx)
npx kadal-deck publish    # a URL on deck.kadal.cc with a live room (free plan)

Already have a Slidev deck? npx kadal-deck import slidev slides.md converts it and writes a report of anything that didn't carry over.

What you get

Writing (docs)MDX slides, 19 layouts with named slots, frontmatter per slide, src: includes, glossary terms the compiler links on first mention
Clicks and motion (docs)<Click>, <Clicks>, at="+2", notes that follow your clicks, 7 transitions (a different one in and out if you like), auto-animate, <Motion>
Code (docs)Shiki highlighting stepped line by line, magic move, Monaco editors, runnable JS/TS/Python, TwoSlash hovers, code groups, snippet imports
Maths, diagrams, sketches (docs)KaTeX at build time, Mermaid in the deck's colours, Excalidraw drawings revealed region by region
Looks (docs)16 themes in light and dark, 42 backgrounds (most of them animated), 200,000 icons through Iconify, Tailwind
Any framework (docs)React and web components built in; Vue, Svelte, Solid, Preact, Qwik, Angular, Fresh, Rust/WebAssembly and Python as islands, each loaded only when its slide appears
Presenting (docs)Presenter view with notes, timer and next slide; drawing, laser, spotlight, blackout, camera, recording; a share window for video calls; a phone remote; vim keys
The live room (docs)The audience follows on their phones: reactions, questions with upvotes, polls, word clouds, timed quizzes, a pace dial and a raised hand
Export (docs)PDF, PNG and PPTX, with or without each click step; a static build that works offline
The presenter view, and the audience's phone

Notes that highlight with each click, the next step, a timer with pacing and every tool on one screen. Press S in any deck. Scan the QR code: no app, no account. The slide stays in step with you, or roams ahead and catches up.

Themes

Sixteen themes, each in light and dark where it makes sense. Three are built in; the rest are packages you install and name in the headmatter (theme: ocean). Browse them all at deck.kadal.cc/themes.

minimal · built in

rla · built in

stack · built in ocean

brand crayon folio lecture

neon swiss terminal classic

seriph crisp bricks shibainu

Classic, seriph, crisp, bricks and shibainu are ports of the official Slidev themes, MIT-licensed, with credit to their authors in each package. npm create @kadal/deck@latest -- --theme <name> starts a theme of your own; the contract is THEMES.md.

For AI agents

Kadal Deck is built to be written by an agent as well as by you: a skill that teaches the format, an MCP server that edits slides line by line and renders them so the agent can look at its work, and a CLI whose every command answers in JSON. Guide: AI agents.

/plugin marketplace add kadalcc/deck          # Claude Code: the skill and the MCP server together
/plugin install kadal-deck@kadal-deck
npx skills add kadalcc/deck                              # the skill alone, for any agent (skills/kadal-deck)
claude mcp add kadal-deck -- npx -y @kadal/deck mcp      # the MCP server alone

For Claude Desktop, Cursor and VS Code, point the client at npx -y @kadal/deck mcp. The server works in the folder it starts in (or --dir <path>) and never reads or writes outside it unless started with --allow-outside.

MCP tools
deck_reference, deck_frontmatter_schemaevery component, layout, background and option, from the engine's own catalog
deck_create, deck_outline, deck_read_slide, deck_checkscaffold, read the deck as structure, lint it
slide_add, slide_update, slide_remove, slide_move, deck_update_frontmatter, notes_setedits that change only that slide's lines, linted on the spot
slide_render, deck_previewPNGs of slides from a dev server kept running between calls, and a live URL
deck_build, deck_export, deck_publisha static site, PDF/PNG/PPTX, and a published deck

For scripts: kadal-deck check (exit 1 on errors), kadal-deck screenshot, kadal-deck info [topic], and --json on every command. Exit codes: 0 ok, 1 failed, 2 usage, 3 not signed in, 4 missing prerequisite. @kadal/deck/catalog is everything a deck can use as data, @kadal/deck/authoring reads, lints and edits a deck as text, and @kadal/deck/schema/frontmatter.json is the JSON Schema for frontmatter.

In your editor

  • VS Code extension (Marketplace): a live preview that follows your cursor, a slide outline you drag to reorder, IntelliSense for every setting and component, the deck's checks as problems, and formatting.
  • @kadal/prettier-plugin: Prettier for deck files, in any editor that runs Prettier. kadal-deck format runs the same formatter with no setup.
  • In the browser: press E in kadal-deck dev for a side editor on the slide you're on.

How it works

Each slide is its own module, so an edit re-renders one slide, not the deck. The drawing is an Excalidraw file, drawn with the same sketch DSL a slide's <Sketch> uses.

Hosted or self-hosted

Writing, presenting, the presenter view, export and a static build need nothing but this engine, and stay free. The live room needs a server holding a WebSocket per deck.

  • deck.kadal.cc: npx kadal-deck publish gives the deck a URL, a live room, analytics, passcodes, version history and teams, and quick edit on the web that kadal-deck pull merges back into your files slide by slide. There is a free plan, and the paid plans fund the engine.
  • Your own host: kadal-deck build output runs on any static host (kadal-deck ci writes the deploy files for GitHub Pages, Netlify, Vercel, Cloudflare or Docker). The room protocol is typed in @kadal/deck/protocol and documented endpoint by endpoint, and kadal-deck relay gives a static build the phone remote.

Packages

PackageVersion
@kadal/deckThe engine: MDX compiler and Vite plugin, runtime, components, themes, live client, export, the kadal-deck CLI and MCP server
@kadal/create-decknpm create @kadal/deck@latest: a new deck, theme or addon
@kadal/deck-vue, -svelte, -solid, -preact, -qwik, -angular, -fresh, -wasm, -pythonFramework renderers for islands
@kadal/theme-* (13 packages)The themes above
@kadal/prettier-pluginPrettier for deck files
Kadal Deck for VS CodePreview, outline, IntelliSense, checks and formatting
@kadal/deck-shellnot on npm yetA prebuilt page that runs any deck.mdx compiled in the browser, for hosts and editors

All @kadal/* packages version together and are published from this repository's release workflow through npm trusted publishing, with provenance on each npm page. The VS Code extension is published by its own workflow.

Documentation

Getting started · Writing slides · Components · Configuration · CLI · Publishing · Writing a theme · Coming from Slidev

The engine's full reference, with every component and option, is in packages/deck/README.md, and npx kadal-deck info prints it in the terminal.

Licence

AGPL-3.0-or-later. Presenting with Kadal Deck, self-hosting your own decks, and embedding a deck in a site you publish trigger nothing; you owe nobody anything. If you run a modified engine as a network service, its users must be able to get your modified source.

Building a hosted or proprietary product on the engine without publishing your changes? A commercial licence removes the AGPL obligations: write to hello@kadal.cc. Details are in LICENSING.md. The five ported themes are MIT, and third-party notices are in THIRD_PARTY_NOTICES.md.

Contributing

A bug report with a small deck.mdx that reproduces it is the most useful thing you can send, and pull requests are welcome. CONTRIBUTING.md covers the setup (Bun 1.3+), the tests and the island verifier. Questions and ideas go to Discussions. Please follow the code of conduct, and report security issues privately as SECURITY.md describes.

Sponsors

Sponsorships pay for time on the open-source engine: issues, docs, new islands and the features you ask for. Sponsor Kadal Deck on GitHub; the tiers and what each one gets are on deck.kadal.cc/sponsor, and backers are listed in BACKERS.md. Companies can sponsor by invoice.

Your logo here: be the first company to sponsor Kadal Deck.

Made in Chennai by Kadal · deck.kadal.cc · hello@kadal.cc

الأسئلة الشائعة

ما هو Kadal Deck؟

Build it, rehearse it, own the room: draft, edit and publish MDX talks and follow their live rooms.

كيف أثبّت Kadal Deck؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http kadal-deck 'https://deck.kadal.cc/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Kadal Deck إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل Kadal Deck مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص AGPL-3.0.

من يصون Kadal Deck؟

ينشره kadalcc. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.