conciv

Configuration

The conciv() options and the common ways to set them.

Pass options to the plugin. Every field is optional.

vite.config.ts
import conciv from '@conciv/it/plugin/vite'

conciv({
  harness: 'claude',
  enabled: process.env.NODE_ENV !== 'production',
})

Options

Prop

Type

claudePath and claudeSessionId are deprecated. Use harnessBin and sessionId.

Common tasks

Gate to dev only

conciv({enabled: process.env.NODE_ENV !== 'production'})

Switch harness

conciv({harness: 'codex'})

See Harnesses for the full list.

Widget layouts

Two layouts ship, both on by default: the corner modal and the top drop-down quickTerminal. Configure or disable each under widget.

conciv({widget: {modal: {position: 'top-left'}}}) // move the corner button
conciv({widget: {quickTerminal: {hotkey: ['Mod+`', 'Control+k']}}}) // set the hotkey(s)
conciv({widget: {quickTerminal: false}}) // corner modal only
conciv({widget: {modal: false}}) // quick terminal only

modal.position is one of top-left, top-right, middle-left, middle-right, bottom-left, bottom-right (default), and the button is also draggable. See the Quick Terminal guide for the drop-down layout.

Override the binary

conciv({harnessBin: '/usr/local/bin/claude'})

Custom system prompt

conciv({systemPrompt: 'Prefer Tailwind classes over inline styles.'})

widgetUrl

On webpack and Rspack the plugin does not inject the widget. Set widgetUrl to the served widget bundle so the script lands on your page.

conciv({widgetUrl: '/conciv-widget.js'})

On this page