Skip to content

Which language should agentmap support next? (vote with 👍) #43

Description

@raymondchins

agentmap is TS/JS-only. This issue is where that gets decided.

How to vote: react to a comment below with 👍. One comment per language. Reactions are counted; "+1" replies are not, because they can't be counted at a glance.


Read this before voting

A non-TS backend would not be the same product. agentmap's accuracy comes from ts-morph — a real TypeScript compiler with a type checker. Other languages would be parsed with tree-sitter, which reads syntax but has no type information and no module resolver.

That difference is not cosmetic. Here is what you would actually get:

Query TS / JS today A non-TS language
--relates (blast radius / who-imports) full full — the query that ports best
--search (BM25 lexical) full full
--hubs, --map, --symbols (PageRank) full full
--find (where is X defined) full partial — no transitive re-export/barrel chains
--any (unified router) full partial
--callers / --calls (call graph) full none — it would refuse, explicitly
--features / --feature Next.js App Router none
incremental rebuild yes no — full rebuild every time

--callers and --calls are 259 lines of TypeScript language-service calls. Tree-sitter cannot reproduce them. The honest options are to refuse loudly or to guess by name-matching, and name-matching will not ship — a graph that silently mis-wires is worse than no graph, and it would falsify every accuracy claim this tool makes.

So when you vote, you're saying: yes, I'd use it even with the right three columns. If that's not true for you, say so — that's a more useful answer than a 👍, and it means you want a different tool than the one that could be built here.

Why a vote at all

The previous plan gated this on "wait until someone asks for Python." Nobody did — and the reason wasn't lack of interest. Every published version from 0.10.0 to 0.16.0 had a bug where the CLI printed nothing and exited 0 when run via npx or the npm bin. Anyone who tried it got silence, and left. Fixed in 0.16.1.

Meanwhile two people forked to add a language rather than open an issue:

If you're one of them: I'd rather upstream your work than compete with it. Please comment.

What happens with the votes

This is maintained by one person, part-time. Realistic capacity is two non-TS languages, ever — each one costs an ongoing maintenance tax forever, not just once. So this is a real ballot with a real cap, not a wishlist.

The bar to start work is deliberately about shape, not raw count: the leading language needs to be clearly ahead of second place, from at least 8 distinct accounts, with a majority explicitly accepting the table above.

If it doesn't clear that, the answer is a documented no for 12 months — which is a better outcome than a half-finished polyglot tool that does nothing well.

Full reasoning, including the arguments against doing this at all: ROADMAP.md, Part II.


You may have been sent here by agentmap itself — it counts your repo's files locally and prints this link when an unsupported language dominates. That count never leaves your machine; there is no telemetry in this tool and there will not be. Silence it with AGENTMAP_NO_CENSUS=1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions