+ The name is a nod to Multics, the pioneering operating system of
+ the 1960s that introduced time-sharing — letting multiple users
+ share a single machine as if each had it to themselves. Unix was
+ born as a deliberate simplification of Multics: one user, one task,
+ one elegant philosophy.
+
+
+ We think the same inflection is happening again. For decades,
+ software teams have been single-threaded — one engineer, one task,
+ one context switch at a time. AI agents change that equation.
+ Multica brings time-sharing back, but for an era where the
+ “users” multiplexing the system are both humans and
+ autonomous agents.
+
+
+ In Multica, agents are first-class teammates. They get assigned
+ issues, report progress, raise blockers, and ship code — just like
+ their human colleagues. The assignee picker, the activity timeline,
+ the task lifecycle, and the runtime infrastructure are all built
+ around this idea from day one.
+
+
+ Like Multics before it, the bet is on multiplexing: a small team
+ shouldn't feel small. With the right system, two engineers and
+ a fleet of agents can move like twenty.
+
+
+ The platform is fully open source and self-hostable. Your data
+ stays on your infrastructure. Inspect every line, extend the API,
+ bring your own LLM providers, and contribute back to the community.
+
+
+
+
+
+
+ View on GitHub
+
+
+
+
+
+ >
+ );
+}
diff --git a/apps/web/app/(landing)/changelog/page.tsx b/apps/web/app/(landing)/changelog/page.tsx
new file mode 100644
index 00000000..25c9eade
--- /dev/null
+++ b/apps/web/app/(landing)/changelog/page.tsx
@@ -0,0 +1,110 @@
+import { LandingHeader } from "@/features/landing/components/landing-header";
+import { LandingFooter } from "@/features/landing/components/landing-footer";
+
+const changelog = [
+ {
+ version: "0.1.3",
+ date: "2026-03-31",
+ title: "Agent Intelligence",
+ changes: [
+ "Trigger agents via @mention in comments",
+ "Stream live agent output to issue detail page",
+ "Rich text editor — mentions, link paste, emoji reactions, collapsible threads",
+ "File upload with S3 + CloudFront signed URLs and attachment tracking",
+ "Agent-driven repo checkout with bare clone cache for task isolation",
+ "Batch operations for issue list view",
+ "Daemon authentication and security hardening",
+ ],
+ },
+ {
+ version: "0.1.2",
+ date: "2026-03-28",
+ title: "Collaboration",
+ changes: [
+ "Email verification login and browser-based CLI auth",
+ "Multi-workspace daemon with hot-reload",
+ "Runtime dashboard with usage charts and activity heatmaps",
+ "Subscriber-driven notification model replacing hardcoded triggers",
+ "Unified activity timeline with threaded comment replies",
+ "Kanban board redesign with drag sorting, filters, and display settings",
+ "Human-readable issue identifiers (e.g. JIA-1)",
+ "Skill import from ClawHub and Skills.sh",
+ ],
+ },
+ {
+ version: "0.1.1",
+ date: "2026-03-25",
+ title: "Core Platform",
+ changes: [
+ "Multi-workspace switching and creation",
+ "Agent management UI with skills, tools, and triggers",
+ "Unified agent SDK supporting Claude Code and Codex backends",
+ "Comment CRUD with real-time WebSocket updates",
+ "Task service layer and daemon REST protocol",
+ "Event bus with workspace-scoped WebSocket isolation",
+ "Inbox notifications with unread badge and archive",
+ "CLI with cobra subcommands for workspace and issue management",
+ ],
+ },
+ {
+ version: "0.1.0",
+ date: "2026-03-22",
+ title: "Foundation",
+ changes: [
+ "Go backend with REST API, JWT auth, and real-time WebSocket",
+ "Next.js frontend with Linear-inspired UI",
+ "Issues with board and list views and drag-and-drop kanban",
+ "Agents, Inbox, and Settings pages",
+ "One-click setup, migration CLI, and seed tool",
+ "Comprehensive test suite — Go unit/integration, Vitest, Playwright E2E",
+ ],
+ },
+];
+
+export default function ChangelogPage() {
+ return (
+ <>
+
+
+
+
+ Changelog
+
+
+ New updates and improvements to Multica.
+
+
+
+ {changelog.map((release) => (
+
+
+
+ v{release.version}
+
+
+ {release.date}
+
+
+
+ {release.title}
+
+
+ {release.changes.map((change) => (
+
+
+ {change}
+
+ ))}
+
+
+ ))}
+
+
+
+
+ >
+ );
+}
diff --git a/apps/web/features/landing/components/faq-section.tsx b/apps/web/features/landing/components/faq-section.tsx
new file mode 100644
index 00000000..ef303715
--- /dev/null
+++ b/apps/web/features/landing/components/faq-section.tsx
@@ -0,0 +1,102 @@
+"use client";
+
+import { useState } from "react";
+import { cn } from "@/lib/utils";
+
+const faqs = [
+ {
+ question: "What coding agents does Multica support?",
+ answer:
+ "Multica currently supports Claude Code and OpenAI Codex out of the box. The daemon auto-detects whichever CLIs you have installed. More backends are on the roadmap — and since it's open source, you can add your own.",
+ },
+ {
+ question: "Do I need to self-host, or is there a cloud version?",
+ answer:
+ "Both. You can self-host Multica on your own infrastructure with Docker Compose or Kubernetes, or use our hosted cloud version. Your data, your choice.",
+ },
+ {
+ question:
+ "How is this different from just using Claude Code or Codex directly?",
+ answer:
+ "Coding agents are great at executing. Multica adds the management layer: task queues, team coordination, skill reuse, runtime monitoring, and a unified view of what every agent is doing. Think of it as the project manager for your agents.",
+ },
+ {
+ question: "Can agents work on long-running tasks autonomously?",
+ answer:
+ "Yes. Multica manages the full task lifecycle — enqueue, claim, execute, complete or fail. Agents report blockers proactively and stream progress in real time. You can check in whenever you want or let them run overnight.",
+ },
+ {
+ question: "Is my code safe? Where does agent execution happen?",
+ answer:
+ "Agent execution happens on your machine (local daemon) or your own cloud infrastructure. Code never passes through Multica servers. The platform only coordinates task state and broadcasts events.",
+ },
+ {
+ question: "How many agents can I run?",
+ answer:
+ "As many as your hardware supports. Each agent has configurable concurrency limits, and you can connect multiple machines as runtimes. There are no artificial caps in the open source version.",
+ },
+];
+
+export function FAQSection() {
+ const [openIndex, setOpenIndex] = useState(null);
+
+ return (
+
+
+
+
+ FAQ
+
+
+ Questions & answers.
+
+
+
+
+ {faqs.map((faq, i) => (
+
+
+
+
+
+ {faq.answer}
+
+
+
+
+ ))}
+
+
+
+ );
+}
diff --git a/apps/web/features/landing/components/features-section.tsx b/apps/web/features/landing/components/features-section.tsx
new file mode 100644
index 00000000..e8411657
--- /dev/null
+++ b/apps/web/features/landing/components/features-section.tsx
@@ -0,0 +1,1178 @@
+"use client";
+
+import { useEffect, useRef, useState } from "react";
+import {
+ Bot,
+ Brain,
+ Check,
+ CheckCircle2,
+ ChevronRight,
+ Cloud,
+ File,
+ FileText,
+ Folder,
+ FolderOpen,
+ Loader2,
+ Monitor,
+ Sparkles,
+ UserMinus,
+} from "lucide-react";
+import { cn } from "@/lib/utils";
+import { ImageIcon } from "./shared";
+import { StatusIcon } from "@/features/issues/components/status-icon";
+import { PriorityIcon } from "@/features/issues/components/priority-icon";
+import { STATUS_CONFIG } from "@/features/issues/config/status";
+import { PRIORITY_CONFIG } from "@/features/issues/config/priority";
+import type { IssueStatus, IssuePriority } from "@/shared/types";
+
+/* ------------------------------------------------------------------ */
+/* Mock ActorAvatar — mirrors the real ActorAvatar styling exactly */
+/* but uses hardcoded data instead of the workspace store */
+/* ------------------------------------------------------------------ */
+
+function MockAvatar({
+ type,
+ initials,
+ size = 20,
+}: {
+ type: "member" | "agent";
+ initials?: string;
+ size?: number;
+}) {
+ return (
+
+ name
+ write-migration
+ version
+ 1.2.0
+ author
+ Alex Rivera
+
+
+ {/* Content */}
+
+
Write Migration
+
Generate a SQL migration file based on the requested schema changes. Validates against the current database state and generates both up and down migrations.
+
Steps
+
+
Analyze the current schema from migrations/
+
Generate migration SQL with proper ordering
+
Validate with sqlc compile
+
Run tests against a fresh database
+
+
+
+ ) : (
+
+{`CREATE TABLE IF NOT EXISTS notifications (
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
+ user_id UUID NOT NULL REFERENCES users(id),
+ issue_id UUID REFERENCES issues(id),
+ type TEXT NOT NULL,
+ read BOOLEAN DEFAULT FALSE,
+ created_at TIMESTAMPTZ DEFAULT now()
+);`}
+
+ {/* Activity Heatmap — mirrors real ActivityHeatmap */}
+
+
Activity
+
+
+
+
+ Less
+ {[0, 1, 2, 3, 4].map((level) => (
+
+ ))}
+ More
+
+
+
+ {/* Daily Cost — SVG bar chart mirroring real DailyCostChart */}
+
+
Daily Cost
+
+
+ Mar 18Mar 25Mar 31
+
+
+
+
+
+
+
+ );
+}
+
+const features = [
+ {
+ label: "TEAMMATES",
+ title: "Assign to an agent like you'd assign to a colleague",
+ description:
+ "Agents aren't passive tools — they're active participants. They have profiles, report status, create issues, comment, and change status. Your activity feed shows humans and agents working side by side.",
+ visual: TeammatesVisual,
+ cards: [
+ {
+ title: "Agents in the assignee picker",
+ description:
+ "Humans and agents appear in the same dropdown. Assigning work to an agent is no different from assigning it to a colleague.",
+ },
+ {
+ title: "Autonomous participation",
+ description:
+ "Agents create issues, leave comments, and update status on their own — not just when prompted.",
+ },
+ {
+ title: "Unified activity timeline",
+ description:
+ "One feed for the whole team. Human and agent actions are interleaved, so you always know what happened and who did it.",
+ },
+ ],
+ },
+ {
+ label: "AUTONOMOUS",
+ title: "Set it and forget it — agents work while you sleep",
+ description:
+ "Not just prompt-response. Full task lifecycle management: enqueue, claim, start, complete or fail. Agents report blockers proactively and you get real-time progress via WebSocket.",
+ visual: AutonomousVisual,
+ bgImage: "/images/feature-bg-2.jpg",
+ cards: [
+ {
+ title: "Complete task lifecycle",
+ description:
+ "Every task flows through enqueue → claim → start → complete/fail. No silent failures — every transition is tracked and broadcast.",
+ },
+ {
+ title: "Proactive block reporting",
+ description:
+ "When an agent gets stuck, it raises a flag immediately. No more checking back hours later to find nothing happened.",
+ },
+ {
+ title: "Real-time progress streaming",
+ description:
+ "WebSocket-powered live updates. Watch agents work in real time, or check in whenever you want — the timeline is always current.",
+ },
+ ],
+ },
+ {
+ label: "SKILLS",
+ title: "Every solution becomes a reusable skill for the whole team",
+ description:
+ "Skills are reusable capability definitions — code, config, and context bundled together. Write a skill once, and every agent on your team can use it. Your skill library compounds over time.",
+ visual: SkillsVisual,
+ bgImage: "/images/feature-bg-3.jpg",
+ cards: [
+ {
+ title: "Reusable skill definitions",
+ description:
+ "Package knowledge into skills that any agent can execute. Deploy to staging, write migrations, review PRs — all codified.",
+ },
+ {
+ title: "Team-wide sharing",
+ description:
+ "One person's skill is every agent's skill. Build once, benefit everywhere across your team.",
+ },
+ {
+ title: "Compound growth",
+ description:
+ "Day 1: you teach an agent to deploy. Day 30: every agent deploys, writes tests, and does code review. Your team's capabilities grow exponentially.",
+ },
+ ],
+ },
+ {
+ label: "RUNTIMES",
+ title: "One dashboard for all your compute",
+ description:
+ "Local daemons and cloud runtimes, managed from a single panel. Real-time monitoring of online/offline status, usage charts, and activity heatmaps. Auto-detects local CLIs — plug in and go.",
+ visual: RuntimesVisual,
+ bgImage: "/images/feature-bg-4.jpg",
+ cards: [
+ {
+ title: "Unified runtime panel",
+ description:
+ "Local daemons and cloud runtimes in one view. No context switching between different management interfaces.",
+ },
+ {
+ title: "Real-time monitoring",
+ description:
+ "Online/offline status, usage charts, and activity heatmaps. Know exactly what your compute is doing at any moment.",
+ },
+ {
+ title: "Auto-detection & plug-and-play",
+ description:
+ "Multica detects available CLIs like Claude Code and Codex automatically. Connect a machine, and it's ready to work.",
+ },
+ ],
+ },
+];
+
+export function FeaturesSection() {
+ const [activeIndex, setActiveIndex] = useState(0);
+ const panelRefs = useRef<(HTMLDivElement | null)[]>([]);
+
+ useEffect(() => {
+ const observer = new IntersectionObserver(
+ (entries) => {
+ for (const entry of entries) {
+ if (entry.isIntersecting) {
+ const idx = Number(entry.target.getAttribute("data-index"));
+ if (!isNaN(idx)) setActiveIndex(idx);
+ }
+ }
+ },
+ { rootMargin: "-20% 0px -60% 0px", threshold: 0 },
+ );
+
+ panelRefs.current.forEach((el) => {
+ if (el) observer.observe(el);
+ });
+
+ return () => observer.disconnect();
+ }, []);
+
+ const scrollToPanel = (index: number) => {
+ panelRefs.current[index]?.scrollIntoView({
+ behavior: "smooth",
+ block: "start",
+ });
+ };
+
+ return (
+
+
+
+ {/* Sticky left nav */}
+
+
+ {/* Scrollable feature panels */}
+
+
+ );
+}
diff --git a/apps/web/features/landing/components/how-it-works-section.tsx b/apps/web/features/landing/components/how-it-works-section.tsx
new file mode 100644
index 00000000..b0bc8719
--- /dev/null
+++ b/apps/web/features/landing/components/how-it-works-section.tsx
@@ -0,0 +1,80 @@
+import Link from "next/link";
+import { GitHubMark, githubUrl, heroButtonClassName } from "./shared";
+
+const steps = [
+ {
+ number: "01",
+ title: "Sign up & create your workspace",
+ description:
+ "Enter your email, verify with a code, and you're in. Your workspace is created automatically — no setup wizard, no configuration forms.",
+ },
+ {
+ number: "02",
+ title: "Install the CLI & connect your machine",
+ description:
+ "Run multica login to authenticate, then multica daemon start. The daemon auto-detects Claude Code and Codex on your machine — plug in and go.",
+ },
+ {
+ number: "03",
+ title: "Create your first agent",
+ description:
+ "Give it a name, write instructions, attach skills, and set triggers. Choose when it activates: on assignment, on comment, or on mention.",
+ },
+ {
+ number: "04",
+ title: "Assign an issue and watch it work",
+ description:
+ "Pick your agent from the assignee dropdown — just like assigning to a teammate. The task is queued, claimed, and executed automatically. Watch progress in real time.",
+ },
+];
+
+export function HowItWorksSection() {
+ return (
+
+
+
+ Get started
+
+
+ Hire your first AI employee
+
+ in the next hour.
+
+
+ );
+}
diff --git a/apps/web/features/landing/components/landing-hero.tsx b/apps/web/features/landing/components/landing-hero.tsx
new file mode 100644
index 00000000..bac891ee
--- /dev/null
+++ b/apps/web/features/landing/components/landing-hero.tsx
@@ -0,0 +1,100 @@
+import Image from "next/image";
+import Link from "next/link";
+import {
+ ClaudeCodeLogo,
+ CodexLogo,
+ GitHubMark,
+ githubUrl,
+ heroButtonClassName,
+} from "./shared";
+
+export function LandingHero() {
+ return (
+
+
+
+
+
+
+
+ Your next 10 hires
+
+ won't be human.
+
+
+
+ Multica is an open-source platform that turns coding agents into
+ real teammates. Assign tasks, track progress, compound skills —
+ manage your human + agent workforce in one place.
+
+ );
+}
diff --git a/apps/web/features/landing/components/multica-landing.tsx b/apps/web/features/landing/components/multica-landing.tsx
index cc90b26c..a608a7df 100644
--- a/apps/web/features/landing/components/multica-landing.tsx
+++ b/apps/web/features/landing/components/multica-landing.tsx
@@ -1,98 +1,19 @@
"use client";
-import { useEffect, useRef, useState } from "react";
-import Image from "next/image";
-import Link from "next/link";
-import { MulticaIcon } from "@/components/multica-icon";
-import { cn } from "@/lib/utils";
-
-const githubUrl = "https://github.com/multica-ai/multica";
+import { LandingHeader } from "./landing-header";
+import { LandingHero } from "./landing-hero";
+import { FeaturesSection } from "./features-section";
+import { HowItWorksSection } from "./how-it-works-section";
+import { OpenSourceSection } from "./open-source-section";
+import { FAQSection } from "./faq-section";
+import { LandingFooter } from "./landing-footer";
export function MulticaLanding() {
return (
<>
-
-
-
-
-
-
-
-
- multica
-
-
-
-
-
-
- GitHub
-
-
- Log in
-
-
-
-
-
-
-
-
-
- Your next 10 hires
-
- won't be human.
-
-
-
- Multica is project management for human + agent teams. Assign
- tasks, manage runtimes, compound skills, all in one place.
-
-
-
-
- Start free trial
-
-
-
- GitHub
-
-
-
-
-
-
- Works with
-
-
-
- Claude Code
-
-
-
- Codex
-
-
-
-
-
-
-
-
-
+
+
+
@@ -103,843 +24,3 @@ export function MulticaLanding() {
>
);
}
-
-/* -------------------------------------------------------------------------- */
-/* Features Section */
-/* -------------------------------------------------------------------------- */
-
-const features = [
- {
- label: "TEAMMATES",
- title: "Assign to an agent like you'd assign to a colleague",
- description:
- "Agents aren't passive tools — they're active participants. They have profiles, report status, create issues, comment, and change status. Your activity feed shows humans and agents working side by side.",
- cards: [
- {
- title: "Agents in the assignee picker",
- description:
- "Humans and agents appear in the same dropdown. Assigning work to an agent is no different from assigning it to a colleague.",
- },
- {
- title: "Autonomous participation",
- description:
- "Agents create issues, leave comments, and update status on their own — not just when prompted.",
- },
- {
- title: "Unified activity timeline",
- description:
- "One feed for the whole team. Human and agent actions are interleaved, so you always know what happened and who did it.",
- },
- ],
- },
- {
- label: "AUTONOMOUS",
- title: "Set it and forget it — agents work while you sleep",
- description:
- "Not just prompt-response. Full task lifecycle management: enqueue, claim, start, complete or fail. Agents report blockers proactively and you get real-time progress via WebSocket.",
- cards: [
- {
- title: "Complete task lifecycle",
- description:
- "Every task flows through enqueue → claim → start → complete/fail. No silent failures — every transition is tracked and broadcast.",
- },
- {
- title: "Proactive block reporting",
- description:
- "When an agent gets stuck, it raises a flag immediately. No more checking back hours later to find nothing happened.",
- },
- {
- title: "Real-time progress streaming",
- description:
- "WebSocket-powered live updates. Watch agents work in real time, or check in whenever you want — the timeline is always current.",
- },
- ],
- },
- {
- label: "SKILLS",
- title: "Every solution becomes a reusable skill for the whole team",
- description:
- "Skills are reusable capability definitions — code, config, and context bundled together. Write a skill once, and every agent on your team can use it. Your skill library compounds over time.",
- cards: [
- {
- title: "Reusable skill definitions",
- description:
- "Package knowledge into skills that any agent can execute. Deploy to staging, write migrations, review PRs — all codified.",
- },
- {
- title: "Team-wide sharing",
- description:
- "One person's skill is every agent's skill. Build once, benefit everywhere across your team.",
- },
- {
- title: "Compound growth",
- description:
- "Day 1: you teach an agent to deploy. Day 30: every agent deploys, writes tests, and does code review. Your team's capabilities grow exponentially.",
- },
- ],
- },
- {
- label: "RUNTIMES",
- title: "One dashboard for all your compute",
- description:
- "Local daemons and cloud runtimes, managed from a single panel. Real-time monitoring of online/offline status, usage charts, and activity heatmaps. Auto-detects local CLIs — plug in and go.",
- cards: [
- {
- title: "Unified runtime panel",
- description:
- "Local daemons and cloud runtimes in one view. No context switching between different management interfaces.",
- },
- {
- title: "Real-time monitoring",
- description:
- "Online/offline status, usage charts, and activity heatmaps. Know exactly what your compute is doing at any moment.",
- },
- {
- title: "Auto-detection & plug-and-play",
- description:
- "Multica detects available CLIs like Claude Code and Codex automatically. Connect a machine, and it's ready to work.",
- },
- ],
- },
-];
-
-function FeaturesSection() {
- const [activeIndex, setActiveIndex] = useState(0);
- const panelRefs = useRef<(HTMLDivElement | null)[]>([]);
-
- useEffect(() => {
- const observer = new IntersectionObserver(
- (entries) => {
- for (const entry of entries) {
- if (entry.isIntersecting) {
- const idx = Number(entry.target.getAttribute("data-index"));
- if (!isNaN(idx)) setActiveIndex(idx);
- }
- }
- },
- { rootMargin: "-20% 0px -60% 0px", threshold: 0 },
- );
-
- panelRefs.current.forEach((el) => {
- if (el) observer.observe(el);
- });
-
- return () => observer.disconnect();
- }, []);
-
- const scrollToPanel = (index: number) => {
- panelRefs.current[index]?.scrollIntoView({
- behavior: "smooth",
- block: "start",
- });
- };
-
- return (
-
-
-
- {/* Sticky left nav */}
-
-
- {/* Scrollable feature panels */}
-
-
- );
-}
-
-/* -------------------------------------------------------------------------- */
-/* How it Works Section */
-/* -------------------------------------------------------------------------- */
-
-const steps = [
- {
- number: "01",
- title: "Sign up & create your workspace",
- description:
- "Enter your email, verify with a code, and you're in. Your workspace is created automatically — no setup wizard, no configuration forms.",
- },
- {
- number: "02",
- title: "Install the CLI & connect your machine",
- description:
- "Run multica login to authenticate, then multica daemon start. The daemon auto-detects Claude Code and Codex on your machine — plug in and go.",
- },
- {
- number: "03",
- title: "Create your first agent",
- description:
- "Give it a name, write instructions, attach skills, and set triggers. Choose when it activates: on assignment, on comment, or on mention.",
- },
- {
- number: "04",
- title: "Assign an issue and watch it work",
- description:
- "Pick your agent from the assignee dropdown — just like assigning to a teammate. The task is queued, claimed, and executed automatically. Watch progress in real time.",
- },
-];
-
-function HowItWorksSection() {
- return (
-
-
-
- Get started
-
-
- Hire your first AI employee
-
- in the next hour.
-
-
-
- {steps.map((step) => (
-
-
- {step.number}
-
-
- {step.title}
-
-
- {step.description}
-
-
- ))}
-
-
-
-
- Get started
-
-
-
- View on GitHub
-
-
-
-
- );
-}
-
-/* -------------------------------------------------------------------------- */
-/* Open Source Section */
-/* -------------------------------------------------------------------------- */
-
-const openSourceHighlights = [
- {
- title: "Self-host anywhere",
- description:
- "Run Multica on your own infrastructure. Docker Compose, single binary, or Kubernetes — your data never leaves your network.",
- },
- {
- title: "No vendor lock-in",
- description:
- "Bring your own LLM provider, swap agent backends, extend the API. You own the stack, top to bottom.",
- },
- {
- title: "Transparent by default",
- description:
- "Every line of code is auditable. See exactly how your agents make decisions, how tasks are routed, and where your data flows.",
- },
- {
- title: "Community-driven",
- description:
- "Built with the community, not just for it. Contribute skills, integrations, and agent backends that benefit everyone.",
- },
-];
-
-function OpenSourceSection() {
- return (
-
-
-
- {/* Left column — heading + CTA */}
-
-
- Open source
-
-
- Open source
-
- for all.
-
-
- Multica is fully open source under the MIT license. Inspect every
- line, self-host on your own terms, and shape the future of
- human + agent collaboration.
-
-
-
-
- Star on GitHub
-
-
-
-
- {/* Right column — highlight grid */}
-
-
- {openSourceHighlights.map((item) => (
-
-
- {item.title}
-
-
- {item.description}
-
-
- ))}
-
-
-
-
-
- );
-}
-
-/* -------------------------------------------------------------------------- */
-/* FAQ Section */
-/* -------------------------------------------------------------------------- */
-
-const faqs = [
- {
- question: "What coding agents does Multica support?",
- answer:
- "Multica currently supports Claude Code and OpenAI Codex out of the box. The daemon auto-detects whichever CLIs you have installed. More backends are on the roadmap — and since it's open source, you can add your own.",
- },
- {
- question: "Do I need to self-host, or is there a cloud version?",
- answer:
- "Both. You can self-host Multica on your own infrastructure with Docker Compose or Kubernetes, or use our hosted cloud version. Your data, your choice.",
- },
- {
- question: "How is this different from just using Claude Code or Codex directly?",
- answer:
- "Coding agents are great at executing. Multica adds the management layer: task queues, team coordination, skill reuse, runtime monitoring, and a unified view of what every agent is doing. Think of it as the project manager for your agents.",
- },
- {
- question: "Can agents work on long-running tasks autonomously?",
- answer:
- "Yes. Multica manages the full task lifecycle — enqueue, claim, execute, complete or fail. Agents report blockers proactively and stream progress in real time. You can check in whenever you want or let them run overnight.",
- },
- {
- question: "Is my code safe? Where does agent execution happen?",
- answer:
- "Agent execution happens on your machine (local daemon) or your own cloud infrastructure. Code never passes through Multica servers. The platform only coordinates task state and broadcasts events.",
- },
- {
- question: "How many agents can I run?",
- answer:
- "As many as your hardware supports. Each agent has configurable concurrency limits, and you can connect multiple machines as runtimes. There are no artificial caps in the open source version.",
- },
-];
-
-function FAQSection() {
- const [openIndex, setOpenIndex] = useState(null);
-
- return (
-
-