Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions apps/docs/self-hosting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,19 @@ recommendations. Detailed provider instructions and credential entry open in a
dialog from the source-control card; Roomote never asks for credentials in
chat.

The conversation also asks briefly about the tools your team uses for
documents, monitoring, and project tracking, one topic at a time.
You can skip these questions. The optional integrations card lists only supported
tools you said you use and opens their secure configuration without leaving setup.
If there are no eligible matches, setup moves on without showing suggestions.
Tools without a built-in connector are not presented as supported. Use
**Keep going** to move on without connecting; you can connect tools later in
Settings. Integration choices do not change the starter tasks offered.
Services that are also source-control, communications, inference, or sandbox
providers are excluded from this optional step; their separate setup is unchanged.
The Vercel deployments integration remains available separately from Vercel AI
Gateway inference.

Setup completes once inference and a sandbox provider are ready, source control
is successfully configured, and at least one repository has synchronized.
Roomote then offers preselected starter tasks in one structured multi-select
Expand Down
35 changes: 6 additions & 29 deletions apps/web/src/app/(authenticated)/home/OnboardingCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@ import { useEffect, useRef, useState, type ReactNode } from 'react';
import { useSearchParams, useRouter } from 'next/navigation';
import { AnimatePresence, motion } from 'motion/react';
import { toast } from 'sonner';
import { MCP_INTEGRATIONS } from '@roomote/types';
import {
MCP_INTEGRATIONS,
ADMIN_INTEGRATION_ORDER,
COMMUNICATION_PROVIDER_ORDER,
SOURCE_CONTROL_PROVIDER_ORDER,
} from '@roomote/types';

import { useAuthorizedUser } from '@/hooks/useUser';
import {
Expand Down Expand Up @@ -50,19 +55,6 @@ import { TelegramLinkAccountStep } from '@/components/settings/TelegramLinkAccou
const DISMISSED_KEY = 'OnboardingCardsDismissedByOrg';
const DISMISSED_DEPLOYMENT_KEY = 'deployment';

const ADMIN_INTEGRATION_ORDER = [
'notion',
'sentry',
'linear',
'jira',
'monday',
'vercel',
'supabase',
'posthog',
'grafana',
'asana',
] as const;

const PERSONAL_MCP_INTEGRATION_ORDER = ['monday', 'supabase'] as const;

const CARD_EXIT_TRANSITION = {
Expand All @@ -82,21 +74,6 @@ const CARD_ANIMATION = {
exit: { opacity: 0, y: -20, transition: CARD_EXIT_TRANSITION },
} as const;

const COMMUNICATION_PROVIDER_ORDER = [
'slack',
'microsoft',
'telegram',
'discord',
] as const;

const SOURCE_CONTROL_PROVIDER_ORDER = [
'github',
'gitlab',
'gitea',
'bitbucket',
'ado',
] as const;

type CardConfig = {
id: string;
icon: ReactNode;
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ import {
SessionUserInputCard,
} from './SessionUserInputCard';
import { SetupStarterTasksCard } from './setup/SetupStarterTasksCard';
import { SetupIntegrationsCard } from './setup/SetupIntegrationsCard';
import { SESSION_HEADER_CONTENT_CLASS_NAME } from './session-header-layout';

import {
Expand Down Expand Up @@ -855,6 +856,12 @@ export function FastSessionTranscript({
sessionId={sessionId}
request={pendingInputRequest}
/>
) : pendingInputRequest.preset === 'setup_integrations' ? (
<SetupIntegrationsCard
key={pendingInputRequest.requestId}
sessionId={sessionId}
request={pendingInputRequest}
/>
) : (
<SessionUserInputCard
sessionId={sessionId}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import { useMemo, useState } from 'react';
import {
parseAcpRequestUserInputPayload,
SETUP_INTEGRATION_CATEGORIES,
getSetupIntegrationQuestionId,
type AcpRequestUserInputPayload,
} from '@roomote/types';

Expand Down Expand Up @@ -356,7 +358,14 @@ export function SessionUserInputCard({
})
}
>
Cancel
{request.questions.some((question) =>
SETUP_INTEGRATION_CATEGORIES.some(
(category) =>
getSetupIntegrationQuestionId(category.id) === question.id,
),
)
? 'Skip tool setup'
: 'Cancel'}
</Button>
) : null}
<Button
Expand Down
Loading
Loading