{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreieg2fdgpjoilglkfjd3itkwturmiyp6gguwn6jv3clhtqvsgy2lru",
"uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpt7xo4pskr2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiaqrhjowef2eciemx4xuqnm7gldpx2avwwcmcmxgprj4n6xmms5c4"
},
"mimeType": "image/webp",
"size": 66098
},
"path": "/yuhaolin2005/i-packed-deepseek-v4-claude-code-into-a-starter-kit-clone-it-and-ship-13dn",
"publishedAt": "2026-07-04T13:24:48.000Z",
"site": "https://dev.to",
"tags": [
"ai",
"claude",
"llm",
"showdev",
"related: my compaction quality research",
"My self-model protocol",
"LLM compaction isn't linear",
"Self-model protocol for AI identity persistence"
],
"textContent": "> **TL;DR:** I spent weeks tuning DeepSeek V4 to feel native inside Claude Code. The result: a one-command setup with 9 agents, 7 rules, security hooks, OCR, and auto-backup. Clone → ./init.sh → you're shipping.\n\nI wanted DeepSeek's 1M context window inside Claude Code's interface. What I got was two weeks of fighting API configs, debugging token limits, and discovering that most \"just swap the model\" advice is missing half the puzzle.\n\nSo I packaged everything into a single repo.\n\n## What's in the Box\n\n\n git clone https://github.com/YuhaoLin2005/deepseek-claude-code-starter.git\n cd deepseek-claude-code-starter\n ./init.sh\n\n\nThree commands. Here's what lands in your `~/.claude/`:\n\nComponent | What It Does\n---|---\n**9 Custom Agents** | Code review, security audit, TDD guide, architecture, build-fix — each tuned for DeepSeek's reasoning style\n**7 Behavior Rules** | Code quality, security, testing discipline, YAGNI enforcement, commit standards\n**Security Hook** | PreToolUse guard — blocks sensitive file access and dangerous commands before they execute\n**Auto-Backup** | Pre-edit snapshots (keeps 5) + session-start git commit. You'll thank me the first time you roll back\n**Local OCR** | RapidOCR on ONNX — lets DeepSeek \"see\" screenshots without sending them to a cloud API\n**Status Line** | Compaction counter — warns you at 5+ compactions to start fresh (related: my compaction quality research)\n**DuckDuckGo MCP** | Plugs DeepSeek's training cutoff gap with live web search\n**Auto-Format** | Prettier on Edit/Write for frontend files (opt-in)\n\n## The Secret Sauce: Model Routing\n\nThe single biggest quality-of-life improvement: **main agent gets the Pro model, sub-agents get Flash.**\n\nDeepSeek V4 Pro handles architecture, debugging, and complex reasoning. But reading files? Searching? Running tests? Those don't need a 1M-context reasoning beast. Flash is faster, cheaper, and completely adequate for the grunt work.\n\nThis one decision doubled my effective throughput. The main agent never waits behind a queue of file-reads.\n\n## YAGNI as Code\n\nOne rule I'm unreasonably proud of: **the 6-level decision ladder.**\n\n\n\n Level 0: stdlib can do it → don't write code\n Level 1: one-liner → don't write fifty lines\n Level 2: existing tool → don't build a replacement\n Level 3: simple script → don't build a framework\n Level 4: library → don't build from scratch\n Level 5: only then, build\n\n\nIt's YAGNI compiled into a decision tree. When every token costs money, \"just in case\" code is a bill you pay every session.\n\n## What This Won't Do\n\n * It won't magically make DeepSeek as good as Claude Opus at creative writing (different models, different strengths)\n * It's tested on Windows — Mac/Linux paths may need tweaking\n * You still need your own API key and base URL\n * OCR speed depends on your local GPU (CPU fallback works, just slower)\n\n\n\n## Why I Open-Sourced This\n\nMy self-model protocol handles identity across sessions. But identity is useless if the tools aren't right. This starter kit is the companion piece — the \"body\" to the protocol's \"mind.\"\n\nBoth are MIT licensed. Both took weeks of trial and error to get right. Both are now one `git clone` away.\n\n**Have you tried running non-Claude models inside Claude Code?** What broke first — the API, the prompts, or your patience? Drop your war stories in the comments.\n\n_Related: LLM compaction isn't linear • Self-model protocol for AI identity persistence_",
"title": "I Packed DeepSeek V4 + Claude Code Into a Starter Kit. Clone It and Ship."
}