Deck Docs

Install

Install @deck-io/feedback in a React or Node application.

Install

Package

pnpm add @deck-io/feedback
# or
npm install @deck-io/feedback
# or
yarn add @deck-io/feedback
# or
bun add @deck-io/feedback

Published package: npmjs.com/package/@deck-io/feedback (current: 0.2.0+)

Peer dependencies (React entry only)

The default entry does not bundle React. Install peers if your app does not already have them:

pnpm add react react-dom
PeerSupported versionsRequired for
react≥ 18@deck-io/feedback (UI / provider)
react-dom≥ 18@deck-io/feedback (UI / provider)

The server entry (@deck-io/feedback/server) does not need React.

Module format and exports

  • ESM-only package ("type": "module")
  • Node ≥ 20 (package engines)
  • Works with Next.js App Router, Vite, and other modern bundlers
SubpathEntryContents
@deck-io/feedbackdist/index.js + typesReact provider, components, hooks, client submitFeedback
@deck-io/feedback/serverdist/server/index.js + typescreateDeckFeedbackClient, server submitFeedback (no React)
// Browser / React
import { DeckProvider, FeedbackDialog } from "@deck-io/feedback";

// Node / Route Handlers / Server Actions
import { createDeckFeedbackClient } from "@deck-io/feedback/server";

Browser (React)

# Next.js (client-visible)
NEXT_PUBLIC_DECK_PUBLISHABLE_KEY=pk_...

# Vite
VITE_DECK_PUBLISHABLE_KEY=pk_...

Server (Node / Route Handlers)

# Server-only — do not use NEXT_PUBLIC_* for server submissions
DECK_PUBLISHABLE_KEY=pk_...

Create the key in Deck under Settings → Feedback Widget SDK (see Setup in Deck).

Verify the install

import {
  DeckProvider,
  FeedbackDialog,
  SDK_VERSION,
  DEFAULT_WIDGET_API_URL,
} from "@deck-io/feedback";

console.log(SDK_VERSION); // e.g. "0.2.0"
console.log(DEFAULT_WIDGET_API_URL);

Server entry:

import {
  createDeckFeedbackClient,
  SDK_VERSION,
  DEFAULT_WIDGET_API_URL,
} from "@deck-io/feedback/server";

console.log(SDK_VERSION, DEFAULT_WIDGET_API_URL);

Next step

Setup in Deck — create a widget and publishable key.