Files
multica/packages/views/locales/en/onboarding.json
Jiayuan Zhang 591e47842d refactor(onboarding): remove starter-content kit; unify install-runtime issue across mark-onboarded paths (MUL-2438) (#2884)
* refactor(onboarding): remove starter-content kit, unify install-runtime issue across mark-onboarded paths (MUL-2438)

Drops the post-onboarding ImportStarterContent / DismissStarterContent
flow (handler + routes + StarterContentPrompt + templates + locale
strings + analytics event). The bug — web onboarding seeding 6+ starter
issues without a runtime — only existed through that path; with it gone
the source disappears.

The "install a runtime" issue from BootstrapOnboardingNoRuntime is now
the canonical no-runtime onboarding seed. The title/description and a
LockAndFindActiveDuplicate-deduped seeder move to
handler/no_runtime_issue.go, and CompleteOnboarding / CreateWorkspace /
AcceptInvitation seed it whenever the workspace has no runtime yet, so
every mark-onboarded entry point lands the user on a concrete next
step.

starter_content_state column is kept and continues to be claimed as
'imported' in all five entry points so older desktop builds (which
still render the legacy dialog on NULL) don't surface it to accounts
created after this change.

Co-authored-by: multica-agent <github@multica.ai>

* fix(onboarding): backfill starter_content_state for in-window NULL users (MUL-2438)

054 only covered pre-feature users. Anyone onboarded between then and the
starter-content kit removal could still sit at NULL, and old desktop
clients gate the legacy StarterContentPrompt on `starter_content_state
IS NULL`. The import/dismiss routes are gone, so leaving these rows NULL
would surface a dialog whose buttons 404. Mark them 'imported' to match
the new helper's claim semantics.

Co-authored-by: multica-agent <github@multica.ai>

---------

Co-authored-by: Lambda <lambda@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
2026-05-19 18:37:48 +02:00

327 lines
17 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"step_header": {
"step_of": "Step {{current}} of {{total}}"
},
"welcome": {
"wordmark": "Welcome to Multica",
"headline_line1": "Your AI teammates,",
"headline_line2": "in",
"headline_emphasis": "one workspace.",
"lede": "Assign them work like you'd assign a colleague — they pick it up, update status, and comment when done.",
"lede_web": "Desktop bundles the runtime — nothing to install. Continue on web to connect your own CLI.",
"lede_desktop": "By the end, a real agent will be replying to your first issue.",
"download_desktop": "Download Desktop",
"continue_on_web": "Continue on web",
"start_exploring": "Start exploring",
"skip_existing": "I've done this before",
"illustration_caption": "Every issue, every thread, every decision — shared by your team and agents.",
"illustration": {
"card1_actor_name": "You",
"card1_actor_initial": "N",
"card1_body_prefix": " can you draft a short launch post? Pull from ",
"card1_body_suffix": "'s interview findings.",
"card1_mention_content": "@Content Agent",
"card1_mention_research": "@Research Agent",
"card2_actor_name": "Content Agent",
"card2_body": "On it. Pulling Research's quotes, drafting around the \"time saved\" angle…",
"card3_actor_name": "Research Agent",
"card3_body": "This week's user interviews summarized — 12 calls, 4 recurring themes, 3 pull-quotes.",
"card3_timestamp": "15 min ago",
"card4_actor_name": "Review Agent",
"card4_body": "Reviewed Monday's draft — left 4 notes on tone. Standing by for the new one.",
"card5_actor_name": "Coding Agent",
"card5_body_prefix": "Shipped the export feature ",
"card5_body_suffix": " flagged. Preview link in the PR.",
"card5_mention_you": "@you",
"card5_timestamp": "just now"
}
},
"common": {
"back": "Back",
"continue": "Continue",
"skip": "Skip",
"cancel": "Cancel"
},
"questions": {
"eyebrow_about_you": "About you",
"source": {
"question": "How did you hear about Multica?",
"friends_colleagues": "Friends or colleagues",
"search": "Google / search",
"social_x": "X / Twitter",
"social_linkedin": "LinkedIn",
"social_youtube": "YouTube",
"social_misc": "Other social",
"blog_newsletter": "Blog / newsletter",
"ai_assistant": "ChatGPT / Claude / Cursor",
"from_work": "At work",
"event_conference": "Conference / meetup",
"dont_remember": "Don't remember",
"other": "Other",
"other_placeholder": "e.g. a podcast I listen to"
},
"role": {
"question": "Which best describes you?",
"engineer": "Engineer / developer",
"product": "Product manager",
"designer": "Designer",
"founder": "Founder / exec",
"marketing": "Marketing / growth",
"writer": "Writer / content",
"research": "Researcher / analyst",
"ops": "Operations / project mgmt",
"student": "Student / personal use",
"other": "Other",
"other_placeholder": "e.g. teacher, support lead"
},
"use_case": {
"question": "What do you want to use Multica for?",
"ship_code": "Ship code with AI agents",
"manage_team": "Manage tasks for my team",
"personal_tasks": "Organize my own tasks",
"plan_research": "Plan, brainstorm, research",
"write_publish": "Write, edit, publish",
"automate_ops": "Automate ops & workflows",
"evaluate": "Just exploring",
"other": "Other",
"other_placeholder": "e.g. study group coordination"
}
},
"option_card": {
"other_label": "Other",
"other_aria": "Describe something else"
},
"step_question": {
"hint_pick": "Pick one to continue — or skip if you'd rather not say.",
"hint_continue": "Looks good. Hit Continue when you're ready."
},
"runtime_aside": {
"what_eyebrow": "What's an agent runtime?",
"what_prefix": "The \"computer\" you connect is what we internally call an ",
"what_term": "agent runtime",
"what_suffix": ": a small background process on the computer paired with one AI coding tool — Claude Code, Codex, and so on. One tool, one agent runtime. The agent runtime is what actually executes the tasks your agent picks up.",
"good_eyebrow": "Good to know",
"swap_title": "Swap anytime",
"swap_body": "Each agent's runtime is just a setting. Change it whenever you want.",
"add_more_title": "Add more later",
"add_more_body": "You can connect another computer for a teammate, or a dedicated one per agent.",
"learn_more": "Learn about agent runtimes →"
},
"cli_install": {
"copy_aria": "Copy",
"intro": "You'll need an agent runtime on this computer (Claude Code, Codex, Cursor, …) for it to run your agent. Also works on servers and remote dev boxes.",
"step1_label": "Install the Multica CLI",
"step2_label": "Start the daemon"
},
"cloud_waitlist": {
"intro_main": "Cloud runtimes aren't live yet. Leave your email and we'll reach out when they are.",
"intro_warning": "Heads-up: agents can't execute tasks without a runtime — if you hit Skip now, your workspace is read-only until you come back and install one.",
"email_label": "Email",
"email_placeholder": "you@work.com",
"reason_label": "Why cloud?",
"optional": "Optional",
"reason_placeholder": "e.g. we want agents running 24/7, or my team works across different devices.",
"join": "Join waitlist",
"on_list": "You're on the list",
"success_toast": "You're on the list. We'll email when cloud runtimes are live.",
"failed_toast": "Failed to join waitlist"
},
"first_issue": {
"error_title": "Something went wrong",
"retry": "Retry",
"retry_failed": "Retry failed",
"finishing": "Finishing up",
"opening": "Almost there — opening your workspace."
},
"step_agent": {
"eyebrow": "Your first agent",
"headline": "Meet your first teammate.",
"lede_prefix": "Your answers point to a ",
"lede_suffix": ". Pick whichever of the four fits you — each template ships ready to take its first issue. You can retune its instructions from the agent settings page later.",
"footer_hint": "One agent is enough to start. Add more from the sidebar later.",
"create_action": "Create {{name}}",
"create_failed": "Failed to create agent",
"recommended_badge": "Recommended",
"templates": {
"coding": {
"label": "Coding Agent",
"blurb": "Writes, refactors, and ships code. Reads your repo.",
"instructions": "You are a Coding Agent on a product team. Pick up coding issues — implement features, fix bugs, write tests, and open pull requests. Read the repository before you start, follow existing code conventions, and keep diffs focused. Ask for clarification when the acceptance criteria are ambiguous."
},
"planning": {
"label": "Planning Agent",
"blurb": "Breaks down work, drafts specs, keeps the board tidy.",
"instructions": "You are a Planning Agent. Turn loose ideas and open issues into scoped, ready-to-execute work: break them down into subtasks, write acceptance criteria, and propose owners and sequencing. Prefer clarity over speed. When blocked by missing context, ask one specific question rather than guessing."
},
"writing": {
"label": "Writing Agent",
"blurb": "Drafts, summarizes, researches. Long-form friendly.",
"instructions": "You are a Writing Agent. Draft documents, summarize long content, and research topics on the web when needed. Structure your output as finished prose a reader can use directly — not an outline. Cite sources when you draw from them. Match the tone the user establishes in the issue."
},
"assistant": {
"label": "Assistant",
"blurb": "General-purpose. Good default when the task is unclear.",
"instructions": "You are a general-purpose teammate. Handle varied tasks — light coding, writing, research, planning — and stay pragmatic about scope. When the task is ambiguous, ask one clarifying question before diving in. Default to short, useful outputs over exhaustive ones."
}
},
"about_eyebrow": "What's an agent",
"about_headline": "An AI teammate that lives in your workspace.",
"about_body": "Agents show up in every assignee picker, just like any other colleague — except they can work 24/7 on whatever runtime you give them.",
"ways_eyebrow": "Ways to work with an agent",
"way_assign_title": "Assign it an issue",
"way_assign_body": "It picks up the task and reports back in the thread.",
"way_mention_title": "@mention in a comment",
"way_mention_body": "Pull it into a conversation for a quick take.",
"way_chat_title": "Chat one-on-one",
"way_chat_body": "Ask quick questions without creating an issue.",
"way_autopilot_title": "Put it on Autopilot",
"way_autopilot_body": "Daily triage, weekly digest, monthly audit — on a schedule.",
"add_more_hint": "Add more agents anytime. A small team of specialized agents beats one jack-of-all-trades.",
"docs_link": "Creating your first agent →"
},
"step_teammate": {
"eyebrow": "First teammate",
"headline": "Create your first teammate: Multica Helper",
"lede": "Multica Helper is a starter agent connected to {{runtime}}. It will open your first guided issue and help you learn the core workflow.",
"avatar_label": "Multica Helper avatar",
"name": "Multica Helper",
"role": "Onboarding guide",
"point_issue": "Starts from one onboarding issue",
"point_context": "Uses your workspace context and issue details",
"point_customize": "You can rename or replace it later",
"footer_hint": "We'll create one agent and one onboarding issue.",
"create_action": "Create Multica Helper",
"create_failed": "Failed to create Multica Helper"
},
"step_workspace": {
"eyebrow_first": "Your first workspace",
"eyebrow_resume": "Pick up or start fresh",
"headline_first": "Name your workspace.",
"headline_resume": "Continue with {{name}}, or start another.",
"lede_first": "A workspace is where your issues, agents, and projects live. You can invite teammates or spin up more workspaces later.",
"lede_resume": "Resume setup with the workspace you already have, or create a new one alongside it — you can belong to any number of workspaces.",
"name_label": "Workspace name",
"name_placeholder": "Acme Inc, My Lab, Side Projects…",
"url_label": "URL",
"slug_placeholder": "acme",
"issue_prefix_label": "Issue prefix",
"issue_prefix_prefix": "Issues will look like ",
"issue_prefix_suffix": ". You can change this later in settings.",
"create_new_title": "Create a new workspace",
"create_new_subtitle": "Start fresh — a separate space for a different side of your work.",
"hint_opening": "Opening {{name}}.",
"hint_creating": "Creating {{name}}.",
"hint_creating_pending": "Creating {{name}}…",
"hint_creating_fallback": "your workspace",
"hint_name_first": "Name your workspace to create it.",
"hint_pick": "Pick your workspace or start a new one.",
"cta_open": "Open {{name}}",
"cta_create_named": "Create {{name}}",
"cta_create_workspace": "Create workspace",
"cta_creating": "Creating…",
"slug_format_error": "Only lowercase letters, numbers, and hyphens",
"slug_taken_error": "That workspace URL is already taken.",
"slug_reserved_error": "That workspace URL is reserved and cannot be used.",
"slug_conflict_toast": "Choose a different workspace URL",
"create_failed_toast": "Failed to create workspace",
"side_create_eyebrow": "What lives inside a workspace",
"side_existing_eyebrow": "Your workspace",
"side_things_eyebrow": "Things you'll do here",
"side_next_eyebrow": "What's next",
"side_preview_name": "Your workspace",
"side_preview_slug": "workspace",
"perk_assign": "Assign issues to agents like you would a teammate",
"perk_chat": "Chat with any agent without creating an issue",
"perk_invite": "Invite teammates — they see only this workspace",
"perk_switch": "Switch to other workspaces anytime from the top-left",
"next_runtime": "Connect a computer so your agents have somewhere to run",
"next_agent": "Create Multica Helper from your connected runtime",
"next_starter": "Open one onboarding issue for your next step",
"preview": {
"inbox_label": "Inbox",
"inbox_meta": "your notifications",
"issues_label": "Issues",
"issues_meta": "shared task board",
"agents_label": "Agents",
"agents_meta": "your AI teammates",
"projects_label": "Projects",
"projects_meta": "group related issues",
"autopilot_label": "Autopilot",
"autopilot_meta": "scheduled automation",
"runtimes_label": "Runtimes",
"runtimes_meta": "where agents run",
"skills_label": "Skills",
"skills_meta": "reusable playbooks",
"more_label": "And more",
"more_meta": "and more"
}
},
"step_runtime": {
"scanning_headline": "Connecting this computer…",
"scanning_lede_prefix": "Your agent works through an AI coding tool you already have — like ",
"scanning_lede_suffix": ", and others. We're checking this computer for ones you've installed.",
"found_headline": "This computer is connected. Pick an agent runtime.",
"found_lede": "These are the agent runtimes we found on this computer. Pick one for your first agent — you can switch or add more later.",
"runtime_count_one": "{{count}} agent runtime",
"runtime_count_other": "{{count}} agent runtimes",
"status_all_online": "all online",
"status_none_online": "none online",
"status_n_online": "{{count}} online",
"online_label": "online",
"offline_label": "offline",
"empty_headline": "No agent runtime found on this computer yet.",
"empty_lede_prefix": "An agent runtime is an AI coding tool we connect to — like ",
"empty_lede_suffix": ". Install one and refresh, or pick a path below.",
"empty_skip_title": "Skip for now",
"empty_skip_subtitle": "Enter your workspace in read-only mode. Your agent can't run tasks until an agent runtime is connected on this computer — but you can still browse, plan, and invite teammates.",
"empty_skip_action": "Skip",
"empty_waitlist_title": "Use a cloud computer",
"empty_waitlist_subtitle": "We'll run a computer for you in the cloud. Not live yet.",
"empty_waitlist_action": "Coming soon",
"skip": "Skip for now",
"refresh": "Refresh",
"refreshing": "Refreshing…",
"hint_selected": "Selected: {{name}}",
"hint_pick": "Pick an agent runtime above to continue.",
"hint_waiting": "Waiting for the first result…",
"hint_skip_or_refresh": "Refresh after installing one, or skip to enter your workspace."
},
"step_platform": {
"eyebrow": "Connect a computer",
"headline": "Connect a computer to run your agent.",
"lede": "Your agent runs on a real computer that you connect to Multica. Pick how you want to connect one.",
"hint_default": "Pick a way to connect — or skip and connect a computer later.",
"hint_downloaded": "Finish setup on the download page, then come back to this tab.",
"download_title": "Use this computer",
"download_title_after": "Opening the download page…",
"download_subtitle": "Install our desktop app to connect this computer. Zero setup — pick your platform on the next page.",
"download_subtitle_after": "Opened in a new tab. Pick your installer there, then finish setup on desktop.",
"download_button": "Download",
"cli_title": "Connect from the terminal",
"cli_subtitle": "Connect a server, remote dev box, or any headless computer. Terminal required.",
"cli_action": "Show steps",
"cloud_title": "Use a cloud computer",
"cloud_subtitle": "We'll run a computer for you in the cloud. Not live yet.",
"cloud_action": "Coming soon",
"cli_dialog_title": "Connect from the terminal",
"cli_dialog_description": "Same connection as Desktop, set up from the terminal. Use it for servers, remote dev boxes, or any headless computer.",
"cli_dialog_pick_hint": "Pick a computer above.",
"cli_dialog_connect": "Connect & continue",
"runtimes_connected_one": "{{count}} computer connected",
"runtimes_connected_other": "{{count}} computers connected",
"live_listening": "Live · Waiting for your computer",
"stage_normal_prefix": "Run the command above. As soon as ",
"stage_normal_suffix": " finishes browser sign-in, your computer will appear here automatically (usually 1030 seconds).",
"stage_midway_prefix": "Still listening. Make sure you finished the browser tab that ",
"stage_midway_suffix": " opened — it needs you to approve sign-in before your computer can connect.",
"stage_slow_prefix": "Taking longer than usual. Check the terminal where you ran ",
"stage_slow_suffix": " for errors.",
"stage_stalled_prefix": "Nothing coming through yet. If you're not comfortable with the terminal, ",
"stage_stalled_term": "Desktop",
"stage_stalled_suffix": " is the smoother path — one click and this computer is connected. Close this dialog and pick Desktop, or hit Skip to continue."
},
"errors": {
"skip_failed": "Failed to finish onboarding"
}
}