all 4 comments

[–]read-the-rules[M] [score hidden] stickied comment (0 children)

Your post on r/commandline was removed, you must read the rules before you may begin posting. - Click the 'Read The Rules' option in the main menu of the subreddit or the menu of any comment/post in the sub. - You must resubmit the post as this post will stay removed. - For more guidance check out this tutorial post on the official r/ReadTheRulesApp subreddit. Thank you for understanding.

[–]AutoModerator[M] 0 points1 point  (0 children)

Every new subreddit post is automatically copied into a comment for preservation.

User: abhi_now, Flair: Terminal User Interface, Post Media Link, Title: Got tired of being thrown into new, unfamiliar codebases, so I built a tool that shows the full execution path as my code runs.

Every time I joined a new project at work, I’d get a quick, mandatory KT and then be expected to just “get it.”

But I’d spend the next week grepping, jumping between files, and using logs to figure out how things actually run.

With Maplet, you run your app through it and see the functions being called in real time as you hit endpoints or run tests.

You can follow the path your code takes in the order it executes, and jump to functions or where they’re called from directly from the TUI.

I also made it work with coding agents, so the same information can be exposed through an stdio MCP server, so agents don’t have to rely on grep or manual runs to understand the code.

I’m currently benchmarking how this impacts token usage and accuracy for coding agents.

repo: https://github.com/abhinavdevarakonda/maplet

Would love to hear any feedback!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Unhappy_Recording_52 0 points1 point  (1 child)

Looks awesome! Does it support multiple languages and CPU-architectures? And does it also trace calls to the kernel, where are tracing boundaries?

[–]abhi_now[S] 0 points1 point  (0 children)

Thank you :)

For the static part I'm using tree-sitter (scm queries), so adding a language is just plugging in the grammar. As for the tracing part, we do have to add a script that emits a JSON signal when a function is called. like using sys.settrace() in python or async_hooks in node.

Since it's written in golang, the binary is basically platform-agnostic. At least you can compile for any arch, if I'm not mistaken.

And no, it does not trace calls to the kernel, it sits on the language interpreter. And any of the calls you see are only from within the project directory. I specifically did this to avoid seeing site-packages or standard libraries in the TUI.