YamoriProgramming context, made explicit. Cursor & VS Code · Codex & Claude Code · Three levels of detail Yamori is for someone who can handle difficult ideas but needs the programming context made explicit. You might follow the mathematics in a paper and still lose time tracing callbacks, mutable state or a model's training loop. Yamori turns code into concise, navigable pseudocode inside your editor, explaining the connections that make the implementation understandable. Its mission is to help capable people with less programming experience reason independently, navigate unfamiliar code and become more efficient. Useful mathematics stays precise. Programming conventions and consequential details get a short explanation where they matter. See an example · Get started · Choose your model · Develop From a call to an ideaIn a teacher–student training loop, the source might say:
Yamori connects those operations:
This illustrates the style; explanations depend on the supplied source and available definitions. A function's name alone does not establish its behavior. Read at the level you need
Each pseudocode block sits in a bordered, softly tinted reading box with a distinct heading. Short conceptual notes get their own visual treatment inside the block. Blocks use short, casual action lines, phase breaks and sparse emphasis on behavior-defining phrases. Terms such as state and level get a short definition note on first use. Ordinary connective words stay plain; definition notes are visually subordinate and are not numbered as actions. Wrapped lines align beneath their own text. Useful equations render as math. Simple actions stay in words. Light and dark editor themes, keyboard navigation and reduced-motion preferences are supported. Get startedYamori is an early preview. Its public extension ID is
Install from the VS Code Marketplace,
or search for Yamori by Yamori ( The editor toolbar's book button opens Yamori too. Use ⌘⌥P on macOS or Ctrl+Alt+P elsewhere. Select a range first to explain only those lines. After updating an installed version, run Developer: Reload Window. Try the included demo.py, a small logistic-regression example. Right-click a folder and choose Yamori: Read a Folder or Project to select multiple files. Files are prepared sequentially without opening a stack of tabs. Use Yamori: Switch Files or ▤ Files to open a prepared explanation. Completed results remain cached if you stop. Connect a providerYamori uses a local CLI's existing sign-in. It does not request or copy your subscription tokens.
Choose the provider at the top of the panel. Existing eligible subscription access uses the provider's allowance; API-key authentication can use API billing. Account limits still apply. Optional executable paths are available under Settings → Yamori if automatic detection cannot find your CLI. For Claude, a Connect Claude button also appears on an empty reading panel or after an error. Finish the browser sign-in, then press Refresh. Selecting a Claude model only chooses the model; it does not sign you in. Claude Desktop alone is not enough: Yamori needs the separate Claude Code CLI for programmatic generation. The connection action can install it with your approval, then let Claude handle the account sign-in. See Anthropic’s setup guide and CLI reference. On Windows, Yamori detects native installs in Reading colorsClick Aa beside Refresh, or run Yamori: Choose Reading Colors. Choose Paper (dark navy text on warm paper), Slate (warm light text on dark slate), or Follow editor. The choice is remembered and applies immediately to existing explanations, without regeneration or provider usage. Body text uses a consistent high-contrast ink color. Teal identifies controls and flow; restrained amber backgrounds mark selected key phrases. Notes use readable, low-saturation surfaces instead of bright blue text. Pseudocode is 15 px, with larger conceptual notes. Colors do not carry meaning alone: words, weight, grouping and note labels remain. The design follows W3C's enhanced text-contrast target of 7:1 and NN/g's guidance on restrained color hierarchy. These sources support contrast and hierarchy; the specific warm-paper and slate palettes are Yamori design choices, rather than a claim that one color universally improves concentration. Editor high-contrast modes retain native colors. Browser measurements cover 15 foreground/background pairs in both palettes, including manual overrides. Main text measures about 14.5:1 on Paper and 13.3:1 on Slate; all checked text pairs exceed 7:1. The 360 px preview has no horizontal overflow. Models and reasoning effortUse the model ▾ and Effort: … ▾ controls, or the commands Yamori: Choose Model and Yamori: Choose Effort.
Model choices are remembered per provider; effort choices are remembered per provider and model. Choosing either starts no inference. The choice applies to the next Refresh, new generation or block update. Detail controls the explanation. Effort controls the model's reasoning. Higher effort can take longer and use more quota without asking for a longer explanation. The panel distinguishes your next-request settings from the model that generated the current result. Effort is labeled as requested because CLI policies can cap or override it. Edit the explanationClick Edit on a block, change its pseudocode and optionally add an instruction. Use Edits change the pseudocode. The underlying source file stays unchanged. Other detail levels derive from your approved explanation when selected, preserving your intended changes across views and editor restarts. How Yamori explains codeThe generation and block-edit prompts explicitly use this communication objective: $$ \min_X H(B \mid X,K) + \lambda,\mathrm{ReadCost}(X) $$ Here B is relevant code behavior, X is the explanation and K is the reader's existing knowledge. Reading cost includes length, jargon, nested clauses and visual clutter. Semantic fidelity is a hard constraint. The agent uses this as a qualitative criterion: keep details that distinguish behavior, add short definitions when they remove confusion, and cut low-value wording. It does not estimate entropy numerically. Short numerical code can hide the whole idea. Yamori’s shared generation and editing prompts include an The central objective also governs how background knowledge is used. For technical algorithms, the LLM actively uses its established internal mathematical and programming knowledge to explain what the method accomplishes, how its steps fit together, and why its mechanism helps. It identifies standard methods only when the visible operations support the identification. A compact Source code remains the evidence for this implementation's behavior. Standard algorithm rationale is distinguished from author intent, unseen custom-function bodies and implementation-specific guarantees. Accuracy or stability claims retain necessary assumptions. The extension does not enable browsing or file tools to add this background; it uses the selected model's internal knowledge and the provided code context. Blocks group coherent ideas at a consistent level of abstraction. Necessary concepts such as callbacks, mutable state, smoothed model copies and detached snapshots are explained briefly where they matter. Names and mathematics stay consistent, and control-flow indentation shows what happens when. Important comments stay beside the relevant step. Added notes use these labels:
Yamori's prompts draw on University of Washington pseudocode guidance, MIT/Broad's code communication guidance and MIT's Missing Semester. The style is adapted for capable readers with less programming experience. For custom calls, Yamori asks the editor's definition and type-definition
providers about up to ten call sites. It collects bounded excerpts from local
workspace sources, prioritizing model-related calls, and includes a Python
model's Lookup adds up to 1.6 seconds on an initial read or refresh and contributes at most about 18,000 characters of supporting excerpts. A language extension with working Go to Definition support is needed. When definitions are unavailable, Yamori explains the visible data flow and identifies consequential gaps. It does not build a full call graph or recursively inspect every callee. Source associations and generated explanations still need review. Valid line bounds do not guarantee a semantically correct explanation. Storage, privacy and limitsThe selected file or range, bounded supporting definitions and your explanation edits/instructions are sent through the selected provider. Nothing is sent until you request generation, refresh, folder processing or a block update. Explanations are saved in Cursor/VS Code extension storage, outside your project,
under Run Yamori: Clear Cached Explanations to remove both generated views and approved revisions. Changes to source or collected definitions invalidate explanations; source links are disabled when the displayed version is stale. Yamori has no telemetry or account service. Translation requests run in temporary directories with tools disabled. Partial output is never cached, and source links activate after final validation. The activity trail shows connection, writing and validation phases rather than private reasoning. Files or selections are limited to 120 KB. Folder discovery is limited to 500 source files. Requests allow up to three minutes at Low, five at Medium/default, and ten at higher effort, with Stop available throughout. A trusted local workspace and VS Code 1.90+ or a compatible Cursor version are required. DevelopmentThe extension has no dependency-install or build step for its application code. Use Node.js 20+ to run the checks:
Launch an extension development host with:
Build the installer with the VS Code packaging CLI:
Validation: 34 offline tests passed, including simulated Windows executable/npm discovery, literal-argument JS launching, explicit install/login actions, Claude safe-mode compatibility, stream parsing, independent file tabs, concurrent requests, cache reuse, block reactions and source restoration. Windows filesystem discovery is simulated on macOS; a live Windows sign-in has not been verified. Live Codex checks include recognition of DKDM’s Heun-style predictor–corrector update and a brief explanation of why it averages velocities, plus model selection, Medium effort, block edits and full-file DKDM explanations. Claude CLI flags and response handling are tested with a mock executable; live Claude generation has not yet been verified. Credits and licenseApplication code is MIT licensed. Bundled KaTeX
0.19.1 is MIT licensed, with its full notice retained in The gecko samurai mascot was adapted from a user-supplied illustration using image generation. The mascot is separate artwork and is not included in the application-code MIT license. Provider integration references: Codex app-server and Claude Code model configuration. |