[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"navigation_docs":3,"trending-week-2026-W41":239},[4,29,94,114,184],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"icon":6,"path":96,"stem":97,"children":98,"page":6},"Concepts","\u002Fconcepts","3.concepts",[99,104,109],{"title":100,"path":101,"stem":102,"icon":103},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":105,"path":106,"stem":107,"icon":108},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":110,"path":111,"stem":112,"icon":113},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":115,"icon":6,"path":116,"stem":117,"children":118,"page":6},"Reference","\u002Freference","4.reference",[119,124,129,134,171,176,180],{"title":120,"path":121,"stem":122,"icon":123},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":125,"path":126,"stem":127,"icon":128},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":130,"path":131,"stem":132,"icon":133},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":135,"icon":6,"path":136,"stem":137,"children":138},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[139,141,146,151,156,161,166],{"title":135,"path":136,"stem":137,"icon":140},"i-lucide-file-chart-column",{"title":142,"path":143,"stem":144,"icon":145},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":147,"path":148,"stem":149,"icon":150},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":152,"path":153,"stem":154,"icon":155},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":157,"path":158,"stem":159,"icon":160},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":162,"path":163,"stem":164,"icon":165},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":167,"path":168,"stem":169,"icon":170},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":172,"path":173,"stem":174,"icon":175},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":177,"path":178,"stem":179,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":181,"path":182,"stem":183,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":185,"icon":6,"path":186,"stem":187,"children":188,"page":6},"Project","\u002Fproject","5.project",[189,194,199,204,229,234],{"title":190,"path":191,"stem":192,"icon":193},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":195,"path":196,"stem":197,"icon":198},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":200,"path":201,"stem":202,"icon":203},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":205,"icon":6,"path":206,"stem":207,"children":208},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[209,211,216,220,225],{"title":205,"path":206,"stem":207,"icon":210},"i-lucide-gauge",{"title":212,"path":213,"stem":214,"icon":215},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":217,"path":218,"stem":219,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":221,"path":222,"stem":223,"icon":224},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":226,"path":227,"stem":228,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":230,"path":231,"stem":232,"icon":233},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":235,"path":236,"stem":237,"icon":238},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"week":240,"from":241,"to":242,"days":243,"summary":246,"repos":330},"2026-W41","2026-10-05","2026-10-11",[241,244,245],"2026-10-06","2026-10-07",{"repos":247,"sources":248,"lines":249,"tokens":250,"clones":251,"duplicatedLines":252,"duplicatedTokens":253,"percentage":254,"percentageTokens":255,"avgPercentage":256,"medianPercentage":257,"mostDuplicated":258,"cleanest":262,"mostClones":265,"codeRepos":269,"codeSources":270,"codeLines":271,"codeClones":272,"codeDuplicatedLines":273,"codePercentage":274,"codeMedianPercentage":275,"codeMostDuplicated":276,"codeCleanest":280,"generatedFiles":247,"avgHealth":281,"healthiest":282,"leastHealthy":285,"languages":289},13,12968,2958882,22401226,9722,454804,2690386,15.37,12.01,11.59,5.56,{"name":259,"clones":260,"percentage":261},"ayghri\u002Fi-have-adhd",83,46.75,{"name":263,"clones":264,"percentage":264},"M-Abozaid\u002Fesp32-c3-adblock",0,{"name":266,"clones":267,"percentage":268},"garrytan\u002Fgstack",2804,8.1,12,5347,1186441,2470,35213,2.97,2.38,{"name":277,"clones":278,"percentage":279},"deepseek-ai\u002FDeepGEMM",243,17.48,{"name":259,"clones":264,"percentage":264},60.02,{"name":263,"score":283,"grade":284},76.1,"B",{"name":286,"score":287,"grade":288},"cloudflare\u002Fcloudflare-os",18.4,"E",[290,297,304,311,317,324],{"language":291,"repos":292,"clones":293,"lines":294,"duplicatedLines":295,"percentage":296},"TypeScript",4,5512,1900751,381768,20.09,{"language":298,"repos":299,"clones":300,"lines":301,"duplicatedLines":302,"percentage":303},"Python",3,1623,602356,39008,6.48,{"language":305,"repos":306,"clones":307,"lines":308,"duplicatedLines":309,"percentage":310},"C++",2,1698,249820,23534,9.42,{"language":312,"repos":306,"clones":313,"lines":314,"duplicatedLines":315,"percentage":316},"JavaScript",89,60327,994,1.65,{"language":318,"repos":319,"clones":320,"lines":321,"duplicatedLines":322,"percentage":323},"Go",1,548,125666,6978,5.55,{"language":325,"repos":319,"clones":326,"lines":327,"duplicatedLines":328,"percentage":329},"Cuda",252,19962,2522,12.63,[331,358,384,407,431,454,475,498,511,535,552,560,580],{"name":332,"url":333,"description":334,"language":291,"stars":335,"starsToday":336,"days":319,"rank":337,"date":245,"total":338,"code":344,"topFinding":350},"morluto\u002Frea","https:\u002F\u002Fgithub.com\u002Fmorluto\u002Frea","Reverse engineer anything with agents, from app behavior down to native binaries.",10290,2956,5,{"sources":339,"lines":340,"clones":341,"duplicatedLines":342,"percentage":343},1709,281754,529,7573,2.69,{"sources":345,"lines":346,"clones":347,"duplicatedLines":348,"percentage":349,"generated":319},971,170020,163,1782,1.05,{"format":351,"lines":352,"copies":306,"kind":353,"first":354,"scope":353},"typescript",55,"code",{"name":355,"start":356,"end":357},"src\u002Fbrowser\u002FPlaywrightElectronActiveActions.ts",15,69,{"name":359,"url":360,"description":361,"language":291,"stars":362,"starsToday":363,"days":299,"rank":319,"date":245,"total":364,"code":370,"topFinding":376},"tester-army\u002Fe2e","https:\u002F\u002Fgithub.com\u002Ftester-army\u002Fe2e","Next generation e2e testing framework for web and mobile apps.",6559,1725,{"sources":365,"lines":366,"clones":367,"duplicatedLines":368,"percentage":369},1280,233358,797,23252,9.96,{"sources":371,"lines":372,"clones":373,"duplicatedLines":374,"percentage":375,"generated":264},217,35496,80,1525,4.3,{"format":377,"lines":378,"copies":379,"kind":353,"first":380,"scope":353},"tsx",18,7,{"name":381,"start":382,"end":383},"apps\u002Fweb-benchmark\u002Fapp\u002Fsrc\u002FExamples\u002FDatePicker.tsx",169,186,{"name":385,"url":386,"description":387,"language":298,"stars":388,"starsToday":389,"days":306,"rank":299,"date":244,"total":390,"code":396,"topFinding":401},"Panniantong\u002FAgent-Reach","https:\u002F\u002Fgithub.com\u002FPanniantong\u002FAgent-Reach","Give your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.",92069,1155,{"sources":391,"lines":392,"clones":393,"duplicatedLines":394,"percentage":395},140,24089,63,704,2.92,{"sources":397,"lines":398,"clones":379,"duplicatedLines":399,"percentage":400,"generated":264},45,8579,76,0.89,{"format":402,"lines":378,"copies":306,"kind":353,"first":403,"scope":353},"bash",{"name":404,"start":405,"end":406},"agent_reach\u002Fscripts\u002Ftranscribe_xiaoyuzhou.sh",212,229,{"name":408,"url":409,"description":410,"language":305,"stars":411,"starsToday":412,"days":306,"rank":299,"date":245,"total":413,"code":417,"topFinding":423},"boykopovar\u002FAnyPS5","https:\u002F\u002Fgithub.com\u002Fboykopovar\u002FAnyPS5","Tool for automatic PS5 executables porting to Linux and Windows",6933,997,{"sources":414,"lines":415,"clones":307,"duplicatedLines":309,"percentage":416},1439,247567,9.51,{"sources":418,"lines":419,"clones":420,"duplicatedLines":421,"percentage":422,"generated":264},941,168053,470,5532,3.29,{"format":424,"lines":425,"copies":426,"kind":353,"first":427,"scope":353},"cpp-header",48,6,{"name":428,"start":429,"end":430},"core\u002Flibs\u002Fprx\u002FlibSceAgc\u002FCommand\u002Finclude\u002FRegisterDefaultsData.hpp",660,707,{"name":432,"url":433,"description":434,"language":298,"stars":435,"starsToday":436,"days":299,"rank":306,"date":245,"total":437,"code":442,"topFinding":448},"earthtojake\u002Ftext-to-cad","https:\u002F\u002Fgithub.com\u002Fearthtojake\u002Ftext-to-cad","Give your agent CAD superpowers.",18086,619,{"sources":438,"lines":439,"clones":440,"duplicatedLines":441,"percentage":257},2742,563271,1477,31293,{"sources":443,"lines":444,"clones":445,"duplicatedLines":446,"percentage":447,"generated":319},1630,322142,839,15372,4.77,{"format":449,"lines":379,"copies":337,"kind":353,"first":450,"scope":353},"python",{"name":451,"start":452,"end":453},"models\u002Ftendon_hand\u002Fsrc\u002Fhand_export_repair_context.py",8,14,{"name":455,"url":456,"description":457,"language":318,"stars":458,"starsToday":459,"days":306,"rank":292,"date":244,"total":460,"code":462,"topFinding":468},"caddyserver\u002Fcaddy","https:\u002F\u002Fgithub.com\u002Fcaddyserver\u002Fcaddy","Fast and extensible multi-platform HTTP\u002F1-2-3 web server with automatic HTTPS",77230,515,{"sources":461,"lines":321,"clones":320,"duplicatedLines":322,"percentage":323},398,{"sources":463,"lines":464,"clones":465,"duplicatedLines":466,"percentage":467,"generated":319},222,73444,155,1989,2.71,{"format":469,"lines":470,"copies":452,"kind":353,"first":471,"scope":353},"go",10,{"name":472,"start":473,"end":474},"modules\u002Fcaddyhttp\u002Freverseproxy\u002Fcaddyfile.go",345,354,{"name":476,"url":477,"description":478,"language":312,"stars":479,"starsToday":480,"days":319,"rank":426,"date":241,"total":481,"code":487,"topFinding":493},"addyosmani\u002Fagent-skills","https:\u002F\u002Fgithub.com\u002Faddyosmani\u002Fagent-skills","Production-grade engineering skills for AI coding agents.",101277,336,{"sources":482,"lines":483,"clones":484,"duplicatedLines":485,"percentage":486},300,25802,51,608,2.36,{"sources":488,"lines":489,"clones":490,"duplicatedLines":491,"percentage":492,"generated":264},31,6560,29,296,4.51,{"format":402,"lines":269,"copies":299,"kind":353,"first":494,"scope":353},{"name":495,"start":496,"end":497},"hooks\u002Fsimplify-ignore-test.sh",257,268,{"name":259,"url":499,"description":500,"language":298,"stars":501,"starsToday":502,"days":319,"rank":292,"date":245,"total":503,"code":507,"topFinding":510},"https:\u002F\u002Fgithub.com\u002Fayghri\u002Fi-have-adhd","A skill to stop your coding agent from burying the answer. ADHD-friendly output.",54515,326,{"sources":504,"lines":505,"clones":260,"duplicatedLines":506,"percentage":261},85,14996,7011,{"sources":508,"lines":509,"clones":264,"duplicatedLines":264,"percentage":264,"generated":264},21,2954,null,{"name":512,"url":513,"description":514,"language":312,"stars":515,"starsToday":516,"days":306,"rank":306,"date":244,"total":517,"code":523,"topFinding":528},"michael-denyer\u002Fpstack-claude","https:\u002F\u002Fgithub.com\u002Fmichael-denyer\u002Fpstack-claude","Claude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.",1473,232,{"sources":518,"lines":519,"clones":520,"duplicatedLines":521,"percentage":522},286,34525,38,386,1.12,{"sources":524,"lines":525,"clones":299,"duplicatedLines":526,"percentage":527,"generated":264},60,11891,39,0.33,{"format":529,"lines":530,"copies":306,"kind":353,"first":531,"scope":353},"javascript",16,{"name":532,"start":533,"end":534},"plugins\u002Fpstack\u002Fskills\u002Fpoteto-mode\u002Fscripts\u002Fworktree-audit.mjs",331,346,{"name":277,"url":536,"description":537,"language":325,"stars":538,"starsToday":539,"days":319,"rank":426,"date":245,"total":540,"code":542,"topFinding":546},"https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002FDeepGEMM","DeepGEMM: clean and efficient BLAS kernel library on GPU",8776,199,{"sources":541,"lines":327,"clones":326,"duplicatedLines":328,"percentage":329},107,{"sources":543,"lines":544,"clones":278,"duplicatedLines":545,"percentage":279,"generated":264},78,14030,2453,{"format":424,"lines":470,"copies":547,"kind":353,"first":548,"scope":353},17,{"name":549,"start":550,"end":551},"csrc\u002Fjit_kernels\u002Fimpls\u002Fsm100_bf16_gemm.hpp",121,130,{"name":263,"url":553,"description":554,"language":305,"stars":555,"starsToday":556,"days":319,"rank":452,"date":244,"total":557,"code":510,"topFinding":510},"https:\u002F\u002Fgithub.com\u002FM-Abozaid\u002Fesp32-c3-adblock","Pi-hole-class DNS ad-blocker on a $2 ESP32-C3 (no PSRAM): 537k domains as 40-bit FNV-1a hashes in flash, binary-searched. UDP DNS sinkhole + web dashboard. https:\u002F\u002Fyoutube.com\u002Fshorts\u002FRaxszOUMi8E?feature=share",1464,196,{"sources":558,"lines":559,"clones":264,"duplicatedLines":264,"percentage":264},24,2253,{"name":266,"url":561,"description":562,"language":291,"stars":563,"starsToday":564,"days":319,"rank":379,"date":241,"total":565,"code":569,"topFinding":574},"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgstack","Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA",135219,125,{"sources":566,"lines":567,"clones":267,"duplicatedLines":568,"percentage":268},3157,711361,57631,{"sources":570,"lines":571,"clones":551,"duplicatedLines":572,"percentage":573,"generated":452},484,156552,1714,1.09,{"format":351,"lines":575,"copies":306,"kind":353,"first":576,"scope":353},231,{"name":577,"start":578,"end":579},"browse\u002Fsrc\u002Fbrowse-client.ts",34,264,{"name":286,"url":581,"description":582,"language":291,"stars":583,"starsToday":584,"days":319,"rank":379,"date":244,"total":585,"code":591,"topFinding":597},"https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fcloudflare-os","Agent workspace built on Cloudflare Workers for creating documents, building apps, and running agents with your company’s context and systems.",11086,101,{"sources":586,"lines":587,"clones":588,"duplicatedLines":589,"percentage":590},1301,674278,1382,293312,43.5,{"sources":592,"lines":593,"clones":594,"duplicatedLines":595,"percentage":596,"generated":306},647,216720,351,4435,2.05,{"format":351,"lines":425,"copies":306,"kind":353,"first":598,"scope":353},{"name":599,"start":341,"end":600},"packages\u002Fgatekeeper-linear\u002Fsrc\u002Flinear.ts",576,1791362079664]