Chrome Manifest V3 · local-first

Autocomplete that stays on your machine.

Leetcomete adds VS Code-style suggestions to browser code editors on competitive-programming and practice sites. It indexes the code in the page, ranks symbols by context, and never sends your source anywhere.

Java C C++ Python JavaScript TypeScript C# Go Rust Kotlin Swift Ruby PHP Scala SQL
class Solution {
  int result = 1;

  void solve() {
    int res|
  }
}

Built for the editor you already use

No account, no API key, no remote model. The extension understands the code in the current editor and gets out of the way when you do not need it.

15 languages

Java, C, C++, Python, JavaScript, TypeScript, C#, Go, Rust, Kotlin, Swift, Ruby, PHP, Scala, and SQL, each with its own keywords, built-ins, declarations, and member hints.

Editor-aware

Monaco uses its native completion provider, so undo, snippets, and shortcuts keep working. CodeMirror 5 and plain textareas use a caret-anchored shadow-DOM popup.

Context, not noise

Locals and parameters rank above distant declarations; keywords and built-ins are optional. Typing inside comments and strings does not open the popup.

Keyboard-first

Tab or Enter accepts, arrows navigate, Escape dismisses, and Ctrl+Space or Alt+/ triggers explicitly.

No duplicate characters

Acceptance replaces exactly the typed prefix and restores the caret. Snippets place the cursor at the intended position instead of appending text twice.

Local by design

Settings live in chrome.storage.local. Chrome Sync is an explicit opt-in mirror for preferences only. Source text is never stored or transmitted.

Supported platforms

Site layouts change. Leetcomete uses narrow selectors and reports the detected platform, editor, and language in the popup so a selector failure is visible instead of silent.

Platform Editor path Status
LeetCode (.com / .cn) Monaco native provider, CodeMirror 5, textarea Priority target; live selectors need manual verification.
GeeksforGeeks CodeMirror 5, textarea Best-effort selectors.
HackerRank CodeMirror 5, textarea Best-effort selectors.
Codeforces CodeMirror 5, textarea Best-effort selectors.
CodeChef CodeMirror 5, textarea Best-effort selectors.
AtCoder CodeMirror 5, textarea Best-effort selectors.
Exercism CodeMirror 6 detection only Not supported; reported honestly in the popup.

Verification status: the completion engine, editor adapters, settings, build, and packaging are covered by automated tests. A synthetic LeetCode page was exercised in a Chromium browser harness. Live third-party sites, Monaco on the real LeetCode domain, and CodeMirror 5 pages still require manual testing. See the repository's docs/VERIFICATION.md and docs/MANUAL_TESTING.md for the exact results and remaining checklist.

Privacy without an asterisk

The extension requests only the storage permission. Site access is limited to the seven supported platforms through content-script match patterns. There is no analytics SDK, telemetry, advertising, remote model, or remote code.

What is processed

Editor text is read in the current tab to build an in-memory index and produce suggestions. It is discarded when the tab closes or the index is evicted.

What is stored

Only the preferences object in chrome.storage.local. If you enable sync, that same preferences object is mirrored to chrome.storage.sync.

What is shared

Nothing. No data is sold, rented, or shared with third parties. The extension makes no network requests of its own.

Read the full Leetcomete privacy policy for retention, permissions, Chrome Sync, and contact details.