[{"data":1,"prerenderedAt":438},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-mihail911\u002Fmodern-software-dev-assignments":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},"mihail911\u002Fmodern-software-dev-assignments","https:\u002F\u002Fgithub.com\u002Fmihail911\u002Fmodern-software-dev-assignments",[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-21",6,4632,172,"ca2df55b78d6194612b65ae3fbfaa55a4678a683",111,5750,70,1534,26.68,41.5,"D",{"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":272,"health":337,"complexity":367,"deadCode":408},"2026-09-21T05:29:55.149Z","Assignments for CS146S: The Modern Software Dev (Stanford University Fall 2026\u002F2025)","Python","master",705,{"sources":198,"lines":199,"tokens":212,"clones":200,"duplicatedLines":201,"duplicatedTokens":213,"percentage":202,"percentageTokens":214},35163,10057,28.6,[216,223,230,237,243,248,252,258,264,269],{"format":217,"sources":218,"lines":219,"clones":220,"duplicatedLines":221,"percentage":222},"python",54,2487,32,853,34.3,{"format":224,"sources":225,"lines":226,"clones":227,"duplicatedLines":228,"percentage":229},"markdown",20,1367,14,222,16.24,{"format":231,"sources":232,"lines":233,"clones":234,"duplicatedLines":235,"percentage":236},"javascript",4,312,8,210,67.31,{"format":238,"sources":239,"lines":240,"clones":241,"duplicatedLines":198,"percentage":242},"markup",5,226,7,49.12,{"format":244,"sources":232,"lines":245,"clones":246,"duplicatedLines":247,"percentage":200},"yaml",60,3,42,{"format":249,"sources":232,"lines":220,"clones":246,"duplicatedLines":250,"percentage":251},"css",21,65.63,{"format":253,"sources":232,"lines":254,"clones":255,"duplicatedLines":256,"percentage":257},"sql",84,2,40,47.62,{"format":259,"sources":255,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263},"text",158,1,35,22.15,{"format":265,"sources":266,"lines":267,"clones":268,"duplicatedLines":268,"percentage":268},"bash",11,806,0,{"format":270,"sources":261,"lines":271,"clones":268,"duplicatedLines":268,"percentage":268},"perl",168,[273,279,287,295,301,308,315,319,323,330],{"format":217,"lines":200,"tokens":274,"firstFile":275,"secondFile":277},532,{"name":276,"start":261,"end":200},"week6\u002Fbackend\u002Fapp\u002Frouters\u002Faction_items.py",{"name":278,"start":261,"end":200},"week7\u002Fbackend\u002Fapp\u002Frouters\u002Faction_items.py",{"format":231,"lines":280,"tokens":281,"firstFile":282,"secondFile":285},77,527,{"name":283,"start":227,"end":284},"week6\u002Ffrontend\u002Fapp.js",90,{"name":286,"start":227,"end":284},"week7\u002Ffrontend\u002Fapp.js",{"format":217,"lines":288,"tokens":289,"firstFile":290,"secondFile":293},62,504,{"name":291,"start":239,"end":292},"week6\u002Fbackend\u002Fapp\u002Frouters\u002Fnotes.py",66,{"name":294,"start":239,"end":292},"week7\u002Fbackend\u002Fapp\u002Frouters\u002Fnotes.py",{"format":231,"lines":292,"tokens":296,"firstFile":297,"secondFile":299},457,{"name":298,"start":261,"end":292},"week4\u002Ffrontend\u002Fapp.js",{"name":300,"start":261,"end":292},"week5\u002Ffrontend\u002Fapp.js",{"format":217,"lines":302,"tokens":303,"firstFile":304,"secondFile":306},47,385,{"name":305,"start":261,"end":302},"week4\u002Fbackend\u002Fapp\u002Frouters\u002Fnotes.py",{"name":307,"start":261,"end":302},"week5\u002Fbackend\u002Fapp\u002Frouters\u002Fnotes.py",{"format":217,"lines":309,"tokens":310,"firstFile":311,"secondFile":313},56,283,{"name":312,"start":261,"end":309},"week4\u002Fbackend\u002Fapp\u002Fdb.py",{"name":314,"start":261,"end":309},"week5\u002Fbackend\u002Fapp\u002Fdb.py",{"format":217,"lines":309,"tokens":310,"firstFile":316,"secondFile":317},{"name":312,"start":261,"end":309},{"name":318,"start":261,"end":309},"week6\u002Fbackend\u002Fapp\u002Fdb.py",{"format":217,"lines":309,"tokens":310,"firstFile":320,"secondFile":321},{"name":312,"start":261,"end":309},{"name":322,"start":261,"end":309},"week7\u002Fbackend\u002Fapp\u002Fdb.py",{"format":217,"lines":324,"tokens":325,"firstFile":326,"secondFile":328},36,275,{"name":327,"start":261,"end":324},"week4\u002Fbackend\u002Fapp\u002Frouters\u002Faction_items.py",{"name":329,"start":261,"end":324},"week5\u002Fbackend\u002Fapp\u002Frouters\u002Faction_items.py",{"format":259,"lines":324,"tokens":331,"firstFile":332,"secondFile":335},244,{"name":333,"start":334,"end":288},"week8\u002Fwriteup.md:text",27,{"name":333,"start":302,"end":336},82,{"score":203,"grade":204,"size":338,"dimensions":342},{"lines":339,"files":340,"class":341},4003,81,"S",[343,354,363],{"id":344,"source":345,"value":346,"adjusted":347,"lines":348,"halfLife":349,"formats":350,"excluded":351,"weight":261,"score":353},"duplication","jscpd",29.5,20.4,1103,8.5,[217,265,231,270,253],[238,259,352],"data",18.9,{"id":355,"source":345,"value":356,"adjusted":357,"lines":358,"halfLife":359,"coverage":360,"weight":361,"score":362},"dead-code",13.9,9.5,402,7.5,72,0.72,41.6,{"id":364,"source":345,"value":268,"adjusted":241,"lines":268,"halfLife":365,"weight":261,"score":366},"complexity",50,90.8,{"total":368,"mean":369,"files":370},500,6.2,[371,375,380,383,387,391,396,399,401,405],{"path":372,"complexity":373,"lines":271,"bytes":374},"week1\u002Ftool_calling.py",38,5265,{"path":376,"complexity":377,"lines":378,"bytes":379},"week1\u002Freflexion.py",28,153,5006,{"path":291,"complexity":225,"lines":381,"bytes":382},131,4057,{"path":384,"complexity":385,"lines":271,"bytes":386},".git\u002Fhooks\u002Ffsmonitor-watchman.sample",19,4611,{"path":388,"complexity":385,"lines":389,"bytes":390},"week2\u002Fapp\u002Fservices\u002Fextract.py",89,2382,{"path":392,"complexity":393,"lines":394,"bytes":395},"week1\u002Frag.py",18,123,3893,{"path":283,"complexity":397,"lines":284,"bytes":398},15,2929,{"path":286,"complexity":397,"lines":284,"bytes":400},2914,{"path":402,"complexity":227,"lines":403,"bytes":404},".git\u002Fhooks\u002Fpre-rebase.sample",169,4898,{"path":406,"complexity":227,"lines":280,"bytes":407},".git\u002Fhooks\u002Fsendemail-validate.sample",2308,{"percentage":409,"findings":410,"files":411,"byCategory":412,"largest":419},13.94,26,78,[413,415,417],{"category":414,"count":234},"unused-file",{"category":416,"count":232},"unused-export",{"category":418,"count":227},"unused-import",[420,423,424,425,426,428,431,435,436,437],{"category":414,"path":283,"name":421,"line":261,"lines":422},"",92,{"category":414,"path":286,"name":421,"line":261,"lines":422},{"category":414,"path":298,"name":421,"line":261,"lines":292},{"category":414,"path":300,"name":421,"line":261,"lines":292},{"category":414,"path":427,"name":421,"line":261,"lines":227},"week6\u002Fbackend\u002Fapp\u002Fservices\u002Fextract.py",{"category":414,"path":429,"name":421,"line":261,"lines":430},"week7\u002Fbackend\u002Fapp\u002Fservices\u002Fextract.py",12,{"category":416,"path":312,"name":432,"line":433,"lines":434},"get_session",31,10,{"category":416,"path":314,"name":432,"line":433,"lines":434},{"category":416,"path":318,"name":432,"line":433,"lines":434},{"category":416,"path":322,"name":432,"line":433,"lines":434},1789968660749]