Configure is ready

Paste this to your coding agent.

Cursor, Claude Code, Windsurf — they read configure.dev/skill.md, ask which path you want, and wire Configure into the agent you already have.

Prompt for your coding agent
Read configure.dev/skill.md. First ask whether to integrate Configure into an existing agent or build a new one. Prefer in-place integration for an existing agent. My .env already has CONFIGURE_API_KEY, CONFIGURE_PUBLISHABLE_KEY, and CONFIGURE_AGENT - use them. Do not rerun setup unless keys are missing.
Agent
Developer
Your keys
No keys yet.
Install Configure

Run this in your project root before pasting the prompt. The coding agent will pick up from there.

npm install configure
1Install
npm install configure
2Authenticate users in the browser

Add a Personalization entry or Link trigger. It handles phone OTP and fires configure:linked with an agent-scoped token.

<script src="https://configure.dev/js/configure.js"></script> <div id="configure-entry"></div> <script> Configure.personalizationButton({ el: '#configure-entry', publishableKey: 'pk_your_publishable_key', agent: 'your-agent', agentName: 'Your Agent', onImage: () => openImagePicker(), onFile: () => openFilePicker() }); document.addEventListener('configure:linked', (e) => { const { token } = e.detail; fetch('/api/configure/session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token }) }); }); </script>
3Use the profile server-side

Send the Link token to your backend. Read the approved profile there, pass formatted profile context to the model, expose Configure tools, and commit after read-backed turns.

import { Configure, toOpenAIFunctions } from 'configure'; const configure = new Configure({ apiKey: process.env.CONFIGURE_API_KEY, agent: process.env.CONFIGURE_AGENT }); app.post('/api/configure/session', requireUser, (req, res) => { const { token } = req.body; if (!token) return res.status(400).json({ error: 'missing_token' }); req.session.configureToken = token; res.sendStatus(204); }); app.post('/api/chat', async (req, res) => { const { messages } = req.body; const token = req.session.configureToken || req.body.token; if (!token) return res.status(401).json({ error: 'configure_not_linked' }); const profile = configure.profile({ token }); const read = await profile.read(); const response = await model.run({ messages: [ { role: 'system', content: read.profile.format({ guidelines: true }) }, ...messages ], tools: toOpenAIFunctions(profile.tools()), executeTool: profile.executeTool }); await profile.commit({ messages, response }); res.json({ text: response.text }); });
Loading agents...

Secret keys have full API access. Use server-side only.

Save this key now — it won't be shown again.

Each app has one client. npx configure setup --users creates it for localhost; add your deployed callback here so the same CONFIGURE_OAUTH_CLIENT_ID works in every environment.

HTTPS, or localhost while developing. This must match the redirect your app sends, character for character.

Save this secret now — it won't be shown again. Keep it server-side; rotate it here if it is lost.

Loading...
Loading...
Loading...
Loading...
Loading...
Time Event Status User Agent Duration
Loading...
App Details
App Name
Developer ID
Member Since
Account
Email
Phone Verification
Checking...
Loading GTM data...
Sales Pipeline
Loading leads...
0 selected