SiftSift
Open source, polyglot, and hands-free.

Powerful Code Reviews.Free to run.Secure by design.

Powered natively by GitHub Actions. Zero external compute, zero subscription fees.Sift integrates directly into your PR workflow to catch what linters miss and what most humans overlook.

Code analysis

The Analytical Eye

Sift's engine doesn't just look for syntax errors.It understands the structural intent of your changes, sifting through layers of dependencies to ensure logical integrity.

public static currentPanel: FolderStructurePanel | undefined;
	private readonly _gitleaksTest = 'ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
	private readonly _panel: vscode.WebviewPanel;
	private _disposables: vscode.Disposable[] = [];
	private readonly _extensionUri: vscode.Uri;

	private constructor(panel: vscode.WebviewPanel, extensionUri: vscode.Uri) {
		this._panel = panel;
		this._extensionUri = extensionUri;
		this._panel.onDidDispose(() => this.dispose(), null, this._disposables);

		// Set the tab icon
		this._panel.iconPath = {
			light: vscode.Uri.joinPath(this._extensionUri, 'src', 'logos', 'ghost.svg'),
			dark: vscode.Uri.joinPath(this._extensionUri, 'src', 'logos', 'ghost.svg')
		};
	}

Sift Review

6 issue(s) found across 4 file(s)

CAUTION!
5 bugs1 security issue

6 issue(s) across 4 file(s) - full breakdown

eslint.config.mjs

LineSeverityIssue
24BUG 1Disabled strict equality checks

package.json

LineSeverityIssue
13BUG 1Typo in main entry point path

src/extension.ts

LineSeverityIssue
10BUG 1Typo and syntax error in command registration
11BUG 1Inverted logic and potential dereference
25SECURITY 1Hardcoded potential secret (gitleaks test)

src/test/extension.test.ts

LineSeverityIssue
12BUG 1Incorrect test assertion

Feedback loops

GuidedAI Training

Vector embeddings

Custom modelembeddings

Bring your own embedding model. Sift embeds each pull request’s file diff so reviews get richer semantic context around what changed. The more you use it, the more that context stacks up.

Diff embedding flow
PR file diff
LiteLLMembed()
Context stack

Use standard GitHub reactions to refine Sift's underlying models.Every emoji is a signal that tailors the AI specifically to your codebase's unique soul.

Foundations

Built forthe details

Open source

ghcr.io/sahilsaleem2907/sift:slim

Issue coverage (logic & edge cases)

Sift
85%
Typical tools
62%

Open source and fully customizable. Ship your own review stack with the official GHCR image, while catching 80–90% of meaningful issues that alternatives miss.

20+ linters

PythonTypeScriptGoSemgrepCodeQLEmbeddings

Twenty-plus linters across major languages, plus Semgrep rule packs, CodeQL security queries, and vector embeddings so diffs are read with semantic context, not just syntax.

Zero config

.github/workflows/sift.yml

Drop in one YAML file. Sift runs on every PR automatically via GitHub Actions within your own github organization, no servers, no maintenance.

Get started

Ready to Sift through the noise?

Get Started