t8y2/dbx
25 MB lightweight cross-platform database client for 100+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 100+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP。
The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
Most complex files
- apps/desktop/src/stores/queryStore.ts3465 cx
- apps/desktop/src/stores/connectionStore.ts3352 cx
- crates/dbx-driver-postgres/src/postgres.rs3020 cx
- agents/go-common/iotdb-client-go/common/common.go2872 cx
- crates/dbx-core/src/persistence/storage.rs2694 cx
- crates/dbx-core/src/data/transfer.rs2614 cx
- crates/dbx-core/assets/docs-export.js2340 cx
- crates/dbx-core/src/schema/mod.rs2315 cx
- apps/desktop/src/lib/sql/sqlCompletion.ts2047 cx
- crates/dbx-core/src/data/table_import.rs1994 cx
Dead code 0.57% unused · 240 findings
- apps/desktop/src/components/config/TagManagementPanel.vueunused-file
- docs/worker.tsunused-file
- apps/desktop/src/components/settings/McpConnectionScopePicker.vueunused-file
- deploy/plugin-stats-worker/worker.tsunused-file
- agents/drivers/oceanbase-oracle/scripts/verify-schema-objects.tsunused-file
- apps/desktop/src/lib/sidebar/treeNodeIcon.tsunused-file
- plugins/sdk/dev-host/runtime.mjsunused-file
- agents/drivers/oceanbase-oracle/scripts/verify-partition-ddl.tsunused-file
- apps/desktop/src/components/config/ConfigDriftPanel.vueunused-file
- apps/desktop/src/components/diff/RebasePanel.vueunused-file
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 10 generated files: agents/go-common/iotdb-client-go/common/common-consts.go, agents/go-common/iotdb-client-go/common/common.go, agents/go-common/iotdb-client-go/common/GoUnusedProtection__.go, agents/go-common/iotdb-client-go/rpc/client-consts.go, agents/go-common/iotdb-client-go/rpc/client.go, agents/go-common/iotdb-client-go/rpc/GoUnusedProtection__.go, apps/desktop/src/lib/database/databaseObjectCapabilities.ts, apps/desktop/src/types/generated/connectionProfiles.ts, apps/desktop/src/types/generated/databaseTypes.ts, crates/dbx-core/assets/docs-export.js.
Largest clones in the code
- 20 lines in 15 placesgo792 tokensagents/go-common/iotdb-client-go/client/bitmap.go:1–20agents/go-common/iotdb-client-go/client/column.go:1–20agents/go-common/iotdb-client-go/client/column_decoder.go:1–20agents/go-common/iotdb-client-go/client/errors.go:1–20agents/go-common/iotdb-client-go/client/field.go:1–20and 10 more
1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0First 10 of 20 lines.
- 563 lines in 2 placesgo4,190 tokens
173if strings.EqualFold(params.DatabaseType, "impala") { 174 config.Auth = "NOSASL" 175 config.Kerberos.Service = defaultImpalaService 176} 177if params.ConnectTimeout > 0 { 178 config.ConnectTimeout = time.Duration(params.ConnectTimeout) * time.Second 179} 180 181parsed, err := parseHiveConnectionString(params.ConnectionString) 182if err != nil {First 10 of 563 lines.
- 664 lines in 2 placespython4,019 tokensagents/drivers/argo-go/bench/agent_compare.py:1–664agents/drivers/hive-go/bench/agent_compare.py:1–664
1#!/usr/bin/env python3 2import json 3import os 4import queue 5import shlex 6import statistics 7import subprocess 8import sys 9import threading 10import timeFirst 10 of 664 lines.
7 more
- 620 lines in 2 placesgo3,909 tokens
- 568 lines in 2 placesgo3,548 tokens
- 507 lines in 2 placesgo3,455 tokens
- 392 lines in 2 placesgo2,733 tokens
- 213 lines in 2 placesgo2,373 tokens
- 336 lines in 2 placesgo2,036 tokens
- 15 lines in 24 placesrust76 tokenscrates/dbx-sql-schema/src/table_structure_sql/tests.rs:432–446crates/dbx-sql-schema/src/table_structure_sql/tests.rs:795–807crates/dbx-sql-schema/src/table_structure_sql/tests.rs:1062–1074crates/dbx-sql-schema/src/table_structure_sql/tests.rs:1100–1112crates/dbx-sql-schema/src/table_structure_sql/tests.rs:1163–1177and 19 more
Largest clones over all files, tests and data included
- 20 lines in 15 placesgo792 tokensagents/go-common/iotdb-client-go/client/bitmap.go:1–20agents/go-common/iotdb-client-go/client/column.go:1–20agents/go-common/iotdb-client-go/client/column_decoder.go:1–20agents/go-common/iotdb-client-go/client/errors.go:1–20agents/go-common/iotdb-client-go/client/field.go:1–20and 10 more
1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0First 10 of 20 lines.
- 620 lines in 2 placesgotests5,011 tokens
92 t.Fatalf("unexpected object source DDL: %q", source.Source) 93 } 94} 95 96func TestListDatabasesUsesShowDatabasesBeforeHiveServerMetadata(t *testing.T) { 97 behavior := &scriptedBehavior{ 98 query: func(ctx context.Context, sql string) (driver.Rows, error) { 99 if sql != "SHOW DATABASES" { 100 t.Fatalf("unexpected query: %q", sql) 101 }First 10 of 620 lines.
- 563 lines in 2 placesgo4,190 tokens
173if strings.EqualFold(params.DatabaseType, "impala") { 174 config.Auth = "NOSASL" 175 config.Kerberos.Service = defaultImpalaService 176} 177if params.ConnectTimeout > 0 { 178 config.ConnectTimeout = time.Duration(params.ConnectTimeout) * time.Second 179} 180 181parsed, err := parseHiveConnectionString(params.ConnectionString) 182if err != nil {First 10 of 563 lines.
- 664 lines in 2 placespython4,019 tokens
- 620 lines in 2 placesgo3,909 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 529 | 544,305 | 4,795 | 54,946 | 10.09% |
| typescript | 1,545 | 364,674 | 956 | 11,165 | 3.06% |
| go | 153 | 75,248 | 696 | 16,203 | 21.53% |
| java | 101 | 40,349 | 362 | 4,541 | 11.25% |
| html | 414 | 38,285 | 181 | 2,149 | 5.61% |
| css | 118 | 12,075 | 167 | 2,200 | 18.22% |
| javascript | 70 | 12,544 | 12 | 196 | 1.56% |
| python | 12 | 3,232 | 9 | 985 | 30.48% |
| powershell | 16 | 1,010 | 4 | 44 | 4.36% |
| sql | 6 | 48 | 3 | 24 | 50% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 661 | 581,629 | 5,423 | 62,571 | 10.76% |
| typescript | 3,250 | 799,689 | 4,680 | 56,112 | 7.02% |
| go | 260 | 123,736 | 1,309 | 26,778 | 21.64% |
| java | 173 | 74,129 | 806 | 10,247 | 13.82% |
| yaml | 191 | 18,532 | 188 | 3,657 | 19.73% |
| html | 429 | 38,790 | 182 | 2,158 | 5.56% |
| css | 130 | 19,826 | 181 | 2,324 | 11.72% |
| json | 88 | 19,380 | 122 | 2,486 | 12.83% |
| markup | 70 | 3,729 | 38 | 893 | 23.95% |
| javascript | 120 | 19,547 | 30 | 399 | 2.04% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 1, 2026 | #9 | 23,371 (+1,138) | 6,201 | 1,965,186 | 13,028 | 8.63% | 7.01% | D 50.4 | 8d9e2dc |
| Sep 30, 2026 | #4 | 22,365 (+232) | 6,149 | 1,949,649 | 12,903 | 8.62% | 7.02% | D 50.3 | 89964da |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.