Kilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.
This report summarizes scanner evidence for Kilo-Org/kilocode, a TypeScript project with 27,816 GitHub stars. SynthScan examined 1,594,445 lines of code across 8461 source files, recording 1117 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 1.6 (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? 750 finding(s).
Are imports declared and package/API names verified? 209 finding(s).
Are wrappers, guards, and repeated structures necessary? 546 finding(s).
Which changes need focused human review? 1117 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 1117 distinct pattern matches across 19 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 |
|---|---|---|---|---|
| CRITICAL | .kilo/plans/1779987162764-misty-rocket.md | 31 | - Parse the SVG with `com.github.weisj.jsvg.parser.SVGLoader().load(stream)` or the equivalent public jsvg API availa | CODE |
| CRITICAL | packages/tui/src/context/data.tsx | 483 | const result = await sdk.client.v2.session.permission.list({ sessionID }, { throwOnError: true }) | CODE |
| CRITICAL | packages/tui/src/context/data.tsx | 492 | const result = await sdk.client.v2.session.question.list({ sessionID }, { throwOnError: true }) | CODE |
| CRITICAL | packages/tui/src/context/data.tsx | 503 | const result = await sdk.client.v2.permission.saved.list({ projectID }, { throwOnError: true }) | CODE |
| CRITICAL | packages/tui/src/component/dialog-workspace-create.tsx | 59 | const response = await input.sdk.client.experimental.workspace.adapter.list({ directory: dir }) | CODE |
| CRITICAL | packages/tui/src/component/dialog-workspace-create.tsx | 81 | await input.sdk.client.experimental.workspace.syncList().catch(() => undefined) | CODE |
| CRITICAL | packages/tui/src/component/dialog-workspace-create.tsx | 102 | result = await input.sdk.client.experimental.workspace.warp({ | CODE |
| CRITICAL | …/kilocode/client/settings/rules/RulesSettingsUiTest.kt | 287 | ai.kilocode.client.settings.base.settingsEditorFileType("./RULES.md", "# Rules"), | CODE |
| CRITICAL | …/kilocode/client/settings/rules/RulesSettingsUiTest.kt | 290 | val scroll = ai.kilocode.client.settings.base.settingsContentScroll(field) | CODE |
| CRITICAL | …/kilocode/client/settings/rules/RulesSettingsUiTest.kt | 363 | val pane = com.intellij.util.ui.UIUtil.findComponentOfType(info, javax.swing.JEditorPane::class.java) ?: error(" | CODE |
| CRITICAL | …kotlin/ai/kilocode/client/app/KiloHostedServiceTest.kt | 122 | assertEquals(fresh.ref, service.state.value.statuses.values.single().ref) | CODE |
| CRITICAL | …/kilocode/client/agentManager/AgentManagerPanelTest.kt | 1813 | assertEquals(project, com.intellij.openapi.actionSystem.CommonDataKeys.PROJECT.getData(context)) | CODE |
| CRITICAL | …/kilocode/client/onboarding/SessionUiOnboardingTest.kt | 73 | com.intellij.openapi.util.Disposer.dispose(ui2) | CODE |
| CRITICAL | …kotlin/ai/kilocode/client/session/SessionScrollTest.kt | 1023 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeLater { | CODE |
| CRITICAL | …lin/ai/kilocode/client/session/SessionUiFactoryTest.kt | 63 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …lin/ai/kilocode/client/session/SessionUiFactoryTest.kt | 75 | val panel = ai.kilocode.client.session.ui.empty.EmptySessionPanel(testRootDisposable, controller, listOf(rpc)) | CODE |
| CRITICAL | …lin/ai/kilocode/client/session/SessionUiFactoryTest.kt | 87 | val panel = ai.kilocode.client.session.ui.empty.EmptySessionPanel( | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 116 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 196 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 243 | val style = ai.kilocode.client.session.ui.style.SessionEditorStyle.create(family = "Courier New", size = 24) | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 309 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 330 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 339 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 615 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 634 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 646 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 651 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 669 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 684 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …kilocode/client/session/SessionSidePanelManagerTest.kt | 759 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 916 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1030 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1056 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1065 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL⚡ | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1303 | com.intellij.openapi.application.ApplicationManager.getApplication().invokeAndWait { | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/ui/PromptPanelTest.kt | 1279 | val item = ai.kilocode.client.session.model.PromptAttachmentExtractor.files(listOf(file)).single() | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/ui/PromptPanelTest.kt | 1620 | val item = ai.kilocode.client.session.model.PromptAttachmentExtractor.files(listOf(file)).single() | CODE |
| CRITICAL | …ai/kilocode/client/session/ui/EmptySessionPanelTest.kt | 108 | com.intellij.util.ui.JBUI.scale(SessionUiStyle.RecentSessions.DESCRIPTION_WIDTH), | CODE |
| CRITICAL | …ai/kilocode/client/session/ui/EmptySessionPanelTest.kt | 112 | com.intellij.util.ui.JBUI.scale(SessionUiStyle.RecentSessions.DESCRIPTION_WIDTH), | CODE |
| CRITICAL | …ai/kilocode/client/session/ui/EmptySessionPanelTest.kt | 345 | assertEquals(ai.kilocode.client.plugin.KiloBundle.message("session.showHistory"), panel.showHistoryText()) | CODE |
| CRITICAL | …/session/ui/prompt/KiloPromptCompletionProviderTest.kt | 456 | com.intellij.util.ui.UIUtil.dispatchAllInvocationEvents() | CODE |
| CRITICAL | …ai/kilocode/client/session/ui/model/ModelPickerTest.kt | 670 | val edge = JBUI.CurrentTheme.Popup.Selection.LEFT_RIGHT_INSET.get() | CODE |
| CRITICAL | …ode/client/session/ui/header/SessionHeaderPanelTest.kt | 209 | ai.kilocode.client.session.background.BackgroundAgent( | CODE |
| CRITICAL | …de/client/session/controller/SessionUpdateQueueTest.kt | 674 | assertTrue(com.intellij.openapi.application.ApplicationManager.getApplication().isDispatchThread) | STRING |
| CRITICAL | …de/client/session/controller/SessionUpdateQueueTest.kt | 679 | assertTrue(com.intellij.openapi.application.ApplicationManager.getApplication().isDispatchThread) | STRING |
| CRITICAL | …de/client/session/controller/SessionUpdateQueueTest.kt | 706 | assertTrue(com.intellij.openapi.application.ApplicationManager.getApplication().isDispatchThread) | STRING |
| CRITICAL | …de/client/session/controller/SessionUpdateQueueTest.kt | 711 | assertTrue(com.intellij.openapi.application.ApplicationManager.getApplication().isDispatchThread) | STRING |
| CRITICAL | …ocode/client/session/controller/PromptLifecycleTest.kt | 149 | assertEquals(listOf(ai.kilocode.client.testing.FakeSessionRpcApi.MessageDeleteCall("ses_test", "/test", "u2")), | CODE |
| CRITICAL | …ocode/client/session/controller/PromptLifecycleTest.kt | 160 | assertEquals(listOf(ai.kilocode.client.testing.FakeSessionRpcApi.MessageDeleteCall("ses_test", "/test", "u2")), | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/views/TextViewTest.kt | 79 | view.update(ai.kilocode.client.session.model.Reasoning("p1")) | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/views/ToolViewTest.kt | 484 | view.update(ai.kilocode.client.session.model.Text("p1")) | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 273 | val text = ai.kilocode.client.session.model.Text("p1") | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 283 | val text = ai.kilocode.client.session.model.Text("p1") | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 293 | val text = ai.kilocode.client.session.model.Text("p1") | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 303 | val t1 = ai.kilocode.client.session.model.Text("p1").also { it.content.append("v1") } | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 306 | val t2 = ai.kilocode.client.session.model.Text("p1").also { it.content.append("v2") } | CODE |
| CRITICAL⚡ | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 316 | mv.upsertPart(ai.kilocode.client.session.model.Text("p1").also { it.content.append("x") }) | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 331 | mv.upsertPart(ai.kilocode.client.session.model.Text("p1").also { it.content.append("hello ") }) | CODE |
| CRITICAL | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 449 | val text = ai.kilocode.client.session.model.Text("p1").also { it.content.append("preloaded") } | CODE |
| CRITICAL | …ntend/src/main/kotlin/ai/kilocode/client/ui/UiStyle.kt | 78 | fun component() = com.intellij.util.ui.JBValue.UIInteger("Component.arc", 8).get() | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | patches/install-korean-ime-fix.sh | 41 | # ── 1. Clone or update fork ──────────────────────────────────────────── | COMMENT |
| MEDIUM | patches/install-korean-ime-fix.sh | 52 | # ── 2. Verify the IME fix is present in source ──────────────────────── | COMMENT |
| MEDIUM⚡ | patches/install-korean-ime-fix.sh | 73 | # ── 3. Install dependencies ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | patches/install-korean-ime-fix.sh | 78 | # ── 4. Build (current platform only) ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | patches/install-korean-ime-fix.sh | 83 | # ── 5. Install binary ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …/getting-started/cost-controls-and-usage-safeguards.md | 312 | // ── Model selection ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …/getting-started/cost-controls-and-usage-safeguards.md | 319 | // ── Per-agent model and step limits ───────────────────────────────────── | COMMENT |
| MEDIUM | …/getting-started/cost-controls-and-usage-safeguards.md | 358 | // ── Compaction (context management) ───────────────────────────────────── | COMMENT |
| MEDIUM | …/getting-started/cost-controls-and-usage-safeguards.md | 369 | // ── Tool output truncation ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/getting-started/cost-controls-and-usage-safeguards.md | 377 | // ── Permission safeguards ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 119 | // ─── CLI worktree mode ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 269 | // ─── default mode (--base) ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 299 | // ─── workflow paths filter ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 332 | // ─── hasMarker tests ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 392 | // ─── isExempt tests ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 461 | // ─── isSource tests ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 494 | // ─── coveredLines tests ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 679 | // ─── checkLine integration tests ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 794 | // ─── Diff parser (revert detection) ────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 977 | // ─── Regex edge cases ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 1020 | // ─── isExempt — Windows paths ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 1030 | // ─── coveredLines — additional patterns ─────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/script/tests/check-opencode-annotations.test.ts | 1086 | // ─── checkLine — additional patterns ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/kilo-console/src/shared/terminal-status.ts | 16 | // ─── types ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/kilo-console/src/shared/terminal-status.ts | 22 | // ─── internal signals (Map<projectId, Set<sessionId>>) ──────────────────────── | COMMENT |
| MEDIUM⚡ | packages/kilo-console/src/shared/terminal-status.ts | 29 | // ─── helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-console/src/shared/terminal-status.ts | 73 | // ─── public API ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-console/src/shared/terminal-status.ts | 95 | // ─── derived per-project status (reactive) ──────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-console/src/shared/terminal-status.ts | 109 | // ─── path helpers (reused from client.ts pattern) ───────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-console/src/shared/terminal-status.ts | 138 | // ─── event parsing ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kilo-console/src/components/app-sidebar/AppSidebar.tsx | 79 | // ─── component ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kilo-console/src/components/app-sidebar/AppSidebar.tsx | 180 | // ── server URL tracking ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kilo-console/src/components/app-sidebar/AppSidebar.tsx | 215 | // ── polling fallback ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kilo-console/src/components/app-sidebar/AppSidebar.tsx | 223 | // ── initial status hydration ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …kilo-console/src/components/app-sidebar/AppSidebar.tsx | 245 | // ── SSE event handler ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/path-utils.test.ts | 5 | // ── Unix absolute paths ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/path-utils.test.ts | 32 | // ── Windows drive-letter paths ─────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/path-utils.test.ts | 65 | // ── Windows UNC paths ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/path-utils.test.ts | 80 | // ── Relative paths (should return false) ───────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/path-utils.test.ts | 107 | // ── Edge cases ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 39 | // ── sanitizeReviewComments ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 138 | // ── formatReviewCommentsMarkdown ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 209 | // ── extractLines ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 237 | // ── markdownCommentBlocks ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 364 | // ── review annotation speech keys ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 411 | // ── buildFileAnnotations composer metadata ───────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/review-comments.test.ts | 498 | // ── getDirectory / getFilename ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/file-tree.test.ts | 15 | // ── buildFileTree ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/file-tree.test.ts | 122 | // ── flattenChain ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/file-tree.test.ts | 214 | // ── flatten ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/file-tree.test.ts | 331 | // ── treeOrder ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 21 | // ── Webview dictionaries ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 97 | // ── Extension-side dictionaries ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 143 | // ── Locale maps ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 270 | // ── File scanning ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 316 | // ── Webview files ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 342 | // ── CLI backend files ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 362 | // ── Extension host files ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 382 | // ── Locale completeness helpers ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/kilo-vscode/tests/unit/i18n-keys.test.ts | 406 | // ── Tests ─────────────────────────────────────────────────────────────────── | COMMENT |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/upgrade-opentui.ts | 184 | function findStaleLockfileEntriesInText(txt: string) { | CODE |
| LOW | script/upstream/utils/report.ts | 71 | function shouldTakeTheirsTransform(path: string): boolean { | CODE |
| LOW | script/upstream/utils/version.ts | 92 | export async function getAvailableUpstreamVersions(): Promise<VersionInfo[]> { | CODE |
| LOW | script/upstream/transforms/transform-scripts.ts | 175 | export async function transformConflictedScripts( | CODE |
| LOW | script/upstream/transforms/transform-extensions.ts | 202 | export async function transformConflictedExtensions( | CODE |
| LOW | script/upstream/transforms/package-names.ts | 97 | export function applyPackageNameTransforms(input: string): { result: string; changes: number } { | CODE |
| LOW | script/upstream/transforms/transform-package-json.ts | 688 | export async function transformConflictedPackageJson( | CODE |
| LOW | script/upstream/transforms/transform-package-json.ts | 930 | export async function reconcilePackageJsonFromRefs( | CODE |
| LOW | script/upstream/transforms/transform-take-theirs.ts | 224 | export async function transformConflictedTakeTheirs( | CODE |
| LOW | …es/effect-drizzle-sqlite/src/internal/drizzle-utils.ts | 25 | export function getViewSelectedFieldsRuntime(view: SQLiteViewBase) { | CODE |
| LOW | …ages/effect-drizzle-sqlite/src/up-migrations/sqlite.ts | 39 | export function prepareSQLiteMigrationBackfill( | CODE |
| LOW | …ages/effect-drizzle-sqlite/src/up-migrations/sqlite.ts | 96 | export function buildSQLiteMigrationBackfillStatements( | CODE |
| LOW | packages/ui/src/pierre/selection-bridge.ts | 67 | export function restoreShadowTextSelection(root: ShadowRoot | undefined, range: Range | undefined) { | CODE |
| LOW | packages/ui/src/pierre/selection-bridge.ts | 82 | export function createLineNumberSelectionBridge() { | CODE |
| LOW | packages/ui/src/pierre/comment-hover.ts | 6 | export function createHoverCommentUtility(props: { | CODE |
| LOW | packages/ui/src/kilocode/markdown-stream-highlight.ts | 85 | export function preserveStreamingHighlight(from: Element, to: Element, streaming: boolean) { | CODE |
| LOW | packages/ui/src/v2/components/segmented-control-v2.tsx | 27 | function useSegmentedControlContext() { | CODE |
| LOW | packages/ui/src/components/line-comment-annotations.tsx | 572 | export function createLineCommentHoverRenderer(props: { | CODE |
| LOW | packages/ui/src/components/file.tsx | 545 | function createLocalVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { | CODE |
| LOW | packages/ui/src/components/file.tsx | 579 | function createSharedVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { | CODE |
| LOW | packages/ui/src/components/scroll-view.tsx | 82 | export function scrollTopFromThumbPointer(input: { | CODE |
| LOW | packages/ui/src/components/dropdown-menu.tsx | 173 | function DropdownMenuItemDescription(props: ParentProps<DropdownMenuItemDescriptionProps>) { | CODE |
| LOW | packages/ui/src/components/dropdown-menu.tsx | 189 | function DropdownMenuItemIndicator(props: ParentProps<DropdownMenuItemIndicatorProps>) { | CODE |
| LOW | packages/ui/src/components/markdown-worker-protocol.ts | 29 | export function shouldReleaseMarkdownWorkerState(complete: boolean, latestID: number | undefined, responseID: number) { | CODE |
| LOW | packages/ui/src/components/markdown-worker-protocol.ts | 37 | export function applyMarkdownWorkerResponse( | CODE |
| LOW | packages/ui/src/components/context-menu.tsx | 173 | function ContextMenuItemDescription(props: ParentProps<ContextMenuItemDescriptionProps>) { | CODE |
| LOW | packages/ui/src/theme/resolve.ts | 516 | function generateNeutralAlphaScale(neutralScale: HexColor[], isDark: boolean): HexColor[] { | CODE |
| LOW | packages/httpapi-codegen/src/index.ts | 329 | function renderImportedEffectFiles( | CODE |
| LOW | packages/kilo-telemetry/src/telemetry.ts | 337 | export function trackRemoteConnectionOpened() { | CODE |
| LOW | packages/kilo-ui/src/pierre/selection.ts | 40 | export function attachLineSelectionListeners( | CODE |
| LOW | packages/kilo-ui/src/components/tool-approval.tsx | 47 | export function ToolApprovalVisibilityProvider(props: ParentProps<{ value: Accessor<boolean> }>) { | CODE |
| LOW | …ckages/kilo-ui/src/components/context-tool-results.tsx | 147 | export function ContextToolRollingResults(props: { parts: ToolPart[]; pending: boolean }) { | CODE |
| LOW | packages/kilo-ui/src/components/message-highlight.ts | 170 | export function buildHighlightedTextSegments(text: string, files: FileRef[], agents: AgentRef[]): HighlightSegment[] { | CODE |
| LOW | packages/kilo-ui/src/components/basic-tool.tsx | 63 | export function shouldRenderApprovalInBody(placement: BasicToolProps["approvalPlacement"], hasApproval: boolean) { | CODE |
| LOW | packages/kilo-ui/src/stories/theme-decorator.tsx | 9 | function getOrCreateStyle(id: string): HTMLStyleElement { | CODE |
| LOW | packages/core/test/kilocode/db-preflight.test.ts | 31 | async function createWalDbWithPendingFrames(file: string) { | CODE |
| LOW | packages/core/src/effect/layer-node.ts | 286 | function rewriteReplacementDependencies(root: AnyNode, replacements: ReadonlyMap<string, AnyNode>) { | CODE |
| LOW | …ub-copilot/chat/map-openai-compatible-finish-reason.ts | 3 | export function mapOpenAICompatibleFinishReason( | CODE |
| LOW | …lot/chat/convert-to-openai-compatible-chat-messages.ts | 13 | export function convertToOpenAICompatibleChatMessages(prompt: LanguageModelV3Prompt): OpenAICompatibleChatPrompt { | CODE |
| LOW | …opilot/responses/map-openai-responses-finish-reason.ts | 3 | export function mapOpenAIResponseFinishReason({ | CODE |
| LOW | …copilot/responses/convert-to-openai-responses-input.ts | 21 | export async function convertToOpenAIResponsesInput({ | CODE |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1580 | function isResponseOutputItemDoneChunk( | CODE |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1586 | function isResponseOutputItemDoneReasoningChunk(chunk: z.infer<typeof openaiResponsesChunkSchema>): chunk is z.infer< | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1606 | function isResponseFunctionCallArgumentsDeltaChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1611 | function isResponseImageGenerationCallPartialImageChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1617 | function isResponseCodeInterpreterCallCodeDeltaChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1623 | function isResponseCodeInterpreterCallCodeDoneChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1629 | function isResponseOutputItemAddedChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1635 | function isResponseOutputItemAddedReasoningChunk(chunk: z.infer<typeof openaiResponsesChunkSchema>): chunk is z.infer< | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1643 | function isResponseAnnotationAddedChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1649 | function isResponseReasoningSummaryPartAddedChunk( | CODE |
| LOW⚡ | …b-copilot/responses/openai-responses-language-model.ts | 1655 | function isResponseReasoningSummaryTextDeltaChunk( | CODE |
| LOW | packages/session-ui/src/pierre/selection-bridge.ts | 67 | export function restoreShadowTextSelection(root: ShadowRoot | undefined, range: Range | undefined) { | CODE |
| LOW | packages/session-ui/src/pierre/selection-bridge.ts | 82 | export function createLineNumberSelectionBridge() { | CODE |
| LOW | packages/session-ui/src/pierre/comment-hover.ts | 6 | export function createHoverCommentUtility(props: { | CODE |
| LOW | …omponents/session-review-file-preview-v2-virtualize.ts | 3 | export function shouldVirtualizeReviewDiff(input: { additionLines: number; deletionLines: number }) { | CODE |
| LOW | …session-ui/src/components/line-comment-annotations.tsx | 613 | export function createLineCommentGutterRenderer(props: { | CODE |
| LOW | packages/session-ui/src/components/file.tsx | 579 | function createLocalVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { | CODE |
| LOW | packages/session-ui/src/components/file.tsx | 613 | function createSharedVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { | CODE |
| LOW | packages/session-ui/src/components/markdown-worker.ts | 76 | export function disposeMarkdownProjection(key: string) { | CODE |
| 328 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | patches/install-korean-ime-fix.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .kilo/skills/jetbrains-cli-pin/script/clean.ts | 1 | import { $ } from "bun" | COMMENT |
| LOW | .kilo/skills/icon-jetbrains/palette.md | 81 | COMMENT | |
| LOW | .kilo/skills/icon-jetbrains/palette.md | 101 | #55A76A -> #57965C success badge fill | COMMENT |
| LOW | script/sync-versions.ts | 1 | #!/usr/bin/env bun | COMMENT |
| LOW | script/check-forbidden-strings.ts | 41 | reason: "old upstream org path -- should be Kilo-Org/kilocode", | COMMENT |
| LOW | script/kilocode/changeset-version.ts | 1 | #!/usr/bin/env bun | COMMENT |
| LOW | script/kilocode/outdated.ts | 1 | // Report outdated dependencies of Kilo-owned workspace packages. | COMMENT |
| LOW | script/kilocode/stale-alerts.ts | 1 | // Find open Dependabot alerts that the repo no longer shows. | COMMENT |
| LOW | script/upstream/find-conflict-markers.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | packages/ui/src/context/marked-theme.tsx | 21 | // "terminal.ansiBlack": "#141415", | COMMENT |
| LOW | packages/ui/src/context/marked.tsx | 21 | COMMENT | |
| LOW | packages/ui/src/context/marked.tsx | 41 | "editor.foreground": "var(--text-base)", | COMMENT |
| LOW | packages/ui/src/context/marked.tsx | 701 | COMMENT | |
| LOW | packages/ui/src/pierre/kilo-diff-theme.ts | 1 | // kilocode_change - new file | COMMENT |
| LOW | packages/ui/src/pierre/kilo-diff-theme.ts | 61 | // "terminal.ansiBlack": "#141415", | COMMENT |
| LOW | packages/ui/src/components/markdown.tsx | 681 | toEl.getAttribute("data-slot") === "markdown-copy-button" | COMMENT |
| LOW | packages/ui/src/components/thinking-heading.stories.tsx | 41 | // Custom properties driven by sliders: | COMMENT |
| LOW | packages/kilo-telemetry/src/client.ts | 101 | // flush retries up to 3x with 3s delays plus 10s per attempt before | COMMENT |
| LOW | packages/llm/example/tutorial.ts | 21 | const model = OpenAI.configure({ | COMMENT |
| LOW | packages/llm/src/cache-policy.ts | 1 | // Apply an `LLMRequest.cache` policy by injecting `CacheHint`s onto the parts | COMMENT |
| LOW | packages/llm/src/schema/options.ts | 241 | export type ModelInput = Model.Input | COMMENT |
| LOW | packages/llm/src/protocols/openai-responses.ts | 641 | const reasoningMetadata = (item: OpenAIResponsesStreamItem & { id: string }) => | COMMENT |
| LOW | packages/llm/src/protocols/gemini.ts | 141 | readonly nextToolCallId: number | COMMENT |
| LOW | packages/kilo-ui/src/index.ts | 1 | // | COMMENT |
| LOW | packages/kilo-ui/src/file-link-validator.ts | 1 | // Shared file-link candidate validator used by message-part.tsx. | COMMENT |
| LOW | packages/kilo-ui/src/components/diff-ssr.tsx | 141 | // Hydrate annotation slots with interactive SolidJS components | COMMENT |
| LOW | packages/kilo-ui/src/components/message-part.tsx | 1661 | } | COMMENT |
| LOW | packages/kilo-ui/src/hooks/create-auto-scroll.tsx | 121 | setStore("userScrolled", false) | COMMENT |
| LOW | packages/core/src/effect-zod.ts | 81 | COMMENT | |
| LOW | packages/core/src/file-mutation.ts | 201 | // TODO: Add formatter integration after V2 formatter runtime exists. | COMMENT |
| LOW | packages/core/src/oauth/page.ts | 1 | // Branded HTML pages for local OAuth callback servers. | COMMENT |
| LOW | packages/core/src/plugin/provider/opencode.ts | 1 | import { Effect } from "effect" | COMMENT |
| LOW | packages/core/src/tool/bash.ts | 61 | COMMENT | |
| LOW | packages/kilo-memory/src/capture/redact.ts | 21 | /AKIA[0-9A-Z]{16}/, | COMMENT |
| LOW | packages/tui/test/cli/tui/prompt-submit-race.test.ts | 1 | import { describe, expect, test } from "bun:test" | COMMENT |
| LOW | packages/tui/src/kilocode/model-picker.ts | 1 | // kilocode_change - new file | COMMENT |
| LOW | packages/kilo-jetbrains/detekt.yml | 1 | # Detekt configuration for kilo-jetbrains. | COMMENT |
| LOW | packages/kilo-jetbrains/detekt.yml | 21 | # TooManyFunctions: | COMMENT |
| LOW | …end/src/main/kotlin/ai/kilocode/client/ui/HoverIcon.kt | 61 | // | COMMENT |
| LOW | …otlin/ai/kilocode/client/ui/list/ActiveListRenderer.kt | 381 | if (cfg.wrapDescription) { | COMMENT |
| LOW | …de/client/agentManager/worktree/GhStatusCoordinator.kt | 41 | COMMENT | |
| LOW | …/ai/kilocode/client/session/ui/rail/PromptRailPopup.kt | 81 | // A prompt and the start of its answer both need their own line, and the answer wraps. | COMMENT |
| LOW | …backend/provider/KiloBackendProviderSettingsManager.kt | 161 | val existing = scopedConfig( | COMMENT |
| LOW | …/kotlin/ai/kilocode/backend/rpc/SetupScriptTemplate.kt | 21 | # | COMMENT |
| LOW | …/kotlin/ai/kilocode/backend/rpc/SetupScriptTemplate.kt | 41 | # if [ -f "${'$'}WORKTREE_PATH/package.json" ]; then | COMMENT |
| LOW | …/kotlin/ai/kilocode/backend/rpc/SetupScriptTemplate.kt | 61 | # ${'$'}env:REPO_PATH - Absolute path to the main repository | COMMENT |
| LOW | …/kotlin/ai/kilocode/backend/rpc/SetupScriptTemplate.kt | 81 | # Copy-Item "${'$'}env:REPO_PATH/apps/web/.env.local" "${'$'}env:WORKTREE_PATH/apps/web/.env.local" | COMMENT |
| LOW | …tlin/ai/kilocode/backend/rpc/KiloWorktreeRpcApiImpl.kt | 101 | // that as "nothing is ever being removed via the fast path", not as an error. | COMMENT |
| LOW | …tlin/ai/kilocode/backend/rpc/KiloWorktreeRpcApiImpl.kt | 661 | } | COMMENT |
| LOW | …ckages/kilo-jetbrains/script/clear-migration-status.sh | 1 | #!/usr/bin/env sh | COMMENT |
| LOW | packages/kilo-gateway/src/tui.ts | 21 | // ============================================================================ | COMMENT |
| LOW | …es/kilo-vscode/tests/unit/prompt-send-contract.test.ts | 601 | const after = source.slice(idx, idx + 4000) | COMMENT |
| LOW | packages/kilo-vscode/webview-ui/pierre-worker.ts | 1 | // Kilo-specific replacement for the shared `@opencode-ai/ui/pierre/worker` | COMMENT |
| LOW | …code/webview-ui/agent-manager/terminal/TerminalTab.tsx | 461 | if (!ws) open(props.wsUrl) | COMMENT |
| LOW | …o-vscode/webview-ui/src/components/chat/TaskHeader.tsx | 121 | // <Show>), so it can never be what turns search on in the first place — | COMMENT |
| LOW | …-vscode/webview-ui/src/components/chat/MessageList.tsx | 241 | }) | COMMENT |
| LOW | …-vscode/webview-ui/src/components/chat/MessageList.tsx | 481 | }) | COMMENT |
| LOW | …bview-ui/src/components/chat/transcript-search-text.ts | 41 | return { text: chunks.join("\n"), ranges } | COMMENT |
| LOW | …ges/kilo-vscode/webview-ui/src/hooks/useFileMention.ts | 241 | setText: (text: string) => void | COMMENT |
| 130 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/kilo-docs/pages/index.tsx | 23 | <span className="terminal-prompt">$</span> export KILO_API_KEY="YOUR_API_KEY" | CODE |
| HIGH | packages/kilo-docs/pages/automate/mcp/using-in-cli.md | 57 | "API_KEY": "your_api_key" | CODE |
| HIGH | …ges/kilo-docs/pages/automate/mcp/using-in-kilo-code.md | 47 | "API_KEY": "your_api_key" | CODE |
| HIGH | …ges/kilo-docs/pages/automate/mcp/using-in-kilo-code.md | 157 | "API_KEY": "your_api_key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/deepseek.md | 37 | export DEEPSEEK_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/fireworks.md | 36 | export FIREWORKS_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/xai.md | 106 | export XAI_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/anthropic.md | 37 | export ANTHROPIC_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/groq.md | 40 | export GROQ_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/daoxe.md | 58 | export DAOXE_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/requesty.md | 35 | export REQUESTY_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/openai.md | 43 | export OPENAI_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/venice.md | 35 | export VENICE_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/nebius.md | 62 | export NEBIUS_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/ovhcloud.md | 44 | export OVHCLOUD_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/chutes-ai.md | 40 | export CHUTES_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/alibaba.md | 35 | export DASHSCOPE_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/zenmux.md | 34 | export ZENMUX_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/edenai.md | 52 | export EDENAI_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/gmicloud.md | 60 | export GMICLOUD_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/mistral.md | 38 | export MISTRAL_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/mixlayer.md | 48 | export MIXLAYER_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/minimax.md | 37 | export MINIMAX_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/trustedrouter.md | 47 | export TRUSTEDROUTER_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/synthetic.md | 40 | export SYNTHETIC_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/moonshot.md | 37 | export MOONSHOT_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/cerebras.md | 37 | export CEREBRAS_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/inception.md | 43 | export INCEPTION_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/gemini.md | 45 | export GOOGLE_GENERATIVE_AI_API_KEY="your-api-key" | CODE |
| HIGH | …ages/kilo-docs/pages/ai-providers/vercel-ai-gateway.md | 73 | export AI_GATEWAY_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/ai-providers/openrouter.md | 36 | export OPENROUTER_API_KEY="your-api-key" | CODE |
| HIGH | packages/kilo-docs/pages/gateway/authentication.md | 15 | Authorization: Bearer <your_api_key> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/upstream/merge.ts | 257 | // Step 1: Validate environment | COMMENT |
| LOW⚡ | script/upstream/merge.ts | 310 | // Step 2: Fetch upstream | COMMENT |
| LOW⚡ | script/upstream/merge.ts | 317 | // Step 3: Determine target version/commit | COMMENT |
| LOW | script/upstream/merge.ts | 354 | // Step 4: Generate conflict report | COMMENT |
| LOW | script/upstream/merge.ts | 417 | // Step 5: Create branches | COMMENT |
| LOW | script/upstream/merge.ts | 478 | // Step 6: Apply ALL transformations to opencode branch (pre-merge) | COMMENT |
| LOW | script/upstream/merge.ts | 596 | // Step 7: Merge into Kilo branch | COMMENT |
| LOW | script/upstream/merge.ts | 893 | // Step 8: Regenerate lock files and finalize | COMMENT |
| LOW | .kilocode/skills/vscode-visual-regression/SKILL.md | 20 | ## Step 1: Decide which story file to use | COMMENT |
| LOW | .kilocode/skills/vscode-visual-regression/SKILL.md | 36 | ## Step 2: Write the story | COMMENT |
| LOW | .kilocode/skills/vscode-visual-regression/SKILL.md | 166 | ## Step 3: Handle narrow viewports | COMMENT |
| LOW | .kilocode/skills/vscode-visual-regression/SKILL.md | 192 | ## Step 4: Handle animations / non-deterministic content | COMMENT |
| LOW | .kilocode/skills/vscode-visual-regression/SKILL.md | 202 | ## Step 5: Generate baseline images | COMMENT |
| LOW | …es/code-with-ai/features/autocomplete/mistral-setup.md | 12 | ## Step 1: Create a Mistral API key | COMMENT |
| LOW | …es/code-with-ai/features/autocomplete/mistral-setup.md | 21 | ## Step 2: Add your key via BYOK in Kilo | COMMENT |
| LOW | …es/code-with-ai/features/autocomplete/mistral-setup.md | 36 | ## Step 3: Verify autocomplete | COMMENT |
| LOW | …-docs/pages/code-with-ai/gastown/wasteland/workflow.md | 13 | ## Step 1: Browse | COMMENT |
| LOW | …-docs/pages/code-with-ai/gastown/wasteland/workflow.md | 40 | ## Step 2: Claim | COMMENT |
| LOW | …-docs/pages/code-with-ai/gastown/wasteland/workflow.md | 73 | ## Step 3: Work | COMMENT |
| LOW | …-docs/pages/code-with-ai/gastown/wasteland/workflow.md | 99 | ## Step 4: Submit Evidence | COMMENT |
| LOW | …-docs/pages/code-with-ai/gastown/wasteland/workflow.md | 140 | ## Step 5: Stamping | COMMENT |
| LOW⚡ | …s/kilo-docs/pages/collaborate/teams/getting-started.md | 19 | ### Step 1: Create Your Organization | COMMENT |
| LOW⚡ | …s/kilo-docs/pages/collaborate/teams/getting-started.md | 28 | ### Step 2: Subscribe to Teams or Enterprise | COMMENT |
| LOW⚡ | …s/kilo-docs/pages/collaborate/teams/getting-started.md | 36 | ### Step 3: Invite Your Team | COMMENT |
| LOW | …s/kilo-docs/pages/collaborate/teams/getting-started.md | 48 | ### Step 4: Team Members Install Extension | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 15 | ### Step 1: Open Kilo Code | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 19 | ### Step 2: Type Your Task | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 29 | ### Step 3: Send Your Task | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 33 | ### Step 4: Review & Approve Actions | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 39 | ### Step 5: Iterate and Review | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 48 | ### Step 1: Open a Terminal | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 56 | ### Step 2: Launch Kilo | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 66 | ### Step 3: Type Your Task | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 76 | ### Step 4: Review & Approve Actions | COMMENT |
| LOW⚡ | packages/kilo-docs/pages/getting-started/quickstart.md | 82 | ### Step 5: Iterate and Review | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/github.md | 18 | ### Step 1: Install the GitHub App | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/github.md | 31 | ### Step 2: Configure the Review Agent | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/github.md | 45 | ### Step 3: Open a Pull Request | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/gitlab.md | 22 | ### Step 1: Connect GitLab | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/gitlab.md | 28 | ### Step 2: Configure the Review Agent | COMMENT |
| LOW | …ckages/kilo-docs/pages/automate/code-reviews/gitlab.md | 44 | ### Step 3: Open a Merge Request | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 14 | // Step 1: Remove duplicate dot-notation schemas and remap their $refs to | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 16 | // Step 2: Strip operation-level tags so all routes land in DefaultApi. | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 17 | // Step 3: Deduplicate the root-level tags array. | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 18 | // Step 4: Fix nullable fields in the /kilo/profile response that Effect's | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 33 | // Step 1: Initiate device auth | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 43 | // Step 2: Display instructions and open browser | COMMENT |
| LOW | packages/kilo-gateway/src/auth/device-auth.ts | 57 | // Step 3: Poll for authorization | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 115 | // Step 4: Fetch profile to get organizations | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 120 | // Step 5: Prompt for organization selection | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 127 | // Step 6: Fetch default model | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 132 | // Step 7: Return auth result | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 17 | // Step 1: Initiate device auth | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 21 | // Step 2: Open browser (windowsHide: true prevents cmd.exe flash on Windows) | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 30 | // Step 3: Return instructions and callback for TUI to handle | COMMENT |
| LOW⚡ | …ilo-vscode/src/kilo-provider/handlers/cloud-session.ts | 149 | // Step 1: Import the cloud session with fresh IDs | COMMENT |
| LOW | …ilo-vscode/src/kilo-provider/handlers/cloud-session.ts | 189 | // Step 2: Send the user's message/command on the new local session | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 38 | // Step 1: Initiate OAuth authorization | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 57 | // Step 2: Wait for callback (blocks until polling completes) | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 69 | // Step 3: Fetch profile and push to webview | COMMENT |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 161 | Kilo CLI is a fork of [OpenCode](https://github.com/anomalyco/opencode), enhanced to work within the Kilo agentic engine | CODE |
| MEDIUM | …lo-docs/pages/code-with-ai/agents/orchestrator-mode.md | 33 | [Kilo Swarm](/docs/getting-started/settings#kilo-swarm) lets a main session and its task descendants exchange findings o | CODE |
| MEDIUM | …docs/pages/contributing/architecture/cloud-security.md | 265 | Gas Town and Wasteland are separate trust boundaries. Gas Town owns town state and container execution. It calls Wastela | CODE |
| MEDIUM⚡ | …/getting-started/cost-controls-and-usage-safeguards.md | 321 | // agentic iterations it may take before it must produce a text-only reply. | COMMENT |
| MEDIUM⚡ | …/getting-started/cost-controls-and-usage-safeguards.md | 326 | "steps": 20 // hard cap on agentic iterations per turn | CODE |
| MEDIUM | packages/kilo-docs/pages/getting-started/index.md | 38 | New to AI coding assistants? Before learning what Kilo itself does, you can learn about agentic engineering in [Agentic | CODE |
| MEDIUM | packages/kilo-docs/pages/automate/agent-manager.md | 361 | ## Starting and orchestrating sessions from chat | COMMENT |
| MEDIUM | packages/kilo-docs/pages/automate/tools/index.md | 164 | For existing sessions, call `action: "list"` to discover exact session, worktree, and section IDs before using `prompt`, | CODE |
| MEDIUM | packages/codemode/README.md | 232 | The instructions are structured markdown, ordered so the workflow sits at the top and the catalog at the bottom: a `## W | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 965 | - [#13557](https://github.com/Kilo-Org/kilocode/pull/13557) [`6624c1a`](https://github.com/Kilo-Org/kilocode/commit/6624 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 1072 | - [#13422](https://github.com/Kilo-Org/kilocode/pull/13422) [`83e2772`](https://github.com/Kilo-Org/kilocode/commit/83e2 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 1107 | - [#13372](https://github.com/Kilo-Org/kilocode/pull/13372) [`7baefdd`](https://github.com/Kilo-Org/kilocode/commit/7bae | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 2802 | - [#10218](https://github.com/Kilo-Org/kilocode/pull/10218) [`4860e65`](https://github.com/Kilo-Org/kilocode/commit/4860 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 3779 | - [#5568](https://github.com/Kilo-Org/kilocode/pull/5568) [`82ba1a8`](https://github.com/Kilo-Org/kilocode/commit/82ba1a | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 3829 | - [#5377](https://github.com/Kilo-Org/kilocode/pull/5377) [`cf9d90e`](https://github.com/Kilo-Org/kilocode/commit/cf9d90 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 3869 | - [#5831](https://github.com/Kilo-Org/kilocode/pull/5831) [`f8f8708`](https://github.com/Kilo-Org/kilocode/commit/f8f870 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 4572 | - [#4561](https://github.com/Kilo-Org/kilocode/pull/4561) [`3c18860`](https://github.com/Kilo-Org/kilocode/commit/3c1886 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 4572 | - [#4561](https://github.com/Kilo-Org/kilocode/pull/4561) [`3c18860`](https://github.com/Kilo-Org/kilocode/commit/3c1886 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 4593 | - [#4488](https://github.com/Kilo-Org/kilocode/pull/4488) [`f7c3715`](https://github.com/Kilo-Org/kilocode/commit/f7c371 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 6121 | - [#2021](https://github.com/Kilo-Org/kilocode/pull/2021) [`02adf7c`](https://github.com/Kilo-Org/kilocode/commit/02adf7 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 6494 | - [#1539](https://github.com/Kilo-Org/kilocode/pull/1539) [`fd3679b`](https://github.com/Kilo-Org/kilocode/commit/fd3679 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 6940 | - [#894](https://github.com/Kilo-Org/kilocode/pull/894) [`421d57e`](https://github.com/Kilo-Org/kilocode/commit/421d57e4 | CODE |
| MEDIUM | packages/kilo-vscode/CHANGELOG.md | 7034 | - [#847](https://github.com/Kilo-Org/kilocode/pull/847) [`fbe3c75`](https://github.com/Kilo-Org/kilocode/commit/fbe3c75c | CODE |
| MEDIUM | packages/opencode/CHANGELOG.md | 393 | - [#13340](https://github.com/Kilo-Org/kilocode/pull/13340) [`f3d6d09`](https://github.com/Kilo-Org/kilocode/commit/f3d6 | CODE |
| MEDIUM | packages/opencode/CHANGELOG.md | 711 | - [#13557](https://github.com/Kilo-Org/kilocode/pull/13557) [`6624c1a`](https://github.com/Kilo-Org/kilocode/commit/6624 | CODE |
| MEDIUM | packages/opencode/CHANGELOG.md | 873 | - [#13165](https://github.com/Kilo-Org/kilocode/pull/13165) [`5e6e93a`](https://github.com/Kilo-Org/kilocode/commit/5e6e | CODE |
| MEDIUM | packages/opencode/CHANGELOG.md | 2106 | - [#10669](https://github.com/Kilo-Org/kilocode/pull/10669) [`0107a01`](https://github.com/Kilo-Org/kilocode/commit/0107 | CODE |
| MEDIUM | packages/opencode/CHANGELOG.md | 2212 | - [#10218](https://github.com/Kilo-Org/kilocode/pull/10218) [`4860e65`](https://github.com/Kilo-Org/kilocode/commit/4860 | CODE |
| MEDIUM | packages/opencode/test/provider/gitlab-duo.test.ts | 268 | // test("GitLab Duo: has multiple agentic chat models available", async () => { | COMMENT |
| MEDIUM | packages/opencode/src/kilocode/skills/kilo-config.md | 51 | steps: 25 # max agentic iterations | CODE |
| MEDIUM | translations/README.uk.md | 162 | Kilo CLI — це fork [OpenCode](https://github.com/anomalyco/opencode), розширений для роботи в платформі agentic engineer | CODE |
| MEDIUM | translations/README.zh.md | 162 | Kilo CLI 是 [OpenCode](https://github.com/anomalyco/opencode) 的一个 fork,并增强为可在 Kilo agentic engineering 平台中使用。 | CODE |
| MEDIUM | translations/README.gr.md | 162 | Το Kilo CLI είναι fork του [OpenCode](https://github.com/anomalyco/opencode), βελτιωμένο για να λειτουργεί μέσα στην Kil | CODE |
| MEDIUM | translations/README.bs.md | 162 | Kilo CLI je fork [OpenCode](https://github.com/anomalyco/opencode), poboljšan za rad unutar Kilo agentic engineering pla | CODE |
| MEDIUM | translations/README.bn.md | 162 | Kilo CLI হলো [OpenCode](https://github.com/anomalyco/opencode)-এর একটি fork, Kilo agentic engineering platform-এর মধ্যে | CODE |
| MEDIUM | translations/README.ar.md | 164 | Kilo CLI هو fork من [OpenCode](https://github.com/anomalyco/opencode)، وتم تحسينه للعمل داخل منصة Kilo agentic engineeri | CODE |
| MEDIUM | translations/README.da.md | 162 | Kilo CLI er en fork af [OpenCode](https://github.com/anomalyco/opencode), forbedret til at fungere i Kilo agentic engine | CODE |
| MEDIUM | translations/README.ja.md | 162 | Kilo CLI は [OpenCode](https://github.com/anomalyco/opencode) の fork であり、Kilo agentic engineering プラットフォーム内で動作するように強化されてい | CODE |
| MEDIUM | translations/README.zht.md | 162 | Kilo CLI 是 [OpenCode](https://github.com/anomalyco/opencode) 的 fork,並增強為可在 Kilo agentic engineering 平台中使用。 | CODE |
| MEDIUM | translations/README.vi.md | 162 | Kilo CLI là một fork của [OpenCode](https://github.com/anomalyco/opencode), được cải tiến để hoạt động trong nền tảng Ki | CODE |
| MEDIUM | translations/README.pl.md | 162 | Kilo CLI jest forkiem [OpenCode](https://github.com/anomalyco/opencode), rozszerzonym do działania w platformie agentic | CODE |
| MEDIUM | translations/README.ko.md | 162 | Kilo CLI는 [OpenCode](https://github.com/anomalyco/opencode)의 fork이며, Kilo agentic engineering 플랫폼에서 작동하도록 강화되었습니다. | CODE |
| MEDIUM | translations/README.ru.md | 162 | Kilo CLI — это fork [OpenCode](https://github.com/anomalyco/opencode), расширенный для работы в платформе agentic engine | CODE |
| MEDIUM | translations/README.no.md | 162 | Kilo CLI er en fork av [OpenCode](https://github.com/anomalyco/opencode), forbedret for å fungere i Kilo agentic enginee | CODE |
| MEDIUM | translations/README.th.md | 162 | Kilo CLI เป็น fork ของ [OpenCode](https://github.com/anomalyco/opencode) ที่ได้รับการปรับปรุงให้ทำงานในแพลตฟอร์ม Kilo ag | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/ui/src/v2/components/select-v2.tsx | 68 | "placeholder", | CODE |
| LOW | packages/ui/src/v2/components/line-comment-v2.tsx | 101 | "placeholder", | CODE |
| LOW | packages/ui/src/components/line-comment.tsx | 202 | "placeholder", | CODE |
| LOW⚡ | …ages/ui/src/components/timeline-playground.stories.tsx | 26 | // Lorem ipsum content | COMMENT |
| LOW⚡ | …ages/ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …ages/ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW | packages/ui/src/components/select.tsx | 29 | "placeholder", | CODE |
| LOW | packages/kilo-ui/src/stories/text-field.stories.tsx | 34 | args: { label: "Full Name", placeholder: "John Doe" }, | CODE |
| LOW | packages/kilo-ui/src/stories/text-field.stories.tsx | 44 | placeholder: "user@example.com", | CODE |
| LOW | packages/session-ui/src/components/line-comment.tsx | 202 | "placeholder", | CODE |
| LOW⚡ | …sion-ui/src/components/timeline-playground.stories.tsx | 26 | // Lorem ipsum content | COMMENT |
| LOW⚡ | …sion-ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …sion-ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW | packages/tui/test/prompt/display.test.ts | 30 | expect(mentionTriggerIndex("foo@bar.com")).toBeUndefined() | CODE |
| LOW | packages/tui/src/component/prompt/index.tsx | 346 | setStore("placeholder", randomIndex(list().length)) | CODE |
| LOW | packages/tui/src/component/prompt/index.tsx | 938 | setStore("placeholder", randomIndex(shell().length)) | CODE |
| LOW | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1284 | appRpc.state.value = KiloAppStateDto(KiloAppStatusDto.READY, profile = ProfileDto(email = "user@example.com")) | CODE |
| LOW⚡ | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1295 | appRpc.state.value = KiloAppStateDto(KiloAppStatusDto.READY, profile = ProfileDto(email = "user@example.com")) | CODE |
| LOW⚡ | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1312 | appRpc.state.value = KiloAppStateDto(KiloAppStatusDto.READY, profile = ProfileDto(email = "user@example.com")) | CODE |
| LOW | …tlin/ai/kilocode/client/session/SessionUiLayoutTest.kt | 1337 | appRpc.state.value = KiloAppStateDto(KiloAppStatusDto.READY, profile = ProfileDto(email = "user@example.com")) | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 40 | email: String = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 69 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 83 | val prof = profile(email = "user@example.com") | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 93 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 114 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 137 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 155 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 172 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 185 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 205 | email = "user@example.com", | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 223 | val prof = profile(email = "user@example.com") | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 234 | val prof = profile(email = "user@example.com", name = "Test User") | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 257 | val prof = profile(email = "user@example.com") | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 322 | show(snap(profile(email = "user@example.com"))) | CODE |
| LOW | …client/session/ui/account/SessionAccountOverlayTest.kt | 349 | show(snap(profile(email = "user@example.com"))) | CODE |
| LOW | …ilocode/client/session/controller/ViewSwitchingTest.kt | 505 | email = "user@example.com", | STRING |
| LOW⚡ | …ilocode/client/session/controller/ViewSwitchingTest.kt | 566 | val prof = ProfileDto(email = "user@example.com", balance = ProfileBalanceDto(20.0)) | STRING |
| LOW⚡ | …ilocode/client/session/controller/ViewSwitchingTest.kt | 572 | assertTrue(shows.last().account.profile?.email == "user@example.com") | STRING |
| LOW⚡ | …ilocode/client/session/controller/ViewSwitchingTest.kt | 581 | email = "user@example.com", | STRING |
| LOW | …ilocode/client/session/controller/TurnLifecycleTest.kt | 545 | profile = ProfileDto(email = "user@example.com"), | CODE |
| LOW | …ilocode/client/session/controller/TurnLifecycleTest.kt | 584 | profile = ProfileDto(email = "user@example.com"), | CODE |
| LOW | …ilocode/client/session/controller/TurnLifecycleTest.kt | 689 | profile = ProfileDto(email = "user@example.com"), | CODE |
| LOW | …n/ai/kilocode/backend/app/HostedStreamLifecycleTest.kt | 347 | mock.profile = """{"profile":{"email":"test@test.com","name":"Test"},"balance":null,"currentOrgId":"org_1"}""" | CODE |
| LOW | …n/ai/kilocode/backend/app/HostedStreamLifecycleTest.kt | 404 | mock.profile = """{"profile":{"email":"test@test.com","name":"Test"},"balance":null,"currentOrgId":"org_1"}""" | CODE |
| LOW | …st/kotlin/ai/kilocode/backend/testing/MockCliServer.kt | 43 | @Volatile var profile = """{"profile":{"email":"test@test.com","name":"Test"},"balance":null,"currentOrgId":null}""" | CODE |
| LOW | …e/backend/marketplace/KiloBackendMarketplaceManager.kt | 314 | placeholder = obj.str("placeholder"), | CODE |
| LOW | packages/kilo-gateway/test/auth/device.test.ts | 20 | const data = { status: "approved", token: "token", userEmail: "user@example.com", extra: true } | CODE |
| LOW | packages/kilo-gateway/test/api/profile.test.ts | 56 | email: "user@example.com", | CODE |
| LOW | …/kilo-vscode/tests/indexing-provider-blur-race.spec.ts | 87 | await expect(model).toHaveAttribute("placeholder", "Enter model ID") | CODE |
| LOW | …ckages/kilo-vscode/tests/unit/worktree-manager.test.ts | 43 | gitExec(["git", "-C", dir, "config", "user.email", "test@test.com"]) | CODE |
| LOW | …ckages/kilo-vscode/tests/unit/worktree-manager.test.ts | 70 | gitExec(["git", "-C", clone, "config", "user.email", "test@test.com"]) | CODE |
| LOW | …kages/kilo-vscode/tests/unit/worktree-recovery.test.ts | 30 | git(["git", "-C", root, "config", "user.email", "test@test.com"]) | CODE |
| LOW | packages/kilo-vscode/tests/unit/git-transfer.test.ts | 25 | await git(["config", "user.email", "test@test.com"], dir) | CODE |
| LOW | …ages/kilo-vscode/tests/unit/worktree-reconcile.test.ts | 28 | git(["git", "-C", dir, "config", "user.email", "test@test.com"]) | CODE |
| LOW | packages/kilo-vscode/tests/unit/worktree-pool.test.ts | 39 | gitExec(["git", "-C", dir, "config", "user.email", "test@test.com"]) | CODE |
| LOW | …ages/kilo-vscode/tests/unit/agent-manager-i18n.test.ts | 40 | const USER_FACING_PROPS = new Set(["title", "label", "placeholder", "aria-label"]) | CODE |
| LOW | …es/kilo-vscode/tests/unit/continue-in-worktree.test.ts | 30 | await git.addConfig("user.email", "test@test.com") | CODE |
| LOW | …kilo-vscode/webview-ui/src/stories/profile.stories.tsx | 20 | email: "user@example.com", | CODE |
| LOW | …kilo-vscode/webview-ui/src/stories/profile.stories.tsx | 23 | { id: "org-1", name: "Acme Corp", role: "admin" }, | CODE |
| LOW | …st/kilocode/session-compaction-unknown-context.test.ts | 47 | text: `${index}: ${"lorem ipsum dolor ".repeat(330)}`, | CODE |
| 22 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | script/upstream/merge.ts | 257 | // Step 1: Validate environment | COMMENT |
| LOW⚡ | script/upstream/merge.ts | 310 | // Step 2: Fetch upstream | COMMENT |
| LOW⚡ | script/upstream/merge.ts | 317 | // Step 3: Determine target version/commit | COMMENT |
| LOW | script/upstream/merge.ts | 354 | // Step 4: Generate conflict report | COMMENT |
| LOW | script/upstream/merge.ts | 417 | // Step 5: Create branches | COMMENT |
| LOW | script/upstream/merge.ts | 478 | // Step 6: Apply ALL transformations to opencode branch (pre-merge) | COMMENT |
| LOW | script/upstream/merge.ts | 596 | // Step 7: Merge into Kilo branch | COMMENT |
| LOW | script/upstream/merge.ts | 893 | // Step 8: Regenerate lock files and finalize | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 14 | // Step 1: Remove duplicate dot-notation schemas and remap their $refs to | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 16 | // Step 2: Strip operation-level tags so all routes land in DefaultApi. | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 17 | // Step 3: Deduplicate the root-level tags array. | COMMENT |
| LOW⚡ | …src/main/kotlin/normalization/OpenApiSpecNormalizer.kt | 18 | // Step 4: Fix nullable fields in the /kilo/profile response that Effect's | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 33 | // Step 1: Initiate device auth | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 43 | // Step 2: Display instructions and open browser | COMMENT |
| LOW | packages/kilo-gateway/src/auth/device-auth.ts | 57 | // Step 3: Poll for authorization | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 115 | // Step 4: Fetch profile to get organizations | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 120 | // Step 5: Prompt for organization selection | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 127 | // Step 6: Fetch default model | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth.ts | 132 | // Step 7: Return auth result | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 17 | // Step 1: Initiate device auth | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 21 | // Step 2: Open browser (windowsHide: true prevents cmd.exe flash on Windows) | COMMENT |
| LOW⚡ | packages/kilo-gateway/src/auth/device-auth-tui.ts | 30 | // Step 3: Return instructions and callback for TUI to handle | COMMENT |
| LOW⚡ | …ilo-vscode/src/kilo-provider/handlers/cloud-session.ts | 149 | // Step 1: Import the cloud session with fresh IDs | COMMENT |
| LOW | …ilo-vscode/src/kilo-provider/handlers/cloud-session.ts | 189 | // Step 2: Send the user's message/command on the new local session | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 38 | // Step 1: Initiate OAuth authorization | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 57 | // Step 2: Wait for callback (blocks until polling completes) | COMMENT |
| LOW | packages/kilo-vscode/src/kilo-provider/handlers/auth.ts | 69 | // Step 3: Fetch profile and push to webview | COMMENT |
| LOW⚡ | …lo-indexing/src/indexing/vector-store/qdrant-client.ts | 351 | // Step 1: Attempt to delete the existing collection | COMMENT |
| LOW⚡ | …lo-indexing/src/indexing/vector-store/qdrant-client.ts | 357 | // Step 2: Wait a brief moment to ensure deletion is processed | COMMENT |
| LOW⚡ | …lo-indexing/src/indexing/vector-store/qdrant-client.ts | 360 | // Step 3: Verify the collection is actually deleted | COMMENT |
| LOW⚡ | …lo-indexing/src/indexing/vector-store/qdrant-client.ts | 366 | // Step 4: Create the new collection with correct dimensions | COMMENT |
| LOW | packages/opencode/test/kilocode/worktree-diff.test.ts | 109 | // Step 1: git diff for tracked changes | COMMENT |
| LOW | packages/opencode/test/kilocode/worktree-diff.test.ts | 126 | // Step 2: git ls-files for untracked | COMMENT |
| LOW⚡ | packages/opencode/test/kilocode/session-resume.test.ts | 515 | // Step 0: user | COMMENT |
| LOW⚡ | packages/opencode/test/kilocode/session-resume.test.ts | 519 | // Step 1: first assistant tool round | COMMENT |
| LOW⚡ | packages/opencode/test/kilocode/session-resume.test.ts | 867 | // Step 0: user | COMMENT |
| LOW⚡ | packages/opencode/test/kilocode/session-resume.test.ts | 871 | // Step 1: first completed tool round. | COMMENT |
| LOW | …de/src/kilocode/components/dialog-kilo-auto-method.tsx | 54 | // Step 1: Poll for OAuth completion | COMMENT |
| LOW | …de/src/kilocode/components/dialog-kilo-auto-method.tsx | 67 | // Step 2: Fetch profile using the new server endpoint | COMMENT |
| LOW | …de/src/kilocode/components/dialog-kilo-auto-method.tsx | 78 | // Step 3: Check if user has organizations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …lo-vscode/webview-ui/src/stories/composite.stories.tsx | 1270 | print(f"Total wavetable entries in events.json: {len(expected)}") | CODE |
| HIGH⚡ | …lo-vscode/webview-ui/src/stories/composite.stories.tsx | 1278 | print(f"Entries with audio_file set: {found_audio}") | CODE |
| HIGH⚡ | …lo-vscode/webview-ui/src/stories/composite.stories.tsx | 1279 | print(f"Missing audio_file: {len(expected) - found_audio}") | CODE |
| HIGH | …/autocomplete/context/ImportDefinitionsService.test.ts | 259 | print("Hello, World!")` | STRING |
| HIGH | packages/opencode/test/kilocode/worktree-diff.test.ts | 174 | print("Game of Life") | CODE |
| HIGH | packages/opencode/src/kilocode/cli/cmd/daemon.ts | 116 | print(result) | CODE |
| HIGH | packages/opencode/src/kilocode/cli/cmd/daemon.ts | 133 | print(await Daemon.status(), Boolean(args.json)) | CODE |
| HIGH | packages/opencode/src/kilocode/cli/cmd/daemon.ts | 145 | print(result, true) | CODE |
| HIGH | packages/opencode/src/kilocode/cli/cmd/daemon.ts | 167 | print(result) | CODE |
| HIGH | packages/opencode/src/cli/ui.ts | 30 | print(...message) | CODE |
| HIGH | packages/opencode/src/cli/cmd/models.ts | 52 | print(providerID, args.verbose) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ai/kilocode/client/session/ui/ModifiedFilesViewTest.kt | 0 | diff --git a/src/a.kt b/src/a.kt --- a/src/a.kt +++ b/src/a.kt @@ -1,1 +1,2 @@ -old +new +more | STRING |
| HIGH | …ocode/client/session/ui/SessionMessageListPanelTest.kt | 0 | diff --git a/src/a.kt b/src/a.kt --- a/src/a.kt +++ b/src/a.kt @@ -1,1 +1,2 @@ -old +new +more | STRING |
| HIGH | …otlin/ai/kilocode/client/session/views/TurnViewTest.kt | 0 | diff --git a/src/a.kt b/src/a.kt --- a/src/a.kt +++ b/src/a.kt @@ -1,1 +1,2 @@ -old +new +more | STRING |
| HIGH | …ocode/client/session/controller/PromptLifecycleTest.kt | 0 | [code] [kilo/gpt-5] [busy] [considering next steps] | STRING |
| HIGH | …ocode/client/session/controller/SessionRecoveryTest.kt | 0 | [code] [kilo/gpt-5] [busy] [considering next steps] | STRING |
| HIGH | …ilocode/client/session/controller/TurnLifecycleTest.kt | 0 | [code] [kilo/gpt-5] [busy] [considering next steps] | STRING |
| HIGH | …code/client/session/controller/ProgressTrackingTest.kt | 0 | [code] [kilo/gpt-5] [busy] [considering next steps] | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/kilo-vscode/CHANGELOG.md | 4250 | - [#5073](https://github.com/Kilo-Org/kilocode/pull/5073) [`ab88311`](https://github.com/Kilo-Org/kilocode/commit/ab8831 | CODE |
| HIGH | packages/kilo-vscode/CHANGELOG.md | 4250 | - [#5073](https://github.com/Kilo-Org/kilocode/pull/5073) [`ab88311`](https://github.com/Kilo-Org/kilocode/commit/ab8831 | CODE |
| HIGH | packages/kilo-indexing/src/indexing/embedders/ollama.ts | 102 | // Extract embeddings using 'embeddings' key as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | patches/install-korean-ime-fix.sh | 10 | # Usage: | COMMENT |
| LOW | script/upstream/find-conflict-markers.sh | 12 | # Usage: | COMMENT |
| LOW | …ckages/kilo-jetbrains/script/clear-migration-status.sh | 17 | # Usage: | COMMENT |
| LOW | …kages/opencode/script/kilocode/repro-run-stdin-hang.sh | 19 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …code/webview-ui/src/types/messages/webview-messages.ts | 897 | // Persist the current selection for seamless restore after switching back | COMMENT |
| MEDIUM | packages/opencode/test/tool/question.test.ts | 99 | // header: "This Header is Definitely More Than Thirty Characters Long", | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/kilo-docs/pages/index.tsx | 52 | <span className="terminal-comment"># Create a custom rules file in your project</span> | CODE |
| MEDIUM | .github/publish-python-sdk.yml | 2 | # This file is intentionally in the wrong dir, will move and add later.... | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 59 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-vscode/src/legacy-migration/errors/migration-error.ts | 51 | function getData(value: unknown) { | CODE |
| LOW | packages/opencode/src/mcp/oauth-callback.ts | 95 | function handleRequest(req: import("http").IncomingMessage, res: import("http").ServerResponse) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ckages/kilo-jetbrains/script/clear-migration-status.sh | 71 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ot-path-context/__fixtures__/files/python/functions.py | 1 | CODE |