Skip to content

Languages and limits

denoise reads JavaScript, TypeScript, Python, Go, Java, Kotlin and C#.

LanguageFile extensions
JavaScript.js .jsx .mjs .cjs
TypeScript.ts .tsx .mts .cts
Python.py
Go.go
Java.java
Kotlin.kt .kts
C#.cs

Other languages are not drawn yet. Rust, C, C++, Ruby, PHP, Swift and the like show up in a file listing, but you cannot open them as a schematic.

If a folder is mostly code denoise cannot read, the app says so under the toolbar. For example: “Mostly Rust (not supported yet). Showing 12 TypeScript files.” A folder with no supported files says “No JavaScript, TypeScript, Python, Go, Java, Kotlin or C# files here.” In a pull request, files in other languages are grouped under “N other files (not …)” and are not drawn.

These are skipped even when the language is supported, because they are built or copied, not written:

  • folders named node_modules, dist, build, vendor, coverage, .git, testdata, venv, .venv, site-packages, __pycache__, .tox, bin, obj or target
  • minified files (.min.js) and TypeScript declaration files (.d.ts)
  • generated C# (.g.cs, .designer.cs)
LimitValueWhat you see
One file1 MBThe file is listed as “larger than 1 MB, skipped”.
Files in one folder listing300“first 300 of N shown; pick a folder to see the rest”.
Files in a component map1,500“Mapped 1500 of N files, spread across top-level folders; pick a folder to see the rest.”
Files in a pull request’s modules400Changed files come first, and the note says the rest were left out.
Most complex functions list20The list above the component map.

GitHub itself cuts off some very large listings. When it does, the app says “GitHub truncated this listing; pick a smaller folder”. Opening a folder is always the way to see the rest.

A repository like React has far more files than one map holds. denoise takes files from every top-level folder in turn, so the map does not fill up with one folder, and tells you how many it left out. Open a folder to map that folder on its own.

A schematic taller than 3,000 pixels folds its deepest blocks, starting from the innermost, until it fits. The subtitle says “blocks deeper than N levels collapsed to fit”, and each fold can be opened. To draw everything, turn on “Don’t collapse huge functions” in the toolbar.

Public repositories are read through one shared GitHub token. If GitHub’s limit is used up, the app says when it resets (in UTC). Signing in reads with your own limit instead.

Everything is keyed by commit, so a drawing of a public commit is the same every time. The server keeps those drawings in memory for the next visitor, and your browser may keep them for good. Nothing about a private repository is kept (see Private repositories and privacy).

The map tool reads at most 250 code files, and the change tool lists the first 12 changed functions of a file. See CLI, JSON and MCP.