Languages
coderot measures six languages. Each row says which files it reads and the newest language version it has been checked against on real repos.
| Language | Files | Syntax up to |
|---|---|---|
| TypeScript | .ts, .tsx, .mts, .cts |
TypeScript 6 |
| JavaScript | .js, .jsx, .mjs, .cjs |
as TypeScript 6 reads it, JSX included |
| C# | .cs |
C# 14 |
| Python | .py |
Python 3.14 |
| Go | .go |
Go 1.27 |
| Rust | .rs |
stable Rust, edition 2024 |
A function that can’t be parsed, because of a syntax error or syntax newer than the table, isn’t given made-up numbers: it’s left out and counted apart as not measured. The rest of its file is measured as usual. Known gaps: Python’s type-parameter defaults (class C[T = int]), safe items in Rust’s unsafe extern blocks, and Rust’s nightly-only syntax.
C# needs .NET on the runner (what to install); the other languages need nothing installed.
Other files
- Code inside markup (
.razor,.cshtml,.vue,.svelte,.astro) isn’t measured yet. Its files and lines are counted as not measured, per type. - Config, style and markup files (YAML, JSON, CSS, HTML, Markdown) get no code metrics: they have no functions or control flow. They still count toward PR size.
- Other languages (Java, Kotlin, C, C++, …) aren’t measured. A repo in one still gets the part of the report that needs only git and GitHub: its AI share and agents, merged PRs per week, PR size and review.
Which files count as tests, generated or vendored is on Configuration. How each metric reads each language is on Metrics.