1 view
NVIDIA/OpenShell
OpenShell is the safe, private runtime for autonomous AI agents.
Rust★ 19,589+896 that day#2 on trending
E37.4/100
Duplication44
10.2% in rust, go, bash, python, typescript, powershell, nix, javascript, rego, docker, c, tsx, sql, jqDead coden/a
the languages dead code reads are under 5% of the codeComplexity32
82.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.
9.97%duplicated code · 62,303 of 624,711 lines
5,378clones in code
801code files of 2,008 scanned
11.12%duplicated over all files · 7,278 clones
Most complex files
- sdk/go/proto/openshellv1/openshell.pb.go3846 cx
- crates/openshell-server/src/grpc/policy.rs1660 cx
- crates/openshell-server/src/compute/mod.rs1632 cx
- crates/openshell-driver-vm/src/driver.rs1593 cx
- crates/openshell-driver-kubernetes/src/driver.rs1536 cx
- crates/openshell-cli/src/run.rs1311 cx
- crates/openshell-supervisor-network/src/proxy.rs1197 cx
- crates/openshell-server/src/grpc/provider.rs1187 cx
- crates/openshell-supervisor-network/src/l7/rest.rs1167 cx
- crates/openshell-driver-docker/src/lib.rs1058 cx
Dead code 0.44% unused · 3 findings
- docs/_components/CommandTerminal.tsxunused-file
- docs/_components/BadgeLinks.tsxunused-file
- tasks/scripts/release.py:_rununused-symbol
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 5 generated files: sdk/go/proto/datamodelv1/datamodel.pb.go, sdk/go/proto/openshellv1/openshell_grpc.pb.go, sdk/go/proto/openshellv1/openshell.pb.go, sdk/go/proto/optionsv1/options.pb.go, sdk/go/proto/sandboxv1/sandbox.pb.go.
Largest clones in the code
- 380 lines in 2 placesrust2,225 tokenscrates/openshell-sandbox/src/mechanistic_mapper.rs:157–536crates/openshell-supervisor/src/mechanistic_mapper.rs:158–537
157 }] 158}; 159 160let proposed_rule = NetworkPolicyRule { 161 name: rule_name.clone(), 162 endpoints: vec![endpoint], 163 binaries, 164}; 165 166// Compute confidence.First 10 of 380 lines.
- 9 lines in 44 placesrust50 tokenscrates/openshell-server/src/grpc/provider.rs:7017–7025crates/openshell-server/src/grpc/provider.rs:8304–8312crates/openshell-server/src/grpc/provider.rs:8859–8867crates/openshell-server/src/grpc/provider.rs:8944–8952crates/openshell-server/src/grpc/provider.rs:9136–9144and 39 more
7017 name: name.to_string(), 7018 created_time: None, 7019 labels: HashMap::new(), 7020 resource_version: 0, 7021 annotations: HashMap::new(), 7022 workspace: "default".to_string(), 7023 deletion_time: None, 7024}), 7025r#type: provider_type.to_string(),8304 name: "msgraph".to_string(), 8305 created_time: None, 8306 labels: HashMap::new(), 8307 resource_version: 0, 8308 annotations: HashMap::new(), 8309 workspace: "default".to_string(), 8310 deletion_time: None, 8311}), 8312r#type: TEST_GRAPH_PROVIDER_TYPE.to_string(), - 8 lines in 30 placesrust59 tokenscrates/openshell-server/src/compute/mod.rs:17643–17650crates/openshell-server/src/grpc/policy.rs:10506–10513crates/openshell-server/src/grpc/policy.rs:11467–11474crates/openshell-server/src/grpc/policy.rs:11522–11529crates/openshell-server/src/grpc/policy.rs:11753–11760and 25 more
17643 name: "test-sandbox".to_string(), 17644 created_time: openshell_core::time::timestamp_from_millis(1_000_000).ok(), 17645 labels: HashMap::new(), 17646 resource_version: 0, 17647 annotations: HashMap::new(), 17648 workspace: "default".to_string(), 17649 deletion_time: None, 17650});10506 name: "test-user".to_string(), 10507 created_time: openshell_core::time::timestamp_from_millis(1_000_000).ok(), 10508 labels: HashMap::new(), 10509 resource_version: 0, 10510 annotations: HashMap::new(), 10511 workspace: "default".to_string(), 10512 deletion_time: None, 10513}),
7 more
- 25 lines in 3 placesrust816 tokens
- 7 lines in 32 placesrust50 tokens
- 220 lines in 2 placesrust1,227 tokens
- 11 lines in 15 placesrust82 tokens
- 132 lines in 2 placesrust1,117 tokens
- 11 lines in 11 placesrust111 tokens
- 8 lines in 7 placesrust173 tokens
Largest clones over all files, tests and data included
- 10 lines in 252 placesgogenerated51 tokenssdk/go/proto/datamodelv1/datamodel.pb.go:110–119sdk/go/proto/datamodelv1/datamodel.pb.go:192–201sdk/go/proto/datamodelv1/datamodel.pb.go:255–264sdk/go/proto/datamodelv1/datamodel.pb.go:349–358sdk/go/proto/datamodelv1/datamodel.pb.go:400–409and 247 more
110 mi := &file_datamodel_proto_msgTypes[0] 111 if x != nil { 112 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 113 if ms.LoadMessageInfo() == nil { 114 ms.StoreMessageInfo(mi) 115 } 116 return ms 117 } 118 return mi.MessageOf(x) 119} - 380 lines in 2 placesrust2,225 tokenscrates/openshell-sandbox/src/mechanistic_mapper.rs:157–536crates/openshell-supervisor/src/mechanistic_mapper.rs:158–537
157 }] 158}; 159 160let proposed_rule = NetworkPolicyRule { 161 name: rule_name.clone(), 162 endpoints: vec![endpoint], 163 binaries, 164}; 165 166// Compute confidence.First 10 of 380 lines.
- 9 lines in 44 placesrust50 tokenscrates/openshell-server/src/grpc/provider.rs:7017–7025crates/openshell-server/src/grpc/provider.rs:8304–8312crates/openshell-server/src/grpc/provider.rs:8859–8867crates/openshell-server/src/grpc/provider.rs:8944–8952crates/openshell-server/src/grpc/provider.rs:9136–9144and 39 more
7017 name: name.to_string(), 7018 created_time: None, 7019 labels: HashMap::new(), 7020 resource_version: 0, 7021 annotations: HashMap::new(), 7022 workspace: "default".to_string(), 7023 deletion_time: None, 7024}), 7025r#type: provider_type.to_string(),8304 name: "msgraph".to_string(), 8305 created_time: None, 8306 labels: HashMap::new(), 8307 resource_version: 0, 8308 annotations: HashMap::new(), 8309 workspace: "default".to_string(), 8310 deletion_time: None, 8311}), 8312r#type: TEST_GRAPH_PROVIDER_TYPE.to_string(), - 253 lines in 2 placesrusttests1,900 tokens
- 8 lines in 30 placesrust59 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 556 | 577,284 | 5,262 | 60,969 | 10.56% |
| go | 116 | 16,130 | 58 | 623 | 3.86% |
| bash | 89 | 19,468 | 32 | 445 | 2.29% |
| python | 24 | 7,699 | 20 | 203 | 2.64% |
| typescript | 8 | 2,874 | 3 | 35 | 1.22% |
| powershell | 5 | 897 | 3 | 28 | 3.12% |
| javascript | 2 | 265 | 0 | 0 | 0% |
| tsx | 1 | 94 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 742 | 651,456 | 6,035 | 72,497 | 11.13% |
| go | 230 | 72,593 | 577 | 5,855 | 8.07% |
| json | 66 | 30,948 | 306 | 17,125 | 55.33% |
| yaml | 300 | 27,574 | 159 | 2,310 | 8.38% |
| bash | 184 | 32,691 | 65 | 926 | 2.83% |
| python | 66 | 20,661 | 41 | 496 | 2.4% |
| typescript | 15 | 6,331 | 22 | 213 | 3.36% |
| markup | 16 | 963 | 19 | 181 | 18.8% |
| javascript | 10 | 1,453 | 14 | 271 | 18.65% |
| markdown | 176 | 35,446 | 11 | 235 | 0.66% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 25, 2026 | #2 | 19,589 (+896) | 2,008 | 902,926 | 7,278 | 11.12% | 9.97% | E 37.4 | c4688aa |
| Oct 24, 2026 | #3 | 18,924 (+1,119) | 2,008 | 902,926 | 7,278 | 11.12% | 9.97% | E 37.4 | c4688aa |
| Oct 3, 2026 | #3 | 14,497 (+594) | 1,758 | 789,678 | 6,892 | 12.18% | 11.06% | E 36 | 48d9ab3 |
| Oct 2, 2026 | #1 | 14,111 (+2,456) | 1,752 | 786,273 | 6,876 | 12.21% | 11.08% | E 36 | 76cfd0e |
| Oct 1, 2026 | #1 | 13,057 (+1,281) | 1,780 | 791,578 | 6,844 | 12.08% | 11.1% | E 36.1 | 021400b |
| Sep 30, 2026 | #2 | 10,844 (+990) | 1,775 | 791,370 | 6,821 | 12.05% | 11.03% | E 36.1 | 252882f |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.