<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mirzalazuardi</title>
    <description>The latest articles on DEV Community by Mirzalazuardi (@mirzalazuardi).</description>
    <link>https://dev.to/mirzalazuardi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F95616%2F484ae95e-2cf9-4d8b-b691-1372bad74bb6.jpeg</url>
      <title>DEV Community: Mirzalazuardi</title>
      <link>https://dev.to/mirzalazuardi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mirzalazuardi"/>
    <language>en</language>
    <item>
      <title>I Built a Bash Script That Traces Code Faster Than Your IDE (And Saves AI Tokens)</title>
      <dc:creator>Mirzalazuardi</dc:creator>
      <pubDate>Sat, 14 Mar 2026 22:50:01 +0000</pubDate>
      <link>https://dev.to/mirzalazuardi/i-built-a-bash-script-that-traces-code-faster-than-your-ide-and-saves-ai-tokens-1hki</link>
      <guid>https://dev.to/mirzalazuardi/i-built-a-bash-script-that-traces-code-faster-than-your-ide-and-saves-ai-tokens-1hki</guid>
      <description>&lt;p&gt;You're debugging a Rails app. The bug is somewhere in &lt;code&gt;process_payment&lt;/code&gt;. You could:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A)&lt;/strong&gt; Open your IDE, wait for LSP to index, click through 12 files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;B)&lt;/strong&gt; Paste the whole service into ChatGPT. Hope it doesn't hallucinate the call graph.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C)&lt;/strong&gt; Run one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; flow &lt;span class="nt"&gt;--scope&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In under a second: where it's defined, every call site with enclosing method, every assignment, every place the return value goes — across all files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I chose option C.&lt;/strong&gt; So I built it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is codetracer?
&lt;/h2&gt;

&lt;p&gt;A single-file bash script (~1400 lines) that traces symbols across Ruby and JavaScript/TypeScript codebases. No IDE, no LSP, no AI agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt; bash 4+ (or zsh 5+) and ripgrep. That's it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/mirzalazuardi/codetracer/main/codetracer.sh &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-o&lt;/span&gt; /usr/local/bin/codetracer &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;chmod&lt;/span&gt; +x /usr/local/bin/codetracer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Killer Feature: Case-Variant Expansion
&lt;/h2&gt;

&lt;p&gt;Type a symbol in &lt;strong&gt;any&lt;/strong&gt; naming convention. codetracer finds all forms automatically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Input: processPayment

Searches simultaneously:
  process_payment      (snake_case)
  PROCESS_PAYMENT      (SCREAMING_SNAKE)
  processPayment       (camelCase)
  ProcessPayment       (PascalCase)
  process-payment      (kebab-case)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All these commands produce &lt;strong&gt;identical results&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer process_payment
codetracer processPayment
codetracer ProcessPayment
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more "I searched for &lt;code&gt;process_payment&lt;/code&gt; but the JS file uses &lt;code&gt;processPayment&lt;/code&gt;" moments.&lt;/p&gt;




&lt;h2&gt;
  
  
  Five Modes for Different Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Where is it defined?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer PaymentService &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; def
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finds &lt;code&gt;def&lt;/code&gt;, &lt;code&gt;class&lt;/code&gt;, &lt;code&gt;module&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt;, &lt;code&gt;const =&lt;/code&gt;, &lt;code&gt;async function&lt;/code&gt;, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Who calls it?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer send_email &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; call &lt;span class="nt"&gt;--scope&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every call site with full scope chain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;services&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;order_service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="n"&gt;send_email&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;receipt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;scope&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt; &lt;span class="no"&gt;Billing&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;cls&lt;/span&gt; &lt;span class="no"&gt;OrderService&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;complete_order&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. How does data flow?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer current_user &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; flow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tracks: assignments, passed as argument, returned/yielded, mutations.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Which files touch it?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer stripe_key &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; file
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;File map with hit counts per file.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Everything at once
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer order_total &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; full &lt;span class="nt"&gt;--scope&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  NEW: Rails Route Tracing
&lt;/h2&gt;

&lt;p&gt;Just shipped this week. Trace a route through the full request lifecycle:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer &lt;span class="nt"&gt;--action&lt;/span&gt; &lt;span class="s2"&gt;"OrdersController#refund"&lt;/span&gt; ./app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;━━━ ROUTE TRACE: OrdersController#refund ━━━

OrdersController (app/controllers/orders_controller.rb)
├── before_action :authenticate_user!          :23  [ApplicationController]
├── before_action :set_order                   :8
├── def refund                                 :67
│   ├── params: :reason                        :68  [query]
│   ├── if @order.refundable?                  :69
│   │   ├── call: RefundService.call           :70
│   │   └── enqueue: RefundNotificationJob     :75  [async]
│   └── else                                   :77
│       └── render json: errors                :78
└── after_action :log_refund_attempt           :10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Callbacks, conditionals, params access, service calls, Sidekiq jobs — all in one tree. Perfect for understanding unfamiliar Rails controllers or creating sequence diagrams.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trace directly from your curl files
&lt;/h3&gt;

&lt;p&gt;Got a directory of curl scripts for testing your API? Point codetracer at them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Your existing curl file&lt;/span&gt;
&lt;span class="nb"&gt;cat &lt;/span&gt;api_tests/refund.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"http://localhost:3000/orders/123/refund?notify=true"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"reason": "damaged", "amount": 50.00}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Trace it&lt;/span&gt;
codetracer &lt;span class="nt"&gt;--route&lt;/span&gt; api_tests/refund.sh ./app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;codetracer automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracts the HTTP verb (&lt;code&gt;POST&lt;/code&gt;) and path (&lt;code&gt;/orders/:id/refund&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Converts numeric IDs to &lt;code&gt;:id&lt;/code&gt; (123 → :id)&lt;/li&gt;
&lt;li&gt;Extracts query params (&lt;code&gt;notify&lt;/code&gt;) and JSON body keys (&lt;code&gt;reason&lt;/code&gt;, &lt;code&gt;amount&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Shows expected params in the trace output
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Expected params from curl:
  query: notify
  body: reason amount

├── def refund
    ├── params: :reason    [query]  ← matches!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more wondering "does this endpoint actually use the params I'm sending?"&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Not Just Use AI?
&lt;/h2&gt;

&lt;p&gt;I use AI daily. But every question you ask about code structure — &lt;em&gt;"where is this defined?"&lt;/em&gt;, &lt;em&gt;"who calls this?"&lt;/em&gt; — costs tokens, takes seconds, and might be wrong.&lt;/p&gt;

&lt;p&gt;codetracer gives those answers &lt;strong&gt;instantly, deterministically, for free.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Save Tokens When You Do Use AI
&lt;/h3&gt;

&lt;p&gt;Instead of pasting 500-line files, extract only what matters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get 60 focused lines instead of 2000+ raw lines&lt;/span&gt;
codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; flow &lt;span class="nt"&gt;--scope&lt;/span&gt; 2&amp;gt;&amp;amp;1 | &lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-60&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's a &lt;strong&gt;30x reduction in tokens&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Scope Chain
&lt;/h2&gt;

&lt;p&gt;This is my favorite feature. Every match shows its full nesting context:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; call &lt;span class="nt"&gt;--scope&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;fixture_payment_service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;        &lt;span class="n"&gt;process_payment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;scope&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;mod&lt;/span&gt; &lt;span class="no"&gt;Billing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;cls&lt;/span&gt; &lt;span class="no"&gt;PaymentService&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;batch_process&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;blk&lt;/span&gt; &lt;span class="n"&gt;each&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;39&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You instantly know: this call happens inside an &lt;code&gt;each&lt;/code&gt; block, inside &lt;code&gt;batch_process&lt;/code&gt; method, inside &lt;code&gt;PaymentService&lt;/code&gt; class, inside &lt;code&gt;Billing&lt;/code&gt; module.&lt;/p&gt;

&lt;p&gt;No clicking through files. No mental stack tracing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Works on macOS and Linux
&lt;/h2&gt;

&lt;p&gt;Tested on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;macOS with bash 4+ or zsh 5+&lt;/li&gt;
&lt;li&gt;Ubuntu/Debian&lt;/li&gt;
&lt;li&gt;Arch Linux
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# macOS&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;ripgrep

&lt;span class="c"&gt;# Ubuntu&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;ripgrep

&lt;span class="c"&gt;# Optional: fzf for interactive mode, ctags for precise indexing&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;fzf universal-ctags
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Interactive Mode with fzf
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codetracer render &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--inter&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fuzzy-pick any match, preview context, press Enter to open in your editor.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real Workflow Example
&lt;/h2&gt;

&lt;p&gt;Debugging an unknown bug:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Where does this symbol exist?&lt;/span&gt;
codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; file

&lt;span class="c"&gt;# 2. Read the definition&lt;/span&gt;
codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; def &lt;span class="nt"&gt;--ctags&lt;/span&gt;

&lt;span class="c"&gt;# 3. Find callers and their context&lt;/span&gt;
codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; call &lt;span class="nt"&gt;--scope&lt;/span&gt;

&lt;span class="c"&gt;# 4. Trace data through the system&lt;/span&gt;
codetracer process_payment &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;--mode&lt;/span&gt; flow &lt;span class="nt"&gt;--scope&lt;/span&gt; &lt;span class="nt"&gt;--ctx&lt;/span&gt; 4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Four commands. Full picture. No IDE required.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# One-liner install&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/mirzalazuardi/codetracer/main/codetracer.sh &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-o&lt;/span&gt; /usr/local/bin/codetracer &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;chmod&lt;/span&gt; +x /usr/local/bin/codetracer

&lt;span class="c"&gt;# Try it&lt;/span&gt;
codetracer YourClassName ./your-project &lt;span class="nt"&gt;--mode&lt;/span&gt; def
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/mirzalazuardi/codetracer" rel="noopener noreferrer"&gt;github.com/mirzalazuardi/codetracer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If this looks useful, I'd appreciate a star. And if you have feature requests or find bugs, issues and PRs are welcome.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for engineers who prefer a terminal over a GUI and a shell script over a language server.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tooling</category>
      <category>ruby</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
