← Back to rendered page

title: Guide
shell: standard

components:
  - type: header
    title: Guide
    eyebrow: 60 seconds
    subtitle: Install the binary, scaffold a site, run the dev server.

  - type: section
    eyebrow: Install
    heading: Get the binary
    components:
      - type: markdown
        body: |
          kazam is a single self-contained Rust binary. No runtime, no Node,
          no Python. Pick whichever install method is convenient — all three
          land the same binary on your `PATH`.

      - type: tabs
        tabs:
          - label: Homebrew
            components:
              - type: markdown
                body: |
                  Easiest on macOS / Linux. Pulls from the `tdiderich/tap` tap.
              - type: code
                language: bash
                code: |
                  brew install tdiderich/tap/kazam
                  kazam --version

          - label: cargo install
            components:
              - type: markdown
                body: |
                  Works on any system with a Rust toolchain. Installed to
                  `~/.cargo/bin/kazam`.
              - type: code
                language: bash
                code: |
                  cargo install kazam
                  kazam --version

              - type: markdown
                body: |
                  **Bleeding edge:** install straight from `main` to pick up
                  unreleased fixes.
              - type: code
                language: bash
                code: |
                  cargo install --git https://github.com/tdiderich/kazam

          - label: From source
            components:
              - type: markdown
                body: |
                  For development or if you want to pin to a specific branch
                  or commit.
              - type: code
                language: bash
                code: |
                  git clone https://github.com/tdiderich/kazam
                  cd kazam
                  cargo build --release
                  cp target/release/kazam /usr/local/bin/kazam

  - type: section
    eyebrow: Scaffold
    heading: Live on localhost in 30 seconds
    components:
      - type: code
        language: bash
        code: |
          kazam init my-site       # scaffolds kazam.yaml + index.yaml + AGENTS.md
          cd my-site
          kazam dev .              # watch + serve at localhost:3000, live reload

      - type: markdown
        body: |
          Edit `index.yaml` — the browser reloads on save. Add new `.yaml`
          files for new pages. That's the whole dev loop.

      - type: callout
        variant: info
        title: Or skip the scaffold — let your agent write it
        body: "Drop a folder of real context (notes, transcripts, prior decks, PDFs) and run `kazam wish deck`. Your agent — Claude, Gemini, Codex, or OpenCode — reads everything with its own file tools and writes a populated deck. Or `kazam wish deck --yolo \"about me\"` to skip the folder entirely and let the agent invent the whole thing."
        links:
          - label: Read the wishes guide →
            href: wishes.html
            variant: primary

  - type: section
    eyebrow: Ship
    heading: Build a static bundle
    components:
      - type: code
        language: bash
        code: |
          kazam build . --out dist --release    # one-shot build to ./dist

      - type: markdown
        body: |
          The output is plain HTML, CSS, and copied assets — no runtime, no
          framework bundle. Any static host works.

  - type: callout
    variant: info
    title: Next up
    body: You've got a site running. The full tour walks through how pages are shaped — shells, components, and a full kazam.yaml — then deploy recipes cover the handful of hosts most people pick.
    links:
      - label: Take the full tour →
        href: about.html
        variant: primary
      - label: Deploy recipes
        href: deploy.html
        variant: secondary