Repository Analysis

zereight/gitlab-mcp

First gitlab mcp for you, building together

3.4 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of zereight/gitlab-mcp, a TypeScript project with 1,799 GitHub stars. SynthScan v2.0 examined 78,754 lines of code across 274 source files, recording 269 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 3.4 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.4
Adjusted Score
3.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
1.8K
Stars
TypeScript
Language
78.8K
Lines of Code
274
Files
269
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 0MEDIUM 12LOW 257

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 269 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block124 hits · 74 pts
SeverityFileLineSnippetContext
LOWtest_results.txt1TAP version 13COMMENT
LOWtest_results.txt21# NVM_DIR: '/Users/tao.exe/.nvm',COMMENT
LOWtest_results.txt41# TERM_PROGRAM_VERSION: '1.116.0-insider',COMMENT
LOWtest_results.txt61# __CF_USER_TEXT_ENCODING: '0x1F6:0x3:0x33',COMMENT
LOWtest_results.txt81# LOGNAME: 'tao.exe',COMMENT
LOWtest_results.txt101# SWIFTLY_TOOLCHAINS_DIR: '/Users/tao.exe/Library/Developer/Toolchains',COMMENT
LOWtest_results.txt121# XPC_SERVICE_NAME: '0',COMMENT
LOWtest_results.txt141# INFO [14:07:53.695] (59293): GitLab MCP Server running with Streamable HTTP transportCOMMENT
LOWtest_results.txt161# NVM_INC: '/Users/tao.exe/.nvm/versions/node/v22.19.0/include/node',COMMENT
LOWtest_results.txt181# TMPDIR: '/var/folders/kc/hx_s_dg96p7czwjjwc789vx00000gp/T/',COMMENT
LOWtest_results.txt201# _: '/Users/tao.exe/.nvm/versions/node/v22.19.0/bin/node',COMMENT
LOWtest_results.txt221# LOGNAME: 'tao.exe',COMMENT
LOWtest_results.txt241# SWIFTLY_TOOLCHAINS_DIR: '/Users/tao.exe/Library/Developer/Toolchains',COMMENT
LOWtest_results.txt261# XPC_SERVICE_NAME: '0',COMMENT
LOWtest_results.txt301 ...COMMENT
LOWtest_results.txt321# INFO [14:07:54.769] (59293): Session 7ebeccc7-ec2d-49cb-82ab-b37fe4551a8d: cleaned up auth mappingCOMMENT
LOWtest_results.txt341# NVM_BIN: '/Users/tao.exe/.nvm/versions/node/v22.19.0/bin',COMMENT
LOWtest_results.txt361# TERM: 'xterm-256color',COMMENT
LOWtest_results.txt381# ZENMUX_API_KEY: 'sk-ss-v1-95eae04a95ac9bba411c32cede234295deaa21a02ee2d8a90e830fc9c0004779',COMMENT
LOWtest_results.txt401# HOME: '/Users/tao.exe',COMMENT
LOWtest_results.txt421# SSH_AUTH_SOCK: '/private/tmp/com.apple.launchd.lg93zG90Bg/Listeners',COMMENT
LOWtest_results.txt441# VSCODE_PROFILE_INITIALIZED: '1',COMMENT
LOWtest_results.txt481 duration_ms: 1312.041583COMMENT
LOWtest_results.txt501# INFO [14:07:56.282] (59403): Endpoint: http://127.0.0.1:3220/mcpCOMMENT
LOWtest_results.txt521# OLDPWD: '/Users/tao.exe/Documents/gitlab-mcp',COMMENT
LOWtest_results.txt541# TTY: '/dev/ttys100',COMMENT
LOWtest_results.txt561# NODE_TEST_CONTEXT: 'child-v8',COMMENT
LOWtest_results.txt581# MallocNanoZone: '0',COMMENT
LOWtest_results.txt601# SYNTHETIC_API_KEY: 'syn_35a76bd4c1d5ed18b8e4e8a4f1b07b76',COMMENT
LOWtest_results.txt621# ZDOTDIR: '/Users/tao.exe',COMMENT
LOWtest_results.txt661# INFO [14:07:57.320] (59403): Session 9163d60c-3073-4c7e-b7dc-5a268827ca0f: stored Authorization headerCOMMENT
LOWtest_results.txt681# Launcher: Spawning server process with env: {COMMENT
LOWtest_results.txt701# PATH: '/Users/tao.exe/.opencode/bin:/Users/tao.exe/.bun/bin:/Users/tao.exe/.antigravity/antigravity/bin:/Users/tao.eCOMMENT
LOWtest_results.txt721# USER_ZDOTDIR: '/Users/tao.exe',COMMENT
LOWtest_results.txt741# REMOTE_AUTHORIZATION: 'true',COMMENT
LOWtest_results.txt761# NVM_BIN: '/Users/tao.exe/.nvm/versions/node/v22.19.0/bin',COMMENT
LOWtest_results.txt781# TERM: 'xterm-256color',COMMENT
LOWtest_results.txt801# ZENMUX_API_KEY: 'sk-ss-v1-95eae04a95ac9bba411c32cede234295deaa21a02ee2d8a90e830fc9c0004779',COMMENT
LOWtest_results.txt841# INFO [14:07:58.605] (59458): Closing 1 active sessions...COMMENT
LOWtest_results.txt861# BUN_INSTALL: '/Users/tao.exe/.bun',COMMENT
LOWtest_results.txt881# QTERM_SESSION_ID: '3d6905cad91c4693934583cdd9c49c15',COMMENT
LOWtest_results.txt901# VSCODE_GIT_ASKPASS_MAIN: '/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/git/distCOMMENT
LOWtest_results.txt921# GITLAB_TOOLSETS: 'issues',COMMENT
LOWtest_results.txt941# NVM_DIR: '/Users/tao.exe/.nvm',COMMENT
LOWtest_results.txt961# TERM_PROGRAM_VERSION: '1.116.0-insider',COMMENT
LOWtest_results.txt981# __CF_USER_TEXT_ENCODING: '0x1F6:0x3:0x33',COMMENT
LOWtest_results.txt1021# INFO [14:07:59.873] (59496): Session 33a016fb-bd4f-4fd6-b09a-c515bf4809f1: cleaned up auth mappingCOMMENT
LOWtest_results.txt1041# COLORTERM: 'truecolor',COMMENT
LOWtest_results.txt1061# Q_SET_PARENT_CHECK: '1',COMMENT
LOWtest_results.txt1081# VSCODE_GIT_ASKPASS_NODE: '/Applications/Visual Studio Code - Insiders.app/Contents/Frameworks/Code - Insiders HelperCOMMENT
LOWtest_results.txt1101# PORT: '3260'COMMENT
LOWtest_results.txt1121# OLDPWD: '/Users/tao.exe/Documents/gitlab-mcp',COMMENT
LOWtest_results.txt1141# TTY: '/dev/ttys100',COMMENT
LOWtest_results.txt1161# NODE_TEST_CONTEXT: 'child-v8',COMMENT
LOWtest_results.txt1181 type: 'test'COMMENT
LOWtest_results.txt1201# INFO [14:08:01.327] (59522): Configured GitLab API URLs: http://127.0.0.1:9200/api/v4COMMENT
LOWtest_results.txt1221# NVM_CD_FLAGS: '-q',COMMENT
LOWtest_results.txt1241# TERM_PROGRAM: 'vscode',COMMENT
LOWtest_results.txt1261# __CFBundleIdentifier: 'com.microsoft.VSCodeInsiders',COMMENT
LOWtest_results.txt1281# HOME: '/Users/tao.exe',COMMENT
64 more matches not shown…
Hyper-Verbose Identifiers80 hits · 61 pts
SeverityFileLineSnippetContext
LOWoauth.ts81async function requestAuthFromExistingServer(port: number, requestId: string): Promise<TokenData> {CODE
LOWoauth-proxy.ts890export function createGitLabOAuthProvider(CODE
LOWindex.ts104function isConstantTimeSecretMatch(CODE
LOWindex.ts984function getMcpDnsRebindingProtection() {CODE
LOWindex.ts1249function isInitializationRequestBody(body: unknown): boolean {CODE
LOWindex.ts1257function isUnauthenticatedDiscoveryRequestBody(body: unknown): boolean {CODE
LOWindex.ts1355function isToolAllowedByPermissionMode(toolName: string): boolean {CODE
LOWindex.ts1630function updateSessionPublicBaseUrl(sessionId: string | undefined, publicBaseUrl?: string): void {CODE
LOWindex.ts1817function parseAllowedGitLabApiUrls(value: string): Array<{ host: string; apiUrl: string }> {CODE
LOWindex.ts1837function resolveTrustedGitLabApiUrl(value: string): string {CODE
LOWindex.ts1989function rejectIfProjectScopedDeployment(toolName: string): void {CODE
LOWindex.ts2727async function listCustomFieldDefinitions(CODE
LOWindex.ts3187async function updateIncidentEscalationStatus(CODE
LOWindex.ts3233async function resolveProjectOrGroupPath(CODE
LOWindex.ts4432async function listMergeRequestDiscussions(CODE
LOWindex.ts4456async function deleteMergeRequestDiscussionNote(CODE
LOWindex.ts4491async function updateMergeRequestDiscussionNote(CODE
LOWindex.ts4636async function createMergeRequestDiscussionNote(CODE
LOWindex.ts4857function encodeRepoFilePayloadContent(content: string): string {CODE
LOWindex.ts5190async function getMergeRequestSourceCommitCount(CODE
LOWindex.ts5232async function listMergeRequestPipelines(CODE
LOWindex.ts5278async function buildMergeRequestCommitAdditionSummary(CODE
LOWindex.ts5312async function buildMergeRequestApprovalSummary(CODE
LOWindex.ts5347function toMergeRequestDeploymentSummaryRecord(CODE
LOWindex.ts5393function sortDeploymentsByCreatedAtDesc(deployments: GitLabDeployment[]): GitLabDeployment[] {CODE
LOWindex.ts5406async function buildMergeRequestDeploymentSummary(CODE
LOWindex.ts5568async function listMergeRequestChangedFiles(CODE
LOWindex.ts5870async function getMergeRequestApprovalState(CODE
LOWindex.ts5932async function getMergeRequestApprovalsFallback(CODE
LOWindex.ts5984function inferMergeRequestApproved(CODE
LOWindex.ts6330async function resolveMergeRequestThread(CODE
LOWindex.ts7970async function getMilestoneMergeRequests(CODE
LOWindex.ts8029async function getMilestoneBurndownEvents(CODE
LOWindex.ts8207async function getGroupMilestoneMergeRequests(CODE
LOWindex.ts8237async function getGroupMilestoneBurndownEvents(CODE
LOWindex.ts8912async function getDependencyProxySettings(groupPath: string): Promise<GitLabDependencyProxy> {CODE
LOWindex.ts8945async function updateDependencyProxySettings(CODE
LOWindex.ts9016async function purgeDependencyProxyCache(groupId: string): Promise<void> {CODE
LOWindex.ts12813async function startStreamableHTTPServer(): Promise<void> {CODE
LOWindex.ts13929async function initializeServerByTransportMode(mode: TransportMode): Promise<void> {CODE
LOWtools/registry.ts1991export function buildFeatureFlagOverrides(): ReadonlySet<string> {CODE
LOWtest/schema-tests.ts69function runGetFileContentsSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts159function runGitLabFileContentSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts278function runCreatePipelineSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts391function runCommitStatusSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts538function runCreateIssueNoteSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts626function runGetMergeRequestSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts732function runListMergeRequestPipelinesSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts788function runGitLabMergeRequestSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts986function runEmojiReactionSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1043function runGitLabRepositorySchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1103function runLabelsCoercionSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1214function runApprovedByUsernamesSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1337function runGitLabTreeItemSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1389function runGetRepositoryTreeSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1463function runGitLabMarkdownUploadSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1539function runGitLabUserFullSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1624function runGitLabDependencyProxySchemaTests(): { passed: number; failed: number } {CODE
LOWtest/schema-tests.ts1672function runGitLabDependencyProxyBlobSchemaTests(): { passed: number; failed: number } {CODE
LOWtest/oauth-tests.ts142async function testMultipleScopesRedundant(): Promise<void> {CODE
20 more matches not shown…
Structural Annotation Overuse33 hits · 58 pts
SeverityFileLineSnippetContext
LOWindex.ts618 // Step 1: Toolset filter — keep tools in enabled toolsetsCOMMENT
LOWindex.ts623 // Step 2: Add GITLAB_TOOLS (individual tools bypass toolset filter)COMMENT
LOWindex.ts632 // Step 3: Add legacy flag overrides (USE_PIPELINE, USE_MILESTONE, USE_GITLAB_WIKI)COMMENT
LOWindex.ts641 // Step 4: Permission mode filter (readonly / modify / full)COMMENT
LOWindex.ts647 // Step 5: Regex denial filterCOMMENT
LOWindex.ts682 // Step 6: Gemini $schema cleanup + annotations (only dynamic step per request)COMMENT
LOWindex.ts13071 // Step 1: derive the effective auth for this request.COMMENT
LOWindex.ts13198 // Step 3: build the AsyncLocalStorage context so buildAuthHeaders andCOMMENT
LOWindex.ts13209 // Step 4: create a fresh transport per request.COMMENT
LOWtest/remote-auth-simple-test.ts305 // Step 1: Connect WITH auth header to establish sessionCOMMENT
LOWtest/remote-auth-simple-test.ts331 // Step 2: Wait for timeout WITHOUT making any requestsCOMMENT
LOWtest/remote-auth-simple-test.ts338 // Step 3: Try to make request WITHOUT auth header - should fail with 401COMMENT
LOWtest/stateless/callback-proxy.test.ts296 // Step 1: register client on podA (signed client_id → every pod can read it)COMMENT
LOWtest/stateless/callback-proxy.test.ts302 // Step 2: authorize on podA — captures the redirect URL to GitLabCOMMENT
LOWtest/stateless/callback-proxy.test.ts328 // Step 3: GitLab redirects to our /callback — on a DIFFERENT pod (B).COMMENT
LOWtest/stateless/callback-proxy.test.ts358 // Step 4: MCP client redeems the proxy code on a THIRD pod (C).COMMENT
LOWdocs/auth/oauth-setup.md32## Step 1: Create a GitLab OAuth ApplicationCOMMENT
LOWdocs/auth/oauth-setup.md68## Step 2: Configure the MCP ServerCOMMENT
LOWdocs/auth/oauth-setup.md122## Step 3: First-Time AuthenticationCOMMENT
LOW.github/skills/security-scan/SKILL.md21### Step 1: Determine ScopeCOMMENT
LOW.github/skills/security-scan/SKILL.md29### Step 2: Secrets ScanCOMMENT
LOW.github/skills/security-scan/SKILL.md47### Step 3: Dependency AuditCOMMENT
LOW.github/skills/security-scan/SKILL.md68### Step 4: Input Validation Spot-CheckCOMMENT
LOW.github/skills/security-scan/SKILL.md75### Step 5: Auth/Authz Quick CheckCOMMENT
LOW.github/skills/skill-stocktake/SKILL.md22### Step 1: InventoryCOMMENT
LOW.github/skills/skill-stocktake/SKILL.md36### Step 2: Frontmatter Validation (v1.0.5+)COMMENT
LOW.github/skills/skill-stocktake/SKILL.md65### Step 3: Template Sync CheckCOMMENT
LOW.github/skills/skill-stocktake/SKILL.md74### Step 4: Quality ChecksCOMMENT
LOW.github/skills/skill-stocktake/SKILL.md84### Step 5: Coverage AnalysisCOMMENT
LOWskills/gitlab-mcp/reference/code-review.md8## Step 1: List Changed FilesCOMMENT
LOWskills/gitlab-mcp/reference/code-review.md27## Step 2: Batch Diff RetrievalCOMMENT
LOWskills/gitlab-mcp/reference/code-review.md43## Step 3: Leave CommentsCOMMENT
LOWskills/gitlab-mcp/reference/code-review.md81## Step 4: Resolve ThreadsCOMMENT
Verbosity Indicators16 hits · 31 pts
SeverityFileLineSnippetContext
LOWindex.ts618 // Step 1: Toolset filter — keep tools in enabled toolsetsCOMMENT
LOWindex.ts623 // Step 2: Add GITLAB_TOOLS (individual tools bypass toolset filter)COMMENT
LOWindex.ts632 // Step 3: Add legacy flag overrides (USE_PIPELINE, USE_MILESTONE, USE_GITLAB_WIKI)COMMENT
LOWindex.ts641 // Step 4: Permission mode filter (readonly / modify / full)COMMENT
LOWindex.ts647 // Step 5: Regex denial filterCOMMENT
LOWindex.ts682 // Step 6: Gemini $schema cleanup + annotations (only dynamic step per request)COMMENT
LOWindex.ts13071 // Step 1: derive the effective auth for this request.COMMENT
LOWindex.ts13198 // Step 3: build the AsyncLocalStorage context so buildAuthHeaders andCOMMENT
LOWindex.ts13209 // Step 4: create a fresh transport per request.COMMENT
LOWtest/remote-auth-simple-test.ts305 // Step 1: Connect WITH auth header to establish sessionCOMMENT
LOWtest/remote-auth-simple-test.ts331 // Step 2: Wait for timeout WITHOUT making any requestsCOMMENT
LOWtest/remote-auth-simple-test.ts338 // Step 3: Try to make request WITHOUT auth header - should fail with 401COMMENT
LOWtest/stateless/callback-proxy.test.ts296 // Step 1: register client on podA (signed client_id → every pod can read it)COMMENT
LOWtest/stateless/callback-proxy.test.ts302 // Step 2: authorize on podA — captures the redirect URL to GitLabCOMMENT
LOWtest/stateless/callback-proxy.test.ts328 // Step 3: GitLab redirects to our /callback — on a DIFFERENT pod (B).COMMENT
LOWtest/stateless/callback-proxy.test.ts358 // Step 4: MCP client redeems the proxy code on a THIRD pod (C).COMMENT
Decorative Section Separators10 hits · 30 pts
SeverityFileLineSnippetContext
MEDIUMstateless/codec.ts42// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts45// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts80// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts82// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts101// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts103// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts171// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts173// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts247// ──────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstateless/codec.ts249// ──────────────────────────────────────────────────────────────────────────COMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMindex.ts733 // This is a robust workaround for AsyncLocalStorage context loss.COMMENT
MEDIUMindex.ts1493 // Use tough-cookie's parse function for robust parsingCOMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/release.sh4# Check if gh CLI is availableCOMMENT
LOWscripts/release.sh404# Check if the current version tag already exists locallyCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtest/schema-tests.ts1565 email: 'admin@example.com',CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/generate-star-history.py4CODE