[{"data":1,"prerenderedAt":515},["ShallowReactive",2],{"navigation_docs":3,"trending-week-2026-W45":249,"page-views-\u002Ftrending\u002Fweek\u002F2026-W45":513},[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":254,"repos":334},"2026-W45","2026-11-02","2026-11-08",[251],{"repos":255,"sources":256,"lines":257,"tokens":258,"clones":259,"duplicatedLines":260,"duplicatedTokens":261,"percentage":262,"percentageTokens":263,"avgPercentage":264,"medianPercentage":265,"mostDuplicated":266,"cleanest":270,"mostClones":274,"codeRepos":278,"codeSources":279,"codeLines":280,"codeClones":281,"codeDuplicatedLines":282,"codePercentage":283,"codeMedianPercentage":284,"codeMostDuplicated":285,"codeCleanest":289,"generatedFiles":293,"avgHealth":294,"healthiest":295,"leastHealthy":298,"languages":302},9,17986,3561295,21597932,16128,640799,2784402,17.99,12.89,15.2,6.7,{"name":267,"clones":268,"percentage":269},"CopilotKit\u002FOpenBot",3972,37.32,{"name":271,"clones":272,"percentage":273},"public-apis\u002Fpublic-apis",2,0.64,{"name":275,"clones":276,"percentage":277},"beenuar\u002FAiSOC",7834,10.16,6,5493,1572992,4821,75863,4.82,4.47,{"name":286,"clones":287,"percentage":288},"FlashML-org\u002FFreeToken",903,7.82,{"name":290,"clones":291,"percentage":292},"Renhuai123\u002Fziwei-doushu",18,1.12,11,60.6,{"name":271,"score":296,"grade":297},83.7,"B",{"name":299,"score":300,"grade":301},"lightpanda-io\u002Fbrowser",48.9,"D",[303,310,316,323,328],{"language":304,"repos":305,"clones":306,"lines":307,"duplicatedLines":308,"percentage":309},"Python",4,9019,1854781,201868,10.88,{"language":311,"repos":272,"clones":312,"lines":313,"duplicatedLines":314,"percentage":315},"TypeScript",3999,1086253,398554,36.69,{"language":317,"repos":318,"clones":319,"lines":320,"duplicatedLines":321,"percentage":322},"Zig",1,2078,405116,24249,5.99,{"language":324,"repos":318,"clones":325,"lines":326,"duplicatedLines":327,"percentage":265},"C++",964,208434,13957,{"language":329,"repos":318,"clones":330,"lines":331,"duplicatedLines":332,"percentage":333},"Other",68,6711,2171,32.35,[335,360,380,397,417,438,451,473,492],{"name":290,"url":336,"description":337,"language":311,"stars":338,"starsToday":339,"days":318,"rank":340,"date":251,"total":341,"code":347,"topFinding":352},"https:\u002F\u002Fgithub.com\u002FRenhuai123\u002Fziwei-doushu","紫微斗数开源排盘引擎 — 基于倪海厦《天纪》体系，含完整排盘算法、四化系统、格局知识库、古籍原文数据",13438,941,5,{"sources":342,"lines":343,"clones":344,"duplicatedLines":345,"percentage":346},110,19040,27,283,1.49,{"sources":348,"lines":349,"clones":291,"duplicatedLines":350,"percentage":292,"generated":351},63,14512,162,0,{"format":353,"lines":354,"copies":272,"kind":355,"first":356,"scope":355},"tsx",13,"code",{"name":357,"start":358,"end":359},"app\u002Fprivacy\u002Fpage.tsx",3,15,{"name":299,"url":361,"description":362,"language":317,"stars":363,"starsToday":364,"days":318,"rank":318,"date":251,"total":365,"code":367,"topFinding":373},"https:\u002F\u002Fgithub.com\u002Flightpanda-io\u002Fbrowser","Lightpanda: the headless browser designed for AI and automation",40413,825,{"sources":366,"lines":320,"clones":319,"duplicatedLines":321,"percentage":322},1300,{"sources":368,"lines":369,"clones":370,"duplicatedLines":371,"percentage":372,"generated":351},702,303091,1811,21278,7.02,{"format":374,"lines":291,"copies":375,"kind":355,"first":376,"scope":355},"zig",22,{"name":377,"start":378,"end":379},"src\u002Fserver\u002Fcdp\u002Fdomains\u002Finput.zig",443,460,{"name":381,"url":382,"description":383,"language":384,"stars":385,"starsToday":386,"days":318,"rank":387,"date":251,"total":388,"code":384,"topFinding":390},"togg53192-cmd\u002Fjailbreaks","https:\u002F\u002Fgithub.com\u002Ftogg53192-cmd\u002Fjailbreaks","LIST OF ALL MY JAILBREAKS",null,13125,726,7,{"sources":389,"lines":331,"clones":330,"duplicatedLines":332,"percentage":333},55,{"format":391,"lines":392,"copies":272,"kind":393,"first":394,"scope":396},"markdown",104,"docs",{"name":395,"start":318,"end":392},"glm5-3opencode.md","all",{"name":398,"url":399,"description":400,"language":304,"stars":401,"starsToday":402,"days":318,"rank":272,"date":251,"total":403,"code":384,"topFinding":409},"shiyu-coder\u002FKronos","https:\u002F\u002Fgithub.com\u002Fshiyu-coder\u002FKronos","Kronos: A Foundation Model for the Language of Financial Markets",45539,630,{"sources":404,"lines":405,"clones":406,"duplicatedLines":407,"percentage":408},77,81076,108,28813,35.54,{"format":410,"lines":411,"copies":387,"kind":412,"first":413,"scope":396},"json",1088,"data",{"name":414,"start":415,"end":416},"webui\u002Fprediction_results\u002Fprediction_20250826_175135.json",1127,2214,{"name":275,"url":418,"description":419,"language":304,"stars":420,"starsToday":421,"days":318,"rank":305,"date":251,"total":422,"code":426,"topFinding":433},"https:\u002F\u002Fgithub.com\u002Fbeenuar\u002FAiSOC","Open-source AI Security Operations Center: alert fusion, LLM-agent triage, MITRE ATT&CK investigation, and a replayable decision ledger for every agent step. Self-hostable, runs with no API keys, MIT licensed. Ships an MCP server for Claude, Cursor and Continue.",6363,446,{"sources":423,"lines":424,"clones":276,"duplicatedLines":425,"percentage":277},12051,1579126,160421,{"sources":427,"lines":428,"clones":429,"duplicatedLines":430,"percentage":431,"generated":432},2108,641461,1140,31406,4.9,8,{"format":434,"lines":435,"copies":354,"kind":355,"first":436,"scope":355},"python",249,{"name":437,"start":318,"end":435},"services\u002Factions\u002Fapp\u002F_health.py",{"name":271,"url":439,"description":440,"language":304,"stars":441,"starsToday":442,"days":318,"rank":358,"date":251,"total":443,"code":384,"topFinding":446},"https:\u002F\u002Fgithub.com\u002Fpublic-apis\u002Fpublic-apis","A collective list of free APIs",494894,324,{"sources":354,"lines":444,"clones":272,"duplicatedLines":445,"percentage":273},4383,28,{"format":447,"lines":448,"copies":358,"kind":412,"first":449,"scope":396},"yaml",14,{"name":450,"start":359,"end":445},".github\u002Fworkflows\u002Ftest_of_push_and_pull.yml",{"name":286,"url":452,"description":453,"language":304,"stars":454,"starsToday":455,"days":318,"rank":432,"date":251,"total":456,"code":462,"topFinding":466},"https:\u002F\u002Fgithub.com\u002FFlashML-org\u002FFreeToken","FreeToken brings datacenter-scale model serving to your desktop. Run massive models locally, fast and efficiently.",15546,242,{"sources":457,"lines":458,"clones":459,"duplicatedLines":460,"percentage":461},749,190196,1075,12606,6.63,{"sources":463,"lines":464,"clones":287,"duplicatedLines":465,"percentage":288,"generated":351},524,139719,10928,{"format":467,"lines":255,"copies":468,"kind":355,"first":469,"scope":355},"c",21,{"name":470,"start":471,"end":472},"python\u002Ffreetoken\u002Fkernel\u002Fcsrc\u002Fggml\u002Fggml-cpu\u002Farch\u002Fx86\u002Fquants.c",1830,1838,{"name":267,"url":474,"description":475,"language":311,"stars":476,"starsToday":477,"days":318,"rank":278,"date":251,"total":478,"code":482,"topFinding":488},"https:\u002F\u002Fgithub.com\u002FCopilotKit\u002FOpenBot","Open-source AI coworkers that each get a computer of their own: a browser, files and tools, with every action decided before it happens and recorded after. Bring any AG-UI agent.",9653,175,{"sources":479,"lines":480,"clones":268,"duplicatedLines":481,"percentage":269},2378,1067213,398271,{"sources":483,"lines":484,"clones":485,"duplicatedLines":486,"percentage":487,"generated":318},1125,322844,445,5961,1.85,{"format":353,"lines":489,"copies":272,"kind":355,"first":490,"scope":355},157,{"name":491,"start":278,"end":350},"app\u002Fsrc\u002Fcomponents\u002Fcomputer\u002Fplaceholder.tsx",{"name":493,"url":494,"description":495,"language":324,"stars":496,"starsToday":497,"days":318,"rank":255,"date":251,"total":498,"code":500,"topFinding":506},"hyprwm\u002FHyprland","https:\u002F\u002Fgithub.com\u002Fhyprwm\u002FHyprland","Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.",39482,38,{"sources":499,"lines":326,"clones":325,"duplicatedLines":327,"percentage":265},1253,{"sources":501,"lines":502,"clones":503,"duplicatedLines":504,"percentage":505,"generated":272},971,151365,504,6128,4.05,{"format":507,"lines":508,"copies":305,"kind":355,"first":509,"scope":355},"cpp",90,{"name":510,"start":511,"end":512},"hyprtester\u002Fclients\u002Fkeyboard-modifiers.cpp",106,195,{"\u002Ftrending\u002Fweek\u002F2026-W45":514},{"views":351,"visits":351},1793602480135]