Logico — Follow the logic, together.
A VS Code extension that points to the one piece of code you should read next.
GitHub Copilot anticipates the code you will write next. Logico anticipates the code you will read next. As you read, Logico infers what you are following and prepares a single next location. Press Ctrl+L to jump there.

When it helps
- You inherited a large repository and don't know where to start reading
- The real implementation hides behind an interface and is hard to reach
- You want to trace where a value is created and where it gets changed
- You know what a feature does, but not where it lives in the code
Highlights
- Always one candidate. No list to compare. Logico skips the side paths, such as loggers and validation, and picks the code that matters.
- One key: Ctrl+L. Press once to jump to the next location. Press twice quickly to search in plain words.
- Follows how you read. From your cursor movements, Logico infers whether you are following the control flow, a value, or the overall structure.
- Stays out of your way. It never moves your cursor on its own and never edits your code. No pop-ups or panels, only quiet hints in the status bar and at the end of the line.
Getting started
You need VS Code 1.101.0 or later and your own Jev (TypeSafe) API Key.
- Search for
Wisteria30.logico in the Extensions view and install Logico.
- Open the project folder you want to read.
- Run
Logico: Set Up… from the Command Palette, choose Set Jev API Key, and paste your key. You can get a key at TypeSafe.
- In the same list, choose Check the connection to Jev.
That's it. Logico appears on the right of the status bar, and a next location is prepared as you read.
The extension is free. Jev usage is subject to TypeSafe's pricing and rate limits.
Usage
Three actions on one key
Ctrl+L on Windows, Linux, and macOS alike.
| Action |
What happens |
| Press Ctrl+L once |
Jump to the location shown as Next ready |
| Press Ctrl+L twice quickly |
Describe what you want to find, then pick from the top 5 |
| Select text, then press Ctrl+L once |
Find places that show what the selected value or text means, then pick from the top 5 |
Jump to the next location
As you read, Logico infers which of three ways you are reading, collects matching candidates, and picks one.
| Reading |
What it follows |
Examples of the next location |
| Control Flow |
The flow of execution |
The function being called, the concrete implementation behind an interface, a function called later on |
| Data Flow |
The flow of a value |
Where the value is created, written, or injected, or where it is used |
| Structure |
The overall shape |
The core public API of a class or module |
When the next location is ready, the status bar shows Next ready, and the end of the line you are reading shows a faint hint of where you will jump. Clicking the hint jumps too.
const intent = await this.gateway.createPaymentIntent(order); ⇢ StripeGateway.createPaymentIntent (src/gateway.ts:42)
Keep reading where you land, and Logico prepares the next one.
Find a place in plain words
Press Ctrl+L twice quickly to open the input box. You don't need to know function names. Describe the feature or its role, in English or Japanese.
- the API entry point that accepts payments
- where the configuration file is loaded
- the code that updates the search index
- the authentication code changed in last month's PRs
The top 5 candidates are listed by likelihood. Press Enter to jump. Your request also becomes your reading goal and guides how later next locations are chosen.
Jump from a selection
Select some text and press Ctrl+L once. Logico looks at functions that receive the value, definitions, where the value comes from or goes, and other occurrences of the same text, and shows the top 5 places that explain what you selected. For example, selecting o-1 in createOrder("o-1") puts the definition createOrder(id: string) first.
What you see
| Where |
Meaning |
Status bar Logico: Data Flow |
The way Logico thinks you are reading. Data Flow adds ↑ (toward the origin) or ↓ (toward the uses) |
Status bar Next ready: <symbol> |
The next location is ready. Click it to jump |
End of the line ⇢ <symbol> (<file:line>) |
Where you will jump |
| Mark in the gutter |
The line of the next location, when it is in the current file |
Faint hint after a symbol : Gateway ⇢ StripeGateway.… |
The type of the symbol you are looking at and the concrete implementation that actually runs |
Status bar Logico index |
The search index is being built. It disappears when ready |
Logico computes once when your cursor or scrolling comes to rest. After 5 seconds without activity, or while you are away from the window, it stops computing and sends nothing to Jev.
Languages
Logico works with any language whose language server returns definitions, references, implementations, and symbols. TypeScript and JavaScript work with VS Code's built-in features. For other languages, install the language's extension (Python, Go, Rust, and so on).
The extension's UI follows VS Code's display language: English, or Japanese when VS Code is set to Japanese.
Local embedding model (optional)
Run a local embedding model to make plain-word search more accurate and faster. Code snippets never leave your machine (127.0.0.1). Without it, Logico searches by walking the folders.
- In
Logico: Set Up…, choose Set up local models.
- Point Logico to
llama-server from llama.cpp. If it isn't installed, Logico shows how to install it (on macOS: brew install llama.cpp).
- After you confirm, Logico downloads the Nemotron-3-Embed-1B embedding model (about 1.2 GB) from Hugging Face, pinned to a revision and verified by SHA-256.
- Once it checks that the model works, Logico saves the settings and starts building the search index.
The first build takes time depending on the project size and your machine. Progress appears as Logico index in the status bar. After that, only changed files are updated.
Network and privacy
Logico has no relay server. It talks only to the following:
| Destination |
What is sent |
Why |
| Jev API (TypeSafe) |
Your requests, recent actions, file names, candidate code snippets |
Inferring how you read and ranking next locations and search results. Sent directly with your API Key |
llama-server on 127.0.0.1 |
Code snippets |
Local embeddings (only if you set them up) |
| GitHub API |
Repository name, PR numbers, versions, workflow file names, branch names |
CI results, PR descriptions, and release notes. No code snippets. Uses VS Code's GitHub sign-in |
| Hugging Face |
Nothing |
Downloading the local model (only when you set it up) |
- Use Logico only on projects whose code you are allowed to send to Jev.
- Your API Key is stored in the OS keychain through VS Code's SecretStorage, never in settings files.
Jev chooses among candidates that Logico collects. It is not always right, so check the code where you land as you read on.
Settings
| Setting |
Default |
Description |
logico.idleThresholdSeconds |
5 |
Stop computing after this many seconds without activity |
logico.recomputeDebounceMs |
300 |
Wait after activity settles before computing (ms) |
logico.doublePressMs |
250 |
Interval that counts as a double press of Ctrl+L (ms) |
logico.localModel.gpu |
true |
Run local models on the GPU (Metal on Apple Silicon) |
Set up local models fills in the local model paths (logico.localModel.llamaServerPath, logico.localModel.embeddingModelPath).
Troubleshooting
Start with Check the connection to Jev in Logico: Set Up… and the Logico channel in the Output panel. Clicking Logico in the status bar opens the list of settings, checks, and logs.
If there is no next location, pressing Ctrl+L tells you why.
| Message |
Meaning and what to do |
Status bar Logico: Set Up |
The API Key is not set. Click it to set the key |
| Computing the next location |
Waiting for Jev and the language server. It turns into Next ready shortly |
| The cursor is not on a word… |
The cursor is on whitespace or a symbol. Put it on an identifier |
| No candidates were found from “…” here |
The language server returned no references, implementations, or declarations. Check that the language's extension is installed and has finished loading |
| There were N candidates, but Jev judged none of them worth reading |
Nothing from here moves your reading forward. Read on a little and press again |
Logico: Open Log File opens the log file. Logs contain your requests and code snippets, so review them before sharing.
License
Copyright (c) 2026 Wisteria30. All rights reserved.
Logico distributed through the Marketplace or as a VSIX may be used for any purpose, including commercial use. Copying, modification, reverse engineering, and redistribution are not permitted. See the bundled LICENSE for details and THIRD_PARTY_NOTICES.txt for notices of bundled third-party libraries.