[{"data":1,"prerenderedAt":470},["ShallowReactive",2],{"navigation_docs":3,"trending-week-2026-W46":249,"page-views-\u002Ftrending\u002Fweek\u002F2026-W46":468},[4,29,104,124,194],{"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,94,99],{"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,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"week":250,"from":251,"to":252,"days":253,"summary":255,"repos":319},"2026-W46","2026-11-09","2026-11-15",[254],"2026-11-10",{"repos":256,"sources":257,"lines":258,"tokens":259,"clones":260,"duplicatedLines":261,"duplicatedTokens":262,"percentage":263,"percentageTokens":264,"avgPercentage":265,"medianPercentage":266,"mostDuplicated":267,"cleanest":271,"mostClones":275,"codeRepos":279,"codeSources":280,"codeLines":281,"codeClones":282,"codeDuplicatedLines":283,"codePercentage":284,"codeMedianPercentage":285,"codeMostDuplicated":286,"codeCleanest":289,"generatedFiles":293,"avgHealth":294,"healthiest":295,"leastHealthy":298,"languages":301},7,6655,2455767,15582053,12883,222288,1419333,9.05,9.11,8.52,6.5,{"name":268,"clones":269,"percentage":270},"anthropics\u002Fskills",166,21.26,{"name":272,"clones":273,"percentage":274},"sherlock-project\u002Fsherlock",8,0.9,{"name":276,"clones":277,"percentage":278},"google-deepmind\u002Fmujoco",6000,14.19,6,2676,1135531,3527,57762,5.09,5.12,{"name":268,"clones":287,"percentage":288},30,30.32,{"name":290,"clones":291,"percentage":292},"ZhuLinsen\u002Fdaily_stock_analysis",326,1.96,61,49.77,{"name":272,"score":296,"grade":297},76.9,"B",{"name":268,"score":299,"grade":300},33.3,"E",[302,309,314],{"language":303,"repos":304,"clones":305,"lines":306,"duplicatedLines":307,"percentage":308},"Python",5,5825,1547359,108171,6.99,{"language":310,"repos":311,"clones":277,"lines":312,"duplicatedLines":313,"percentage":278},"C++",1,715651,101583,{"language":315,"repos":311,"clones":316,"lines":317,"duplicatedLines":318,"percentage":266},"Rust",1058,192757,12534,[320,341,361,383,403,426,447],{"name":272,"url":321,"description":322,"language":303,"stars":323,"starsToday":324,"days":311,"rank":325,"date":254,"total":326,"code":330,"topFinding":331},"https:\u002F\u002Fgithub.com\u002Fsherlock-project\u002Fsherlock","Hunt down social media accounts by username across social networks",107565,4267,2,{"sources":327,"lines":328,"clones":273,"duplicatedLines":329,"percentage":274},47,9968,90,null,{"format":332,"lines":333,"copies":334,"kind":335,"first":336,"scope":340},"yaml",11,3,"data",{"name":337,"start":338,"end":339},".github\u002FISSUE_TEMPLATE\u002Ffalse-negative.yml",17,27,"all",{"name":268,"url":342,"description":343,"language":303,"stars":344,"starsToday":345,"days":311,"rank":311,"date":254,"total":346,"code":350,"topFinding":355},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","Public repository for Agent Skills",191287,1038,{"sources":347,"lines":348,"clones":269,"duplicatedLines":349,"percentage":270},410,70053,14891,{"sources":351,"lines":352,"clones":287,"duplicatedLines":353,"percentage":288,"generated":354},67,19471,5903,0,{"format":356,"lines":357,"copies":334,"kind":358,"first":359,"scope":358},"python",875,"code",{"name":360,"start":311,"end":357},"skills\u002Fdocx\u002Fscripts\u002Foffice\u002Fvalidators\u002Fbase.py",{"name":362,"url":363,"description":364,"language":315,"stars":365,"starsToday":366,"days":311,"rank":304,"date":254,"total":367,"code":369,"topFinding":375},"vercel-labs\u002Fagent-browser","https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-browser","Browser automation CLI for AI agents",48651,916,{"sources":368,"lines":317,"clones":316,"duplicatedLines":318,"percentage":266},435,{"sources":370,"lines":371,"clones":372,"duplicatedLines":373,"percentage":374,"generated":354},179,152905,966,10906,7.13,{"format":376,"lines":377,"copies":378,"kind":358,"first":379,"scope":358},"rust",12,31,{"name":380,"start":381,"end":382},"cli\u002Fsrc\u002Fnative\u002Fe2e_tests.rs",1997,2008,{"name":276,"url":384,"description":385,"language":310,"stars":386,"starsToday":387,"days":311,"rank":334,"date":254,"total":388,"code":390,"topFinding":397},"https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fmujoco","Multi-Joint dynamics with Contact. A general purpose physics simulator.",17017,574,{"sources":389,"lines":312,"clones":277,"duplicatedLines":313,"percentage":278},1682,{"sources":391,"lines":392,"clones":393,"duplicatedLines":394,"percentage":395,"generated":396},654,318700,1177,14998,4.71,58,{"format":356,"lines":338,"copies":398,"kind":358,"first":399,"scope":358},45,{"name":400,"start":401,"end":402},"python\u002Fmujoco\u002Fintrospect\u002Ffunctions.py",774,790,{"name":404,"url":405,"description":406,"language":303,"stars":407,"starsToday":408,"days":311,"rank":409,"date":254,"total":410,"code":416,"topFinding":422},"anthropics\u002Fclaude-quickstarts","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-quickstarts","A collection of projects designed to help developers quickly get started with building deployable applications using the Claude API",20124,551,4,{"sources":411,"lines":412,"clones":413,"duplicatedLines":414,"percentage":415},642,79147,142,3143,3.97,{"sources":417,"lines":418,"clones":419,"duplicatedLines":420,"percentage":421,"generated":354},330,49620,80,1718,3.46,{"format":356,"lines":423,"copies":325,"kind":358,"first":424,"scope":358},95,{"name":425,"start":311,"end":423},"managed-agents\u002Fself-hosted-sandboxes\u002Fdaytona\u002Fsandbox_runner.py",{"name":290,"url":427,"description":428,"language":303,"stars":429,"starsToday":430,"days":311,"rank":279,"date":254,"total":431,"code":437,"topFinding":441},"https:\u002F\u002Fgithub.com\u002FZhuLinsen\u002Fdaily_stock_analysis","LLM 驱动的多市场股票智能分析系统：多源行情、实时新闻、决策看板与自动推送，支持零成本定时运行。  LLM-powered multi-market stock analysis system with multi-source market data, real-time news, decision dashboard, automated notifications, and cost-free scheduled runs.",69131,506,{"sources":432,"lines":433,"clones":434,"duplicatedLines":435,"percentage":436},1170,499864,2310,30347,6.07,{"sources":438,"lines":439,"clones":291,"duplicatedLines":440,"percentage":292,"generated":354},539,240958,4712,{"format":356,"lines":442,"copies":325,"kind":358,"first":443,"scope":358},97,{"name":444,"start":445,"end":446},"data_provider\u002Fakshare_fetcher.py",2090,2186,{"name":448,"url":449,"description":450,"language":303,"stars":451,"starsToday":378,"days":311,"rank":256,"date":254,"total":452,"code":458,"topFinding":464},"homeassistant-ai\u002Fha-mcp","https:\u002F\u002Fgithub.com\u002Fhomeassistant-ai\u002Fha-mcp","Configure and automate Home Assistant with Claude, ChatGPT, and other AI assistants.",6124,{"sources":453,"lines":454,"clones":455,"duplicatedLines":456,"percentage":457},2269,888327,3199,59700,6.72,{"sources":459,"lines":460,"clones":461,"duplicatedLines":462,"percentage":463,"generated":334},907,353877,948,19525,5.52,{"format":356,"lines":465,"copies":325,"kind":358,"first":466,"scope":358},714,{"name":467,"start":311,"end":465},"homeassistant-addon-webhook-proxy-dev\u002Fmcp_proxy_dev\u002Foauth_indirect.py",{"\u002Ftrending\u002Fweek\u002F2026-W46":469},{"views":354,"visits":354},1794293452269]