import { Bot, FileText, GitBranch, Layers, Route, Shield } from "lucide-react"; import type { LucideIcon } from "lucide-react"; import { BorderGlowCard } from "@/components/marketing/border-glow-card"; import { DotField } from "@/components/marketing/dot-field"; import { Reveal, Stagger, StaggerItem } from "@/components/marketing/reveal"; type Feature = { icon: LucideIcon; title: string; description: string; span: string; tag: string; }; const features: Feature[] = [ { icon: FileText, title: "Markdown source of truth", description: "Plan / Epic / Task files in git. Frontmatter fields drive status, priority, and agent routing.", span: "lg:col-span-7", tag: "sync", }, { icon: Bot, title: "MCP lifecycle", description: "claim_task → work → complete_task. Auditable runs, not ad-hoc object patches.", span: "lg:col-span-5", tag: "mcp", }, { icon: GitBranch, title: "Convoy pipelines", description: "Architect, implementer, reviewer roles with human gates between stages.", span: "lg:col-span-4", tag: "convoy", }, { icon: Layers, title: "Full workspace", description: "Docs, boards, forms, whiteboards — same object model humans and agents share.", span: "lg:col-span-4", tag: "workspace", }, { icon: Shield, title: "Multitenant", description: "workspace_id on every row. Built for teams, not a single homelab tenant.", span: "lg:col-span-4", tag: "tenant", }, ]; export function FeaturesSection() { return (

Capabilities

Not a chat wrapper.
A coordination plane.

{features.map((feature) => (
{feature.tag}

{feature.title}

{feature.description}

))}

Per-role model routing

Fast implementers, premium architects — declared in convoy frontmatter and enforced by your agent pipeline.

model_policy: composer-fast
tier: fast | premium

); }