SetupNeed: {
    key: string;
    kind: "channel" | "role";
    matches: {
        id: string;
        name: string;
        score: number;
    }[];
    optional: boolean;
    suggestedName: string;
}

reasons: why it fits - type:<serverType>, goal:<goal>, platform:<platform> (render your own copy). feature: a promotable feature id (ClipForwarding, Starboards, ...) or Creators (live notifications). premium: needs a paid plan or add-on; unlocked: this server already has it; requiredPlan: the cheapest plan that includes it (e.g. 'Server Premium'), 'Add-on' for add-ons, null when free.