Full guided installation of the Velt collaboration SDK into a React or Next.js project.
Full guided installation of the Velt collaboration SDK into a React or Next.js project.
Use when the user wants to set up Velt from scratch, add Velt to an existing project, or install multiple Velt features at once.
install_velt_interactive MCP tool in guided mode with stage: "plan".
awaiting_discovery_consent: ask the user YES/NO for codebase scanning.awaiting_discovery_verification: show scan results, ask the user to verify.awaiting_manual_wiring_answers: present the questionnaire to the user.plan_generated: show the plan and ask for approval.npm run build to verify. If the build fails, read the error, fix it, and rebuild.install_velt_interactive with stage: "apply" for final validation.After implementing SEM, verify ALL of the following before reporting success. The core-setup rule has 4 required sections — partial implementation breaks SEM:
VeltCollaboration.tsx MUST contain:
useLiveStateSyncUtils() AND useVeltInitState() hooksenableSingleEditorMode({ customMode: false, singleTabEditor: true })enableDefaultSingleEditorUI()singleEditorModeContainerIds(['document-content']) — scopes SEM to content areaenableAutoSyncState() — enables live content syncsetUserAsEditor() auto-claim effect with all 3 error codes handled<VeltSingleEditorModePanel shadowDom={false} />className="velt-toolbar" (CSS class, not inline styles)Document page MUST contain:
DocumentContent as a SEPARATE inner component rendered INSIDE VeltProvideruseUserEditorState() + useEditor() hooks inside DocumentContent<article id="document-content" contentEditable suppressContentEditableWarning data-velt-sync-access="true" data-velt-sync-state="true">Playground page MUST exist:
/app/playground/page.tsx with side-by-side iframes for Alice (user-1) and Bob (user-2)CSS MUST include:
.velt-toolbar class with fixed positioning in globals.css.velt-toolbar velt-*-container { background: transparent !important; }If any item above is missing, go back and implement it before proceeding to the "apply" stage.
After implementing self-hosting, verify ALL of the following:
VeltDataProviders.ts MUST contain:
{ data, success, statusCode } formatVeltProvider MUST have:
dataProviders={{ comment, user, attachment, reaction }} propAPI routes MUST exist:
app/api/velt/comments/get/route.ts, comments/save/route.ts, comments/delete/route.tsapp/api/velt/users/get/route.ts and app/api/velt/users/save/route.ts (save persists user PII on login)app/api/velt/attachments/save/route.ts and attachments/delete/route.tsapp/api/velt/attachments/get/[attachmentId]/route.ts (serves stored files as binary)app/api/velt/reactions/get/route.ts, reactions/save/route.ts, reactions/delete/route.tsDatabase store MUST have:
app/api/velt/store.tsEnvironment:
DATABASE_URL in .env.localIf any item above is missing, go back and implement it before proceeding to the "apply" stage.
After implementing activity logs, verify:
Activity Log MUST use the pre-built component:
<VeltActivityLog /> imported from @veltdev/react — do NOT build a custom feed from useAllActivities@veltdev/react version is 5.0.2-beta.13 or later (required for VeltActivityLog)Console MUST be configured:
If any item above is missing, go back and implement it before proceeding to the "apply" stage.