Modern and easy to use database GUI & SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
This report summarizes scanner evidence for beekeeper-studio/beekeeper-studio, a TypeScript project with 23,822 GitHub stars. SynthScan examined 256,489 lines of code across 1694 source files, recording 187 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 1.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 130 finding(s).
Are imports declared and package/API names verified? 47 finding(s).
Are wrappers, guards, and repeated structures necessary? 45 finding(s).
Which changes need focused human review? 187 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 187 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/plugin_development/api-reference.md | 436 | value: "user@example.com" | CODE |
| LOW⚡ | dev/docker_redis/data.sh | 12 | redis-cli SET user:1:name "John Doe" | CODE |
| LOW⚡ | dev/docker_redis/data.sh | 18 | redis-cli SET article:1001 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | CODE |
| LOW⚡ | dev/docker_redis/data.sh | 18 | redis-cli SET article:1001 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | CODE |
| LOW⚡ | dev/docker_redis/data.sh | 21 | redis-cli HSET user:1:profile name "John Doe" email "john.doe@example.com" age 30 city "New York" occupation "Software E | CODE |
| LOW | dev/docker_redis/data.sh | 49 | redis-cli ZADD quiz:scores 95 "John Doe" | CODE |
| LOW | dev/docker_mongodb_init/sakila.js | 87 | street: "123 Main St", | CODE |
| LOW | …est/unit/components/tableinfo/TableInfoToolbar.spec.ts | 23 | expect(input.attributes("placeholder")).toEqual("Filter columns"); | CODE |
| LOW | …/tests/vitest/unit/common/appdb/models/license.spec.ts | 37 | license.email = "fake-email"; | CODE |
| LOW | …/tests/vitest/unit/common/appdb/models/license.spec.ts | 38 | license.key = "fake-key"; | CODE |
| LOW | …/studio/tests/vitest/unit/lib/db/clients/trino.spec.ts | 88 | fs.writeFileSync(keyFile, 'fake-key') | CODE |
| LOW | …dio/tests/vitest/unit/handlers/licenseHandlers.spec.ts | 109 | license.email = "fake-email"; | CODE |
| LOW | …dio/tests/vitest/unit/handlers/licenseHandlers.spec.ts | 110 | license.key = "fake-key"; | CODE |
| LOW | …udio/tests/vitest/unit/store/CredentialsModule.spec.ts | 43 | credential: { id: 1, appId: 'beekeeper-app-x', email: 'user@example.com', token: 'token' }, | CODE |
| LOW | …s/studio/tests/vitest/unit/store/LicenseModule.spec.ts | 32 | email: 'user@example.com', | CODE |
| LOW | …/tests/vitest/integration/lib/db/clients/mysql.spec.js | 910 | expect(result[0].full_name).toBe("John Doe") | CODE |
| LOW | …/tests/vitest/integration/lib/db/clients/mysql.spec.js | 1492 | expect(result[0].full_name).toBe("John Doe") | CODE |
| LOW | …ests/vitest/integration/lib/db/clients/mongodb.spec.ts | 1130 | name: "John Doe", | CODE |
| LOW | …ests/vitest/integration/lib/db/clients/mongodb.spec.ts | 1147 | expect(result.result[0].name).toBe("John Doe"); | CODE |
| LOW | …ests/vitest/integration/lib/db/clients/mongodb.spec.ts | 1152 | name: "Jane Doe" | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 17 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 17 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 22 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 22 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 32 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW⚡ | …lib/db/clients/scripts/large-stored-proc.sqlserver.sql | 32 | -- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | apps/studio/tests/lib/db.ts | 270 | let people = this.maybeArrayToObject(await this.knex("people").insert({ email: "foo@bar.com", address_id: address[0] | CODE |
| LOW | apps/studio/tests/lib/db.ts | 274 | people = (await this.knex("people").select("id").where({email: "foo@bar.com"}))[0] | CODE |
| LOW | …ps/studio/src/components/tableinfo/TableInfoFilter.vue | 9 | :placeholder="placeholder" | CODE |
| LOW | apps/studio/src/components/common/form/MultiSelect.vue | 21 | :placeholder="placeholder" | CODE |
| LOW⚡ | apps/studio/src/handlers/devHandlers.ts | 33 | license.email = "fake_email"; | CODE |
| LOW⚡ | apps/studio/src/handlers/devHandlers.ts | 34 | license.key = "fake_key"; | CODE |
| LOW⚡ | apps/studio/src/handlers/devHandlers.ts | 44 | license.email = "fake_email"; | CODE |
| LOW⚡ | apps/studio/src/handlers/devHandlers.ts | 45 | license.key = "fake_key"; | CODE |
| LOW | apps/studio/src/handlers/devHandlers.ts | 58 | license.email = "fake_email"; | CODE |
| LOW | apps/studio/src/handlers/devHandlers.ts | 59 | license.key = "fake_key"; | CODE |
| LOW | apps/studio/src/store/modules/LicenseModule.ts | 218 | const isDevUpdate = window.platformInfo.isDevelopment && license.email == "fake_email"; | CODE |
| LOW | apps/ui-kit/docs/table.md | 15 | { id: 1, name: "John Doe" }, | CODE |
| LOW | apps/ui-kit/docs/data-editor.md | 25 | { id: 1, name: "John Doe" }, | CODE |
| LOW | apps/ui-kit/docs/data-editor.md | 73 | { uuid: "123-456-789", name: "John Doe", email: "john.doe@example.com" }, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mkdocs.yml | 81 | - include-markdown | COMMENT |
| LOW | bin/check-shell-scripts.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/rc-prs/sync-rc-prs.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/rc-prs/check-open-pr.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/rc-prs/check-branch-ahead.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/rc-prs/open-rc-pr.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/workflows/studio-publish.yml | 441 | # deb/rpm repo publishing and snap store uploads moved to | COMMENT |
| LOW | .github/workflows/release-published.yml | 1 | name: Release - Publish Channels | COMMENT |
| LOW | .github/workflows/studio-test.yml | 201 | # - name: Install Node.js, NPM and Yarn | COMMENT |
| LOW | .github/scripts/prepare_rpm_repo.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/scripts/publish_rpm.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .github/scripts/test_prepare_rpm_repo.sh | 1 | #!/bin/bash | COMMENT |
| LOW | dev/docker_sqlserver_kerberos/docker-compose.yml | 1 | # Stands up a fully self-contained Kerberos environment for the SQL Server integrated-auth | COMMENT |
| LOW | dev/docker_mongodb_kerberos/docker-compose.yml | 1 | # Stands up a fully self-contained Kerberos environment for the MongoDB GSSAPI auth test -- | COMMENT |
| LOW | dev/docker_bigquery/data.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …test/unit/handlers/driverHandlerNullConnection.spec.ts | 1 | import { describe, it, expect, vi, beforeEach, afterEach } from "vitest" | COMMENT |
| LOW | …e/used_connection/UnsavedConnectionPhantomTabs.spec.ts | 21 | // that was never saved surfaced (and then corrupted) the open tabs of an | COMMENT |
| LOW | …ests/vitest/integration/lib/db/clients/bedrock.spec.ts | 1 | // Integration tests for Bedrock (Expensify's SQLite-over-MySQL-wire DB). | COMMENT |
| LOW | …t/integration/lib/db/clients/sqlserver-winauth.spec.ts | 1 | import { describe, it, expect, beforeAll, afterAll } from "vitest" | COMMENT |
| LOW | …/integration/lib/db/clients/sqlserver-kerberos.spec.ts | 1 | import { describe, it, expect, beforeAll, afterAll } from "vitest" | COMMENT |
| LOW | …tegration/lib/db/clients/ssh-skip-bad-identity.spec.js | 1 | // Regression test for https://github.com/beekeeper-studio/beekeeper-studio/issues/4366 | COMMENT |
| LOW | …ts/vitest/integration/lib/db/clients/surrealdb.spec.ts | 681 | expect(result).toBeDefined() | COMMENT |
| LOW | …io/tests/vitest/integration/lib/db/clients/ssh.spec.js | 141 | // SSH tunnels stopped working for "none"-auth servers in v5.8.0. Some SSH | COMMENT |
| LOW | …st/integration/lib/db/clients/mongodb-kerberos.spec.ts | 1 | import { describe, it, expect, beforeAll, afterAll } from "vitest" | COMMENT |
| LOW | …tests/vitest/integration/lib/db/clients/oracle.spec.js | 241 | // these should work just fine. | COMMENT |
| LOW | …tests/vitest/integration/lib/db/clients/oracle.spec.js | 261 | // skipCreateDatabase: true, | COMMENT |
| LOW | …on/lib/db/clients/ssh-agent-encrypted-identity.spec.js | 1 | // Regression test for the encrypted default IdentityFile case. | COMMENT |
| LOW | apps/studio/tests/lib/db.ts | 1641 | // queryStream() is the engine behind the export flow (apps/studio/src/lib/ | COMMENT |
| LOW | …io/src-commercial/backend/lib/db/clients/clickhouse.ts | 1021 | return { totalRows, columns, cursor }; | COMMENT |
| LOW | …c/shared/lib/knex-duckdb/query/duckdb-querycompiler.js | 41 | }; | COMMENT |
| LOW | …shared/lib/knex-oracledb/query/oracle-querycompiler.js | 21 | outBinding[index] = ['ROWID']; | COMMENT |
| LOW | apps/studio/src/shared/lib/knex-starrocks/index.js | 1 | // StarRocks knex client (test harness only) | COMMENT |
| LOW | …hared/lib/sql/change_builder/CassandraChangeBuilder.ts | 21 | // MySQL is a cluster when it comes to default values. | COMMENT |
| LOW | apps/studio/src/components/tableview/TableTable.vue | 2061 | // the fuck is this?? | COMMENT |
| LOW | apps/studio/src/components/upsell/AiShellPreview.vue | 101 | </p> | COMMENT |
| LOW | apps/studio/src/components/export/mixins/export-info.js | 1 | export default { | COMMENT |
| LOW | apps/studio/src/lib/db/clients/BasicDatabaseClient.ts | 681 | // force rawExecuteQuery to return a single result | COMMENT |
| LOW | apps/studio/src/lib/db/clients/BasicDatabaseClient.ts | 721 | options['multiple'] = true; | COMMENT |
| LOW | apps/studio/src/lib/db/restore-clients/mysql.ts | 21 | // This is for some future convenience options | COMMENT |
| LOW | apps/studio/src/lib/db/restore-clients/mysql.ts | 41 | // required: false, | COMMENT |
| LOW | apps/studio/src/lib/db/backup-clients/mysql.ts | 21 | { | COMMENT |
| LOW | apps/studio/src/lib/log/rendererLogger.ts | 1 | import log from 'electron-log/renderer'; | COMMENT |
| LOW | apps/studio/src/lib/log/bksLogger.d.ts | 1 | // Ambient module declaration for the `@bksLogger` import specifier. | COMMENT |
| LOW | apps/ui-kit/examples/react/src/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | apps/ui-kit/examples/react/src/vite-env.d.ts | 21 | // }>; | COMMENT |
| LOW | apps/ui-kit/lib/components/sql-text-editor/props.ts | 101 | formatterModalId: { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | apps/studio/src/services/plugin/web/WebPluginManager.ts | 180 | const view = loader.context.manifest.capabilities.views.find( | CODE |
| CRITICAL | …io/src/services/plugin/web/WebPluginCommandExecutor.ts | 8 | const menuItem = this.context.manifest.capabilities.menu.find((item) => { | CODE |
| CRITICAL | apps/ui-kit/tests/unit/sql-text-editor/helpers.ts | 120 | const line = this.editor.view.state.doc.lineAt(pos); | CODE |
| CRITICAL | apps/ui-kit/tests/unit/sql-text-editor/helpers.ts | 178 | const line = this.editor.view.state.doc.lineAt(context.pos); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/scripts/test_prepare_rpm_repo.sh | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/test_prepare_rpm_repo.sh | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/test_prepare_rpm_repo.sh | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/test_prepare_rpm_repo.sh | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 77 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/scripts/test_prepare_rpm_repo.sh | 86 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/plugin_development/api-reference.md | 1021 | function removeNotificationListener(name: "tablesChanged", handler: (args: any) => void): void; | CODE |
| LOW | docs/plugin_development/api-reference.md | 1023 | function removeNotificationListener(name: "themeChanged", handler: (args: any) => void): void; | CODE |
| LOW | …udio/src-commercial/backend/lib/connection-provider.ts | 12 | function missingIdentityFileWarnings(identityFiles?: string[]): string[] { | CODE |
| LOW | …studio/src-commercial/backend/handlers/connHandlers.ts | 680 | function createOrResetTransactionTimeout(sId: string, tabId: number, mustExist: boolean = false) { | CODE |
| LOW | apps/studio/src/config.ts | 20 | function applyDevPlatformOverrides(config: IPlatformInfo): IPlatformInfo { | CODE |
| LOW | apps/studio/src/mixins/data_mutators.ts | 24 | export function buildFormatterWithTooltip(cellValue: string, tooltip: string, icon?: string) { | CODE |
| LOW | apps/studio/src/shared/lib/dialects/models.ts | 277 | export function friendlyNormalizedIdentifier(value: string, quote: '`' | "'" | '"' = '"', tester?: RegExp): string { | CODE |
| LOW | apps/studio/src/common/utils.ts | 350 | export function removeUnsortableColumnsFromSortBy(sortParms: { field: string; dir: string }[], tableColumns: TableColumn | CODE |
| LOW | …on/appdb/validators/PreventMovingFolderInsideItself.ts | 10 | export function PreventMovingFolderInsideItself(object: Object, propertyName: string) { | CODE |
| LOW⚡ | apps/studio/src/lib/lifetimeVersion.ts | 30 | export function getAcknowledgedLifetimeVersionNotice(): string | null { | CODE |
| LOW⚡ | apps/studio/src/lib/lifetimeVersion.ts | 35 | export function acknowledgeLifetimeVersionNotice(id: string): void { | CODE |
| LOW⚡ | apps/studio/src/lib/lifetimeVersion.ts | 40 | export function clearLifetimeVersionNotice(): void { | CODE |
| LOW | apps/studio/src/lib/paidFeatures.ts | 207 | export function recordConnectionFeatureUse(config: Partial<IConnection> | null | undefined): void { | CODE |
| LOW | apps/studio/src/lib/trial.ts | 58 | export function adoptLegacyTrialEndDecision({ | CODE |
| LOW | apps/studio/src/lib/tableinfo/structure.ts | 35 | export function tabulatorStructureColumns(tabulator: Tabulator): StructureColumn[] { | CODE |
| LOW | apps/studio/src/lib/menu/tableMenu.ts | 83 | export function resizeAllColumnsToFitContentAction(table: Tabulator) { | CODE |
| LOW | apps/studio/src/lib/db/sql_tools.ts | 46 | export function convertParamsForReplacement(placeholders: string[], values: string[] | Record<string, string>): ParamIte | CODE |
| LOW | apps/studio/src/lib/db/clients/enumParsers.ts | 56 | export function parseClickHouseEnumValues(columnType?: string | null): string[] | undefined { | CODE |
| LOW | apps/studio/src/lib/db/clients/utils.ts | 314 | export function buildSelectQueriesFromUpdates(knex, updates: TableUpdate[]) { | CODE |
| LOW | apps/studio/src/lib/data/jsonViewer.ts | 182 | export function parseRowDataForJsonViewer(data: Record<string, any>, tableColumns: { field: string, dataType: string }[] | CODE |
| LOW | apps/studio/src/lib/data/jsonViewer.ts | 217 | export function createTruncatableTextDecoration( | CODE |
| LOW | apps/studio/src/lib/data/jsonViewer.ts | 245 | export function createExpandableTextDecoration( | CODE |
| LOW | apps/studio/src/lib/editor/CodeMirrorPlugins.ts | 38 | export function findSqlQueryIdentifierDialect(connectionType: string) { | CODE |
| LOW | apps/studio/src/lib/editor/CodeMirrorPlugins.ts | 243 | export function registerAutoRemoveQueryQuotes( | CODE |
| LOW | …ps/studio/src/lib/editor/extensions/partialReadOnly.ts | 166 | function isPositionInEditableRange( | CODE |
| LOW | apps/studio/src/handlers/utils.ts | 4 | export function resolveHomePathToAbsolute(filename: string): string { | CODE |
| LOW | apps/studio/src/store/modules/SidebarModule.ts | 42 | function getStoredGlobalSidebarActiveItem(): GlobalSidebarActiveItem | null { | CODE |
| LOW | apps/studio/src/store/modules/SidebarModule.ts | 47 | function getInitialGlobalSidebarActiveItem(): GlobalSidebarActiveItem { | CODE |
| LOW | …onents/sql-text-editor/extensions/removeQueryQuotes.ts | 28 | function removeQueryQuotesExtension() { | CODE |
| LOW | …nents/sql-text-editor/extensions/sqlContextComplete.ts | 136 | async function loadColumnsFromQueryContext( | CODE |
| LOW | …nents/sql-text-editor/extensions/sqlContextComplete.ts | 170 | function isColumnCompletionPosition(textBeforeCursor: string): boolean { | CODE |
| LOW | …components/text-editor/extensions/ls/semanticTokens.ts | 319 | async function requestFullSemanticTokens( | CODE |
| LOW | …components/text-editor/extensions/ls/semanticTokens.ts | 386 | export function semanticTokensCapabilities( | CODE |
| LOW | apps/ui-kit/lib/components/table/menu.ts | 85 | export function resizeAllColumnsToFitContentAction(table: Tabulator) { | CODE |
| LOW | …ps/ui-kit/lib/components/table/mixins/data_mutators.ts | 26 | export function buildFormatterWithTooltip(cellValue: string, tooltip: string, icon?: string) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | bin/make-ui-kit-release.sh | 64 | # Step 1: List recent tags | COMMENT |
| LOW⚡ | bin/make-ui-kit-release.sh | 67 | # Step 2: Prompt user for new version with a default guess | COMMENT |
| LOW⚡ | bin/make-ui-kit-release.sh | 73 | # Step 3: Validate and clean the version | COMMENT |
| LOW | bin/make-ui-kit-release.sh | 89 | # Step 4: Update package.json if necessary | COMMENT |
| LOW | bin/make-ui-kit-release.sh | 105 | # Step 5: Push tag | COMMENT |
| LOW⚡ | bin/make-release.sh | 59 | # Step 1: List recent tags | COMMENT |
| LOW⚡ | bin/make-release.sh | 62 | # Step 2: Prompt user for new version with a default guess | COMMENT |
| LOW⚡ | bin/make-release.sh | 68 | # Step 3: Validate and clean the version | COMMENT |
| LOW | bin/make-release.sh | 84 | # Step 4: Update package.json if necessary | COMMENT |
| LOW | bin/make-release.sh | 100 | # Step 5: Push tag | COMMENT |
| LOW | docs/development/driver-dependencies.md | 48 | ## Step 1: Implement a provider | COMMENT |
| LOW | docs/development/driver-dependencies.md | 127 | ## Step 2: Register it | COMMENT |
| LOW | docs/user_guide/configuration.md | 32 | ### Step 1: Create Your Configuration File | COMMENT |
| LOW | docs/user_guide/configuration.md | 45 | ### Step 2: Save and Restart | COMMENT |
| LOW | docs/user_guide/importing-data-csv-json-etc.md | 26 | ## Step 1: Select or Create Table | COMMENT |
| LOW | docs/user_guide/importing-data-csv-json-etc.md | 37 | ## Step 2: Select File | COMMENT |
| LOW | docs/user_guide/importing-data-csv-json-etc.md | 48 | ## Step 3: Map Columns | COMMENT |
| LOW | docs/user_guide/importing-data-csv-json-etc.md | 90 | ## Step 4: Import | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | bin/make-ui-kit-release.sh | 64 | # Step 1: List recent tags | COMMENT |
| LOW⚡ | bin/make-ui-kit-release.sh | 67 | # Step 2: Prompt user for new version with a default guess | COMMENT |
| LOW⚡ | bin/make-ui-kit-release.sh | 73 | # Step 3: Validate and clean the version | COMMENT |
| LOW | bin/make-ui-kit-release.sh | 89 | # Step 4: Update package.json if necessary | COMMENT |
| LOW | bin/make-ui-kit-release.sh | 105 | # Step 5: Push tag | COMMENT |
| LOW⚡ | bin/make-release.sh | 59 | # Step 1: List recent tags | COMMENT |
| LOW⚡ | bin/make-release.sh | 62 | # Step 2: Prompt user for new version with a default guess | COMMENT |
| LOW⚡ | bin/make-release.sh | 68 | # Step 3: Validate and clean the version | COMMENT |
| LOW | bin/make-release.sh | 84 | # Step 4: Update package.json if necessary | COMMENT |
| LOW | bin/make-release.sh | 100 | # Step 5: Push tag | COMMENT |
| LOW | …/tests/vitest/integration/lib/db/backup-clients/all.ts | 96 | // so we need to check if it succeeds in other ways | COMMENT |
| LOW | …/tests/vitest/integration/lib/db/backup-clients/all.ts | 158 | // so we need to check if it succeeds in other ways | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | bin/bump.sh | 28 | # Create a git tag with the new version | COMMENT |
| MEDIUM | bin/sync-release.sh | 39 | # Create the release in the target repo | COMMENT |
| MEDIUM | .github/scripts/publish_rpm.sh | 29 | # Create a dynamic temporary directory for this run | COMMENT |
| MEDIUM | dev/docker_mongodb_kerberos/mongo/entrypoint.sh | 48 | # Create the Kerberos-mapped $external user via the localhost exception (allowed only while | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dev/docker_mongodb_kerberos/mongo/setup.js | 13 | print(`Created $external user ${principal}`); | CODE |
| HIGH | dev/docker_mongodb_kerberos/mongo/setup.js | 16 | print(`createUser(${principal}) failed (may already exist): ${e}`); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bin/sync-release.sh | 15 | # Assign arguments to variables | COMMENT |
| LOW | bin/sync-release.sh | 20 | # Check if gh is installed | COMMENT |
| LOW | bin/get-prs.sh | 16 | # Check if we found enough tags | COMMENT |
| LOW | .github/scripts/extract_channel.sh | 35 | # Output the results to $GITHUB_OUTPUT | COMMENT |
| LOW | .github/scripts/extract_channel.sh | 39 | # Print the results | COMMENT |
| LOW | .github/scripts/publish_rpm.sh | 23 | # Check if at least one RPM file is provided | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bin/rc-prs/check-open-pr.sh | 10 | # Usage: | COMMENT |
| LOW | bin/rc-prs/check-branch-ahead.sh | 8 | # Usage: | COMMENT |
| LOW | bin/rc-prs/open-rc-pr.sh | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …sts/vitest/integration/lib/db/clients/postgres.spec.ts | 647 | // Test for issue #1557 - comprehensive foreign key scenarios that might fail with information_schema | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/studio/src/lib/menu/ClientMenuActionHandler.ts | 18 | // TODO: implement | COMMENT |
| LOW | …ps/studio/src/lib/db/authentication/amazon-redshift.ts | 43 | // TODO: implement | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | apps/studio/src/services/plugin/web/WebPluginManager.ts | 49 | * and `onViewRequest`. (Don't forget to register the iframe first! Use | COMMENT |
| LOW | apps/studio/src/services/plugin/web/WebPluginManager.ts | 140 | * Please call this BEFORE the iframe is loaded. Don't forget to unregister | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/development/driver-dependencies.md | 40 | ├── DriverDepManager.ts # orchestrates installs / lookups | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bin/mkdocs_hooks/check_site_links.py | 20 | CODE |