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 ?? [], + }, + }; }) );