[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-cactus-compute\u002Fneedle":188},[4,50,82,99,135,157,173,178,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35,40,45],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","\u002Fgetting-started\u002Fsupported-formats","1.getting-started\u002F5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"icon":34},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F6.agent-skill","i-lucide-cpu",{"title":36,"path":37,"stem":38,"icon":39},"Changelog","\u002Fgetting-started\u002Fchangelog","1.getting-started\u002F7.changelog","i-lucide-scroll-text",{"title":41,"path":42,"stem":43,"icon":44},"Migrating from v4 to v5","\u002Fgetting-started\u002Fmigration","1.getting-started\u002F8.migration","i-lucide-arrow-right-left",{"title":46,"path":47,"stem":48,"icon":49},"jscpd v4 (TypeScript)","\u002Fgetting-started\u002Fv4","1.getting-started\u002F9.v4","i-simple-icons-typescript",{"title":51,"path":52,"stem":53,"children":54,"icon":6},"Guides","\u002Fguides","2.guides\u002F1.index",[55,57,62,67,72,77],{"title":51,"path":52,"stem":53,"icon":56},"i-lucide-book-open",{"title":58,"path":59,"stem":60,"icon":61},"Types of Code Clones","\u002Fguides\u002Fclone-types","2.guides\u002F2.clone-types","i-lucide-copy",{"title":63,"path":64,"stem":65,"icon":66},"How Detection Works","\u002Fguides\u002Fhow-detection-works","2.guides\u002F3.how-detection-works","i-lucide-scan-search",{"title":68,"path":69,"stem":70,"icon":71},"Duplication Trend over Git History","\u002Fguides\u002Fhistory","2.guides\u002F4.history","i-lucide-chart-no-axes-combined",{"title":73,"path":74,"stem":75,"icon":76},"Project Dashboard","\u002Fguides\u002Fdashboard","2.guides\u002F5.dashboard","i-lucide-layout-dashboard",{"title":78,"path":79,"stem":80,"icon":81},"Project Health Score","\u002Fguides\u002Fhealth","2.guides\u002F6.health","i-lucide-heart-pulse",{"title":83,"path":84,"stem":85,"children":86,"icon":6},"CI & Hooks","\u002Fci-and-hooks","3.ci-and-hooks\u002F1.index",[87,89,94],{"title":83,"path":84,"stem":85,"icon":88},"i-lucide-git-pull-request",{"title":90,"path":91,"stem":92,"icon":93},"Use jscpd in CI","\u002Fci-and-hooks\u002Fci","3.ci-and-hooks\u002F2.ci","i-lucide-github",{"title":95,"path":96,"stem":97,"icon":98},"Use jscpd in Pre-Commit Hook","\u002Fci-and-hooks\u002Fpre-commit","3.ci-and-hooks\u002F3.pre-commit","i-lucide-git-commit",{"title":100,"path":101,"stem":102,"children":103,"icon":105},"Reporters","\u002Freporters","4.reporters\u002F1.index",[104,106,110,115,120,125,130],{"title":100,"path":101,"stem":102,"icon":105},"i-lucide-file-chart-column",{"title":107,"path":108,"stem":109,"icon":29},"HTML Reporter","\u002Freporters\u002Fhtml","4.reporters\u002F2.html",{"title":111,"path":112,"stem":113,"icon":114},"JSON Reporter","\u002Freporters\u002Fjson","4.reporters\u002F3.json","i-lucide-braces",{"title":116,"path":117,"stem":118,"icon":119},"Badge Reporter","\u002Freporters\u002Fbadge","4.reporters\u002F4.badge","i-lucide-award",{"title":121,"path":122,"stem":123,"icon":124},"SARIF Reporter","\u002Freporters\u002Fsarif","4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":126,"path":127,"stem":128,"icon":129},"CodeClimate \u002F GitLab Reporter","\u002Freporters\u002Fcodeclimate","4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":131,"path":132,"stem":133,"icon":134},"OpenMetrics Reporter","\u002Freporters\u002Fopenmetrics","4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":136,"path":137,"stem":138,"children":139,"icon":6},"Benchmarks","\u002Fbenchmarks","5.benchmarks\u002F1.index",[140,142,147,152],{"title":136,"path":137,"stem":138,"icon":141},"i-lucide-gauge",{"title":143,"path":144,"stem":145,"icon":146},"Detection Speed","\u002Fbenchmarks\u002Fdetection-speed","5.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":148,"path":149,"stem":150,"icon":151},"Multi-Format Detection","\u002Fbenchmarks\u002Fcross-format","5.benchmarks\u002F3.cross-format","i-lucide-layers",{"title":153,"path":154,"stem":155,"icon":156},"AI Token Efficiency","\u002Fbenchmarks\u002Fai-token-efficiency","5.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":158,"path":159,"stem":160,"children":161,"icon":163},"API","\u002Fapi","6.api\u002F1.index",[162,164,169],{"title":158,"path":159,"stem":160,"icon":163},"i-lucide-code",{"title":165,"path":166,"stem":167,"icon":168},"Rust Crates (v5)","\u002Fapi\u002Fcore","6.api\u002F2.core","i-lucide-box",{"title":170,"path":171,"stem":172,"icon":168},"MCP Server","\u002Fapi\u002Fmcp-server","6.api\u002F4.mcp-server",{"title":174,"path":175,"stem":176,"icon":177},"Trending","\u002Ftrending","7.trending","i-lucide-trending-up",{"title":179,"path":180,"stem":181,"icon":182},"Research","\u002Fresearch","8.research","i-lucide-graduation-cap",{"title":184,"path":185,"stem":186,"icon":187},"Articles","\u002Farticles","9.articles","i-lucide-newspaper",{"name":189,"url":190,"appearances":191,"latest":205},"cactus-compute\u002Fneedle","https:\u002F\u002Fgithub.com\u002Fcactus-compute\u002Fneedle",[192],{"date":193,"rank":194,"stars":195,"starsToday":196,"headSha":197,"sources":198,"lines":199,"clones":200,"duplicatedLines":201,"percentage":202,"healthScore":203,"healthGrade":204},"2026-09-20",11,11677,234,"fc5bae0f9b6138828fe7589f6b531fb9a26968de",66,10882,12,131,1.2,70.2,"B",{"date":193,"generatedAt":206,"name":189,"url":190,"description":207,"language":208,"stars":195,"starsToday":196,"defaultBranch":209,"headSha":197,"durationMs":210,"total":211,"formats":215,"topClones":257,"health":332,"complexity":363,"deadCode":412},"2026-09-20T05:26:31.958Z","Automation foundation model for tiny devices: 2-bit, 8-29 MB, tool calls, structured extraction and embeddings on phones, wearables, smart homes, robots, cars and microcontrollers.","Python","main",647,{"sources":198,"lines":199,"tokens":212,"clones":200,"duplicatedLines":201,"duplicatedTokens":213,"percentage":202,"percentageTokens":214},113003,1426,1.26,[216,223,230,235,239,242,245,249,252,255],{"format":217,"sources":218,"lines":219,"clones":220,"duplicatedLines":221,"percentage":222},"python",40,7751,8,97,1.25,{"format":224,"sources":225,"lines":226,"clones":227,"duplicatedLines":228,"percentage":229},"markup",6,654,3,28,4.28,{"format":231,"sources":232,"lines":233,"clones":232,"duplicatedLines":225,"percentage":234},"css",1,513,1.17,{"format":236,"sources":194,"lines":237,"clones":238,"duplicatedLines":238,"percentage":238},"bash",817,0,{"format":240,"sources":232,"lines":241,"clones":238,"duplicatedLines":238,"percentage":238},"javascript",331,{"format":243,"sources":232,"lines":244,"clones":238,"duplicatedLines":238,"percentage":238},"txt",226,{"format":246,"sources":247,"lines":248,"clones":238,"duplicatedLines":238,"percentage":238},"yaml",2,174,{"format":250,"sources":232,"lines":251,"clones":238,"duplicatedLines":238,"percentage":238},"perl",168,{"format":253,"sources":232,"lines":254,"clones":238,"duplicatedLines":238,"percentage":238},"markdown",101,{"format":256,"sources":232,"lines":254,"clones":238,"duplicatedLines":238,"percentage":238},"text",[258,267,275,281,292,298,304,310,316,324],{"format":224,"lines":194,"tokens":259,"firstFile":260,"secondFile":264},268,{"name":261,"start":262,"end":263},"assets\u002Fbenchmarks.svg",231,241,{"name":261,"start":265,"end":266},284,294,{"format":224,"lines":268,"tokens":269,"firstFile":270,"secondFile":273},10,237,{"name":261,"start":271,"end":272},179,188,{"name":261,"start":274,"end":263},232,{"format":224,"lines":268,"tokens":276,"firstFile":277,"secondFile":280},235,{"name":261,"start":278,"end":279},126,135,{"name":261,"start":271,"end":272},{"format":217,"lines":282,"tokens":283,"firstFile":284,"secondFile":288},16,86,{"name":285,"start":286,"end":287},"needle\u002Fenvironments\u002Fdata_capture.py",117,132,{"name":289,"start":290,"end":291},"needle\u002Fenvironments\u002Fkitchen_appliance.py",106,121,{"format":217,"lines":282,"tokens":283,"firstFile":293,"secondFile":294},{"name":285,"start":286,"end":287},{"name":295,"start":296,"end":297},"needle\u002Fenvironments\u002Fmedia_player.py",89,104,{"format":217,"lines":282,"tokens":283,"firstFile":299,"secondFile":300},{"name":285,"start":286,"end":287},{"name":301,"start":302,"end":303},"needle\u002Fenvironments\u002Fproductivity.py",118,133,{"format":217,"lines":282,"tokens":283,"firstFile":305,"secondFile":306},{"name":285,"start":286,"end":287},{"name":307,"start":308,"end":309},"needle\u002Fenvironments\u002Fsmart_home.py",124,139,{"format":217,"lines":282,"tokens":283,"firstFile":311,"secondFile":312},{"name":285,"start":286,"end":287},{"name":313,"start":314,"end":315},"needle\u002Fenvironments\u002Fwearable.py",96,111,{"format":217,"lines":220,"tokens":317,"firstFile":318,"secondFile":320},76,{"name":319,"start":315,"end":302},"needle\u002F__init__.py",{"name":321,"start":322,"end":323},"needle\u002F_worker.py",58,65,{"format":217,"lines":268,"tokens":323,"firstFile":325,"secondFile":329},{"name":326,"start":327,"end":328},"tests\u002Ftest_fetch.py",120,129,{"name":326,"start":330,"end":331},142,151,{"score":203,"grade":204,"size":333,"dimensions":336},{"lines":334,"files":322,"class":335},10111,"M",[337,347,356],{"id":338,"source":339,"value":340,"adjusted":341,"lines":221,"halfLife":342,"formats":343,"excluded":344,"weight":232,"score":346},"duplication","jscpd",1.1,1.5,8.5,[217,236,240,250],[224,256,345],"data",88.3,{"id":348,"source":339,"value":349,"adjusted":350,"lines":351,"halfLife":352,"coverage":353,"weight":354,"score":355},"dead-code",4.5,4.2,364,7.5,79.6,0.796,67.6,{"id":357,"source":339,"value":358,"adjusted":359,"lines":360,"halfLife":361,"weight":232,"score":362},"complexity",43.5,39.7,4395,50,57.6,{"total":364,"mean":365,"files":366},1698,29.3,[367,372,376,380,385,389,394,398,402,407],{"path":368,"complexity":369,"lines":370,"bytes":371},"needle\u002Fmodel\u002Farchitecture.py",240,1134,43906,{"path":319,"complexity":373,"lines":374,"bytes":375},194,558,21493,{"path":377,"complexity":308,"lines":378,"bytes":379},"needle\u002Fmodel\u002Ffinetune.py",494,20722,{"path":381,"complexity":382,"lines":383,"bytes":384},"needle\u002Fmodel\u002Fexport.py",116,599,25305,{"path":386,"complexity":387,"lines":241,"bytes":388},"needle\u002Fplayground\u002Fapp.js",82,20802,{"path":390,"complexity":391,"lines":392,"bytes":393},"needle\u002Fagent\u002Ftools.py",75,180,7093,{"path":321,"complexity":395,"lines":396,"bytes":397},59,285,10177,{"path":399,"complexity":395,"lines":400,"bytes":401},"needle\u002Fmodel\u002Fquantize.py",233,6877,{"path":403,"complexity":404,"lines":405,"bytes":406},"tests\u002Ftest_weights.py",53,279,9419,{"path":408,"complexity":409,"lines":410,"bytes":411},"needle\u002Fcli.py",51,302,14032,{"percentage":413,"findings":414,"files":415,"byCategory":416,"largest":423},4.52,13,43,[417,419,421],{"category":418,"count":232},"unused-file",{"category":420,"count":268},"unused-export",{"category":422,"count":247},"unused-symbol",[424,426,429,433,437,439,441,443,446,448],{"category":418,"path":386,"name":425,"line":232,"lines":241},"",{"category":422,"path":368,"name":427,"line":428,"lines":414},"_parameter_path",266,{"category":422,"path":430,"name":431,"line":432,"lines":225},"needle\u002Fmodel\u002Frun.py","_step_stats",55,{"category":420,"path":434,"name":435,"line":436,"lines":247},"needle\u002Fmodel\u002Ftokenizer.py","TOOLS_END_ID",36,{"category":420,"path":434,"name":438,"line":436,"lines":247},"TOOLS_START_ID",{"category":420,"path":434,"name":440,"line":436,"lines":247},"TOOL_CALL_END_ID",{"category":420,"path":434,"name":442,"line":436,"lines":247},"TOOL_CALL_START_ID",{"category":420,"path":434,"name":444,"line":445,"lines":232},"IM_END_ID",35,{"category":420,"path":434,"name":447,"line":445,"lines":232},"IM_START_ID",{"category":420,"path":434,"name":449,"line":445,"lines":232},"THINK_END_ID",1789882070031]