Triple-C marketplace: agents, skills, commands, hooks and plugins for all or individual containers #65

Merged
jknapp merged 48 commits from feat/marketplace into main 2026-09-27 23:43:27 +00:00
2 changed files with 7 additions and 0 deletions
Showing only changes of commit f55d91a09d - Show all commits
@@ -94,6 +94,12 @@ describe("BrowsePane", () => {
expect(screen.getByText(`install controls at ${"a".repeat(40)}`)).toBeInTheDocument(); expect(screen.getByText(`install controls at ${"a".repeat(40)}`)).toBeInTheDocument();
}); });
it("lets the kind filter wrap instead of running out of its column", () => {
// All + five kinds are wider than the fixed-width item column.
render(<BrowsePane mp={api()} />);
expect(screen.getByRole("radiogroup", { name: "Item kind" })).toHaveClass("flex-wrap");
});
it("shows why an item is invalid", () => { it("shows why an item is invalid", () => {
render(<BrowsePane mp={api()} />); render(<BrowsePane mp={api()} />);
fireEvent.click(screen.getByRole("button", { name: /broken/ })); fireEvent.click(screen.getByRole("button", { name: /broken/ }));
@@ -169,6 +169,7 @@ export default function BrowsePane({ mp }: { mp: MarketplaceApi }) {
<section className="w-80 flex-shrink-0 border-r border-[var(--border-color)] p-3 space-y-2 overflow-auto"> <section className="w-80 flex-shrink-0 border-r border-[var(--border-color)] p-3 space-y-2 overflow-auto">
<SegmentedControl<KindFilter> <SegmentedControl<KindFilter>
label="Item kind" label="Item kind"
className="flex-wrap"
value={kind} value={kind}
onChange={setKind} onChange={setKind}
segments={[ segments={[