{
  "$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."
}