nightly-labs/openbot

A local-first desktop workspace for persistent AI teammates. Run Codex, Claude, and Grok with dedicated workspaces, task queues, file sharing, browser control, and agent-to-agent collaboration.

TypeScript★ 1,641+176 that day#6 on trending

Analyzed October 27, 2026 at f91535f (main) with jscpd v5 in 6.8s.

C61.5/100
Project health917,947 lines of code (L)
Duplication76
3.3% in typescript, tsx, bash, sql, javascript, swift, kotlin, nix, ruby, docker, groovy
Dead code66
4.5%
Complexity46
55.4%

The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.

3.01%duplicated code · 22,591 of 749,828 lines
1,837clones in code
3,489code files of 5,466 scanned
3.48%duplicated over all files · 2,686 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 10 generated files: apps/auth-api/src/lib/plugin-catalog.generated.ts, apps/auth-api/src/routeTree.gen.ts, apps/mobile/src/features/marketplace/model/plugin-catalog.generated.ts, apps/mobile/src/uniwind-types.d.ts, packages/brand/src/wordmark-shape.ts, src/backend/released-schemas/v0.1.12.sql, src/backend/released-schemas/v0.1.15.sql, src/backend/released-schemas/v0.1.18.sql, src/backend/released-schemas/v0.2.1.sql, src/renderer/src/features/settings/marketplace-plugin-catalog.ts.

Largest clones in the code

  • 80 lines in 4 placestypescript484 tokens
    47      cases: z.array(z.string()).length(16),
    48      runId: z.literal(runId),
    49      sourceSha: z.literal(sourceSha),
    50    })
    51    .parse(JSON.parse(await readFile(reportPath, "utf8")));
    52  // Machine-readable summary of the completed case count.
    53  process.stdout.write(
    54    `${JSON.stringify({ status: report.status, cases: report.cases.length, report: reportPath })}\n`,
    55  );
    56} catch (error) {
    

    First 10 of 80 lines.

  • 237 lines in 2 placestypescript1,386 tokens
    37  "scripts/live-activity-autolink-e2e.ts",
    38  "src/main/live-activity-push.ts",
    39  "packages/team-client/src/dynamic-island-coordinator.ts",
    40  "packages/team-client/src/dynamic-island-presentation.ts",
    41  "packages/team-client/src/agent-message-text.ts",
    42  "packages/team-client/src/live-activity-props.ts",
    43  "packages/team-client/src/live-activity-text.ts",
    44  "packages/team-client/src/live-activity-seal.ts",
    45  "apps/mobile/src/features/live-activity/model/live-activity-open.ts",
    46];
    

    First 10 of 237 lines.

  • 196 lines in 2 placestypescript1,126 tokens
    37  "scripts/live-activity-autolink-e2e.ts",
    38  "src/main/live-activity-push.ts",
    39  "packages/team-client/src/dynamic-island-coordinator.ts",
    40  "packages/team-client/src/dynamic-island-presentation.ts",
    41  "packages/team-client/src/agent-message-text.ts",
    42  "packages/team-client/src/live-activity-props.ts",
    43  "packages/team-client/src/live-activity-text.ts",
    44  "packages/team-client/src/live-activity-seal.ts",
    45  "apps/mobile/src/features/live-activity/model/live-activity-open.ts",
    46];
    

    First 10 of 196 lines.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
typescript2,332505,4531,50618,7303.71%
tsx1,104238,1473263,8051.6%
bash232,9952180.6%
ruby411223228.57%
swift6997160.6%
javascript141,477000%
kotlin5609000%
groovy138000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
typescript3,617671,3551,86426,1263.89%
tsx1,123238,8823263,8051.59%
css14265,0952592,0343.12%
diff116,2581321,25620.07%
json12310,450451,96518.8%
yaml426,288212584.1%
markdown26136,103191440.4%
sql341,8631165235%
bash433,2263230.71%
markup1218434222.83%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Oct 27, 2026#61,641 (+176)5,4661,043,7382,6863.48%3.01%C 61.5f91535f

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.