Everything you need to build with It Just Vibes
Guides, SDK reference, MCP integration, CLI, and AI skill docs — all in one place.
Getting Started
Deposit a widget from Claude or ChatGPT, share it, and make it yours.
Widgets, forking, shared state, ownership, visibility, and the runner sandbox.
SDK Reference
Every vibes.* method, with inline examples.
vibes.save
Persist a value under a key for the current user and widget.
await vibes.save('score', 42)
await vibes.save('prefs', { theme: 'dark', level: 3 })Promise<void>— Resolves when the value is persistedvibes.load
Retrieve a previously saved value. Returns undefined if the key does not exist.
const score = await vibes.load('score') // 42
const prefs = await vibes.load('prefs') // { theme: 'dark', level: 3 }
const miss = await vibes.load('unknown') // undefinedPromise<T | undefined>— The stored value, or undefined if not foundvibes.shared.get
Read a shared state value visible to all users of this widget.
const leaderboard = await vibes.shared.get('leaderboard')Promise<T | undefined>— The shared value, or undefined if not setvibes.ai.set
Write a value into the widget's agent-visible state namespace.
await vibes.ai.set('context', { lastQuery: 'find red cards' })Promise<void>— Resolves when the agent state value is storedMCP & Distribution
Connect your AI tool, track source URLs, and automate deposits.
tool: deposit_widget
Deposit an HTML or React widget from your AI assistant via the MCP connector.
// In Claude Desktop (after connecting itjustvibes.com/api/mcp)
depositWidget({
title: 'World Cup Tracker',
code: '<html>...</html>',
visibility: 'public'
}){ url: string }— Permanent share URL for the deposited widgetRelay
Real-time pub/sub between widgets and users. One widget publishes; all subscribers see it instantly.
vibes.relay.publish
Broadcast a message on a named channel to all active subscribers.
await vibes.relay.publish('game-events', {
type: 'goal',
team: 'home',
minute: 67
})Promise<void>— Resolves after the message is delivered to the relayvibes.relay.subscribe
Listen for messages on a channel. Callback fires on each received event.
vibes.relay.subscribe('game-events', (event) => {
console.log('New event:', event)
updateScoreboard(event)
})() => void— Unsubscribe function — call it to stop listeningCLI Reference
Install the `vibes` CLI to publish, share, and manage widgets from any shell or AI tool.
vibes publish
Publish a widget file directly from your terminal.
vibes publish my-widget.html --title "World Cup Tracker"
# → https://itjustvibes.com/yourhandle/world-cup-trackerexit 0— Prints permanent share URL on successvibes share
Generate or update the share URL for an existing widget.
vibes share world-cup-tracker --visibility publicexit 0— Prints updated share URLAI Skill
Teach your AI assistant to publish and share widgets with a single command.
npx skills add itjustvibes
Install the It Just Vibes skill into your AI assistant in one command.
npx skills add itjustvibes
# Your AI can now: publish widgets, share URLs, check widget statusexit 0— Skill installed and ready to use in your AI assistant