diff --git a/README.md b/README.md
index 56e3bd2..46cb192 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
---
-Companion repo to [**`flykit-cc/flykit`**](https://github.com/flykit-cc/flykit), the open-source Claude Code plugin marketplace.
+Companion repo to [**`flykit-cc/flykit`**](https://github.com/flykit-cc/flykit), the open-source registry of plugins and tools for coding agents.
## Thinking of contributing?
diff --git a/app/layout.tsx b/app/layout.tsx
index e0d7932..c3f8494 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -15,9 +15,9 @@ const inter = Inter({
});
export const metadata: Metadata = {
- title: "flykit — Claude Code plugins for real-world workflows",
+ title: "flykit — plugins and tools for coding agents",
description:
- "Open-source Claude Code plugins for real-world workflows. Install, run, contribute.",
+ "Open-source plugins and tools for coding agents. Claude Code, DeepSeek Harness, and more. Install, run, contribute.",
metadataBase: new URL("https://flykit.cc"),
alternates: { canonical: "/" },
};
@@ -28,7 +28,7 @@ const siteJsonLd = {
name: "flykit",
url: "https://flykit.cc",
description:
- "Open-source Claude Code plugins for real-world workflows. Install, run, contribute.",
+ "Open-source plugins and tools for coding agents. Claude Code, DeepSeek Harness, and more. Install, run, contribute.",
};
export default async function RootLayout({
diff --git a/app/llms-full.txt/route.ts b/app/llms-full.txt/route.ts
index 52d1e23..e60a575 100644
--- a/app/llms-full.txt/route.ts
+++ b/app/llms-full.txt/route.ts
@@ -12,7 +12,7 @@ export async function GET() {
lines.push("# flykit");
lines.push("");
lines.push(
- "> Open-source Claude Code plugins for real-world workflows. Install, run, contribute.",
+ "> Open-source plugins and tools for coding agents. Claude Code, DeepSeek Harness, and more.",
);
lines.push("");
lines.push(
diff --git a/app/llms.txt/route.ts b/app/llms.txt/route.ts
index ae5e983..e40c1ee 100644
--- a/app/llms.txt/route.ts
+++ b/app/llms.txt/route.ts
@@ -11,11 +11,11 @@ export async function GET() {
lines.push("# flykit");
lines.push("");
lines.push(
- "> Open-source Claude Code plugins for real-world workflows. Install, run, contribute.",
+ "> Open-source plugins and tools for coding agents. Claude Code, DeepSeek Harness, and more.",
);
lines.push("");
lines.push(
- "flykit is a community marketplace of plugins for Claude Code, Anthropic's official CLI.",
+ "flykit is a community registry of plugins and tools for coding agents, spanning Claude Code and DeepSeek Harness.",
);
lines.push(
"Each plugin adds skills, slash commands, subagents, or hooks that solve a concrete workflow —",
diff --git a/app/opengraph-image.alt.txt b/app/opengraph-image.alt.txt
index 8944f88..b1ba104 100644
--- a/app/opengraph-image.alt.txt
+++ b/app/opengraph-image.alt.txt
@@ -1 +1 @@
-flykit — Claude Code plugins for real-world workflows.
+flykit — plugins and tools for coding agents.
diff --git a/app/page.tsx b/app/page.tsx
index 8864b72..440038f 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -47,7 +47,7 @@ export default async function HomePage() {
>
{">"}
- Claude Code
+ Claude Code · DeepSeek Harness
- flykit is an open-source marketplace of Claude Code plugins for
- real-world workflows. Install, run, contribute.
+ flykit is an open-source registry of plugins and tools for coding
+ agents. Install, run, contribute.
@@ -166,7 +166,7 @@ export default async function HomePage() {
- Standalone tools for Claude Code. Not plugins — install via npm or brew.
+ Standalone tools that work alongside your agent. Not plugins, install via npm or brew.
@@ -248,7 +248,7 @@ export default async function HomePage() {
MIT licensed
- Built for Claude Code
+ Built for coding agents
@@ -290,10 +290,10 @@ export default async function HomePage() {
What is flykit?
- flykit is an open-source marketplace of Claude Code plugins
- focused on real-world workflows — taxes, finance, ops. Each
- plugin bundles slash commands, skills, and prompts you can
- install with one command.
+ flykit is an open-source registry of plugins and tools for
+ coding agents — Claude Code plugins like flow and steuer,
+ DeepSeek Harness plugins like dsh-claude-live, plus standalone
+ companion tools. Claude Code plugins install with one command.
diff --git a/app/tools/[slug]/page.tsx b/app/tools/[slug]/page.tsx
index 2cc03ca..76cbce8 100644
--- a/app/tools/[slug]/page.tsx
+++ b/app/tools/[slug]/page.tsx
@@ -5,7 +5,7 @@ import { ChevronRight, Github } from "lucide-react";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent } from "@/components/ui/card";
import { CodeBlock } from "@/components/code-block";
-import { getTool, getTools } from "@/lib/tools";
+import { ecosystemLabel, getTool, getTools } from "@/lib/tools";
const BASE_URL = "https://flykit.cc";
const RAW_BASE = "https://raw.githubusercontent.com/flykit-cc/flykit/main";
@@ -121,6 +121,7 @@ export default async function ToolPage({
·
+ {ecosystemLabel(tool.ecosystem)}
{tool.web.categories.map((c) => (
{c}
))}
diff --git a/app/twitter-image.alt.txt b/app/twitter-image.alt.txt
index 8944f88..b1ba104 100644
--- a/app/twitter-image.alt.txt
+++ b/app/twitter-image.alt.txt
@@ -1 +1 @@
-flykit — Claude Code plugins for real-world workflows.
+flykit — plugins and tools for coding agents.
diff --git a/components/site-footer.tsx b/components/site-footer.tsx
index 32107ad..f1860f1 100644
--- a/components/site-footer.tsx
+++ b/components/site-footer.tsx
@@ -12,7 +12,7 @@ export function SiteFooter() {
flykit
- Open-source Claude Code plugins for real-world workflows.
+ Open-source plugins and tools for coding agents.
diff --git a/components/tool-card.tsx b/components/tool-card.tsx
index 3c08ba7..dbde877 100644
--- a/components/tool-card.tsx
+++ b/components/tool-card.tsx
@@ -4,7 +4,7 @@ import { Github } from "lucide-react";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardDescription, CardTitle } from "@/components/ui/card";
import { CodeBlock } from "@/components/code-block";
-import type { FullTool } from "@/lib/tools";
+import { ecosystemLabel, type FullTool } from "@/lib/tools";
export function ToolCard({ tool }: { tool: FullTool }) {
return (
@@ -25,6 +25,7 @@ export function ToolCard({ tool }: { tool: FullTool }) {
{tool.web.tagline}
+ {ecosystemLabel(tool.ecosystem)}
{tool.web.categories.slice(0, 3).map((c) => (
{c}
))}
diff --git a/lib/tools.ts b/lib/tools.ts
index c948897..28189db 100644
--- a/lib/tools.ts
+++ b/lib/tools.ts
@@ -3,8 +3,20 @@ import fallback from "./tools-fallback.json";
const REPO = "flykit-cc/flykit";
const BASE_RAW = `https://raw.githubusercontent.com/${REPO}/main`;
+export type Ecosystem = "claude-code" | "dsh";
+
+export const ECOSYSTEM_LABELS: Record = {
+ "claude-code": "Claude Code",
+ dsh: "DeepSeek Harness",
+};
+
+export function ecosystemLabel(e: Ecosystem | undefined): string {
+ return ECOSYSTEM_LABELS[e ?? "claude-code"] ?? "Claude Code";
+}
+
export type Tool = {
name: string;
+ ecosystem?: Ecosystem;
slug: string;
description: string;
repo: string;
@@ -57,7 +69,17 @@ export async function getTools(): Promise {
tools.map(async (t) => {
const webPath = t.web.replace(/^\.\//, "");
const web = await fetchJSON(`${BASE_RAW}/${webPath}`);
- return { ...t, web: web ?? fb.webByTool[t.slug] };
+ const resolved = web ?? fb.webByTool[t.slug];
+ // web.json omits optional list fields; default them so consumers can just read .length
+ return {
+ ...t,
+ web: resolved && {
+ ...resolved,
+ features: resolved.features ?? [],
+ useCases: resolved.useCases ?? [],
+ screenshots: resolved.screenshots ?? [],
+ },
+ };
})
);