Languages and limits
Languages
Section titled “Languages”denoise reads JavaScript, TypeScript, Python, Go, Java, Kotlin and C#.
| Language | File 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.
When your language is not here
Section titled “When your language is not here”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.
Files left out
Section titled “Files left out”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,objortarget - minified files (
.min.js) and TypeScript declaration files (.d.ts) - generated C# (
.g.cs,.designer.cs)
Limits
Section titled “Limits”| Limit | Value | What you see |
|---|---|---|
| One file | 1 MB | The file is listed as “larger than 1 MB, skipped”. |
| Files in one folder listing | 300 | “first 300 of N shown; pick a folder to see the rest”. |
| Files in a component map | 1,500 | “Mapped 1500 of N files, spread across top-level folders; pick a folder to see the rest.” |
| Files in a pull request’s modules | 400 | Changed files come first, and the note says the rest were left out. |
| Most complex functions list | 20 | The 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.
Very large trees
Section titled “Very large trees”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.
Huge functions
Section titled “Huge functions”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.
Rate limits and caching
Section titled “Rate limits and caching”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).
Through MCP
Section titled “Through MCP”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.