kill-ai-slop
Kill AI Slop is a multilingual field guide and agent skill that catalogues 33 common AI-generated design tells with interactive before-after demos, and provides a tool to scan and fix web projects.
它并非根据截图而是直接从注册表源文件移植组件,保证了类级别的忠实度;并且提供了一整套 AI 对话运行时,支持流式输出、工具调用和多种输入框模板,全部使用纯 SwiftUI 实现。
A SwiftUI port of shadcn/ui and Vercel AI Elements, built to match the originals rather than approximate them. No dependencies — pure SwiftUI, macOS 14+ / iOS 17+.
Components were ported from the actual registry sources
(ui.shadcn.com/r/styles/new-york-v4/*.json and registry.ai-sdk.dev), not from
screenshots, so class-for-class details — the has-[>svg]:px-3 padding shift on
buttons, dark:bg-input/30 on inputs, the ten-spoke loader's per-spoke opacity —
carry across.
| Library | Contents |
|---|---|
ShadcnUI | Design tokens + the shadcn primitives |
AIElementsUI | The AI Elements set, plus a useChat-shaped runtime |
CanvasUI | Node-graph canvas, ReactFlow-shaped |
AIElementsGallery | A browsable showcase of everything |
.package(url: "https://github.com/jasonkneen/ShadKit", from: "0.1.0")
shadcn publishes its tokens in OKLCH. OKLCH converts to sRGB via OKLab, so a
theme can be pasted in verbatim:
OKLCH(css: "oklch(0.145 0 0)") // #0A0A0A
OKLCH(0.577, 0.245, 27.325).hexString // #E7000B
Apply a theme once near the root. Components below read the resolved palette for the current appearance:
ContentView()
.shadcnSurface() // theme + the `background` token
.shadcnTheme(myTheme) // theme only
Custom themes are the same shape as a shadcn :root block — see
ShadcnPaletteSpec. Space.x4 maps Tailwind's spacing scale to points
(p-4 → 16), and theme.radius derives the whole radius scale from one
--radius.
AIConversation(streamToken: chat.streamToken) {
ForEach(chat.messages) { AIMessageView(message: $0) }
}
AIReasoning(content: thinking, isStreaming: true)
AITool(name: "search_codebase", state: .outputAvailable) {
AIToolInput(json: input)
AIToolOutput(output: output)
}
AIResponse(markdown) // streaming-safe markdown
AICodeBlock(code: swift, language: "swift")
useChat parityAIChat is the Swift counterpart to the AI SDK's useChat — same message
shape (UIMessage / UIMessagePart), same ChatStatus, same verbs.
@StateObject private var chat = AIChat(transport: MyTransport())
AIChatbot(chat: chat, suggestions: ["Explain this repo"]) { text, status in
AIPrompt
SwiftUI port of shadcn/ui and Vercel AI Elements — design tokens, AI chat components, node canvas, diff viewer. No dependencies.
根据分类、Topic 和编程语言匹配的相似项目。
Kill AI Slop is a multilingual field guide and agent skill that catalogues 33 common AI-generated design tells with interactive before-after demos, and provides a tool to scan and fix web projects.
Nativ is a native macOS app that lets you run AI models locally on Apple silicon, offering chat, model management, performance analytics, and an OpenAI/Anthropic-compatible API server.

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.