<?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>Forem: Seshan Pillay</title>
    <description>The latest articles on Forem by Seshan Pillay (@seshanpillay).</description>
    <link>https://forem.com/seshanpillay</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%2F226437%2Ffc30f68d-2443-412a-bf8b-9181c56f39d3.png</url>
      <title>Forem: Seshan Pillay</title>
      <link>https://forem.com/seshanpillay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/seshanpillay"/>
    <language>en</language>
    <item>
      <title>Quacktionable: Put Your Bug on Trial with a Rubber Duck Tribunal 🦆⚖️</title>
      <dc:creator>Seshan Pillay</dc:creator>
      <pubDate>Sat, 14 Feb 2026 20:40:23 +0000</pubDate>
      <link>https://forem.com/seshanpillay/quacktionable-put-your-bug-on-trial-with-a-rubber-duck-tribunal-5f3e</link>
      <guid>https://forem.com/seshanpillay/quacktionable-put-your-bug-on-trial-with-a-rubber-duck-tribunal-5f3e</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built 🚀
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;quacktionable&lt;/strong&gt;: a Rubber Duck Tribunal for debugging in the terminal.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;quacktionable&lt;/code&gt; is a Node.js CLI that helps developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;intake bug reports interactively (&lt;code&gt;quack report&lt;/code&gt;) 📝&lt;/li&gt;
&lt;li&gt;validate Copilot CLI connectivity (&lt;code&gt;quack doctor&lt;/code&gt;) 🩺&lt;/li&gt;
&lt;li&gt;run multi-judge duck analysis on bugs/logs/code context (&lt;code&gt;quack analyze&lt;/code&gt;) 🔍&lt;/li&gt;
&lt;li&gt;produce a voted root-cause verdict with confidence + dissent (&lt;code&gt;Final Quackdict&lt;/code&gt;) ⚖️&lt;/li&gt;
&lt;li&gt;export machine-readable output for automation (&lt;code&gt;--json&lt;/code&gt;) 🤖&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool is recommendation-only and never auto-executes fixes. It uses GitHub Copilot CLI as the reasoning engine, while adding local guardrails (input validation, fallback handling, and deterministic vote aggregation) to keep the UX reliable.&lt;/p&gt;

&lt;p&gt;I also focused heavily on terminal-first UX:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;emoji-rich conversational prompts in guided mode 🦆&lt;/li&gt;
&lt;li&gt;animated progress indicators while ducks deliberate ⏳&lt;/li&gt;
&lt;li&gt;playful but scannable final report formatting ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo 🎬
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project Repo:&lt;/strong&gt; &lt;a href="https://github.com/seshxn/quacktionable" rel="noopener noreferrer"&gt;https://github.com/seshxn/quacktionable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/quacktionable" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/quacktionable&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Suggested demo flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;quack doctor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;quack report&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;quack analyze --example&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;quack analyze --bug-file examples/bug.txt --log examples/logs.txt --json&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Terminal Output Examples 💻
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;quack doctor&lt;/code&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;quack doctor 🩺🦆
- cliAvailable: true
- promptRoundTripOk: true
- details: Copilot CLI is online and beak-to-beak communication is healthy.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;quack report&lt;/code&gt; (interactive startup)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌───────────────────────────────────────────────────────────────┐
│ 🦆 Rubber Duck Tribunal · Interactive Intake Console          │
│ Explain the bug. The duck bench handles the drama.           │
└───────────────────────────────────────────────────────────────┘

⚖️  Court mode: ENABLED
🔍 Evidence mode: TRACKING
🎭 Vibes: dramatic, but factual

1) 📝 Describe the bug in plain language:
2) 📜 Optional log path or raw log line (enter to skip):
3) 📂 Optional code paths (comma-separated, enter to skip):
4) 🔁 Cross-exam rounds per duck [2]:
5) 🧾 Output JSON only? [y/N]:

🚀 Launching tribunal proceedings...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;code&gt;quack analyze --example&lt;/code&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⠋ Gathering bug clues...
⠸ Asking Copilot for spicy cross-exam ammo...
⠧ 🦆 Detective Quackson is cross-examining your theory...
⠇ 🦆 Captain Crashbeard is cross-examining your theory...
⠏ 🦆 Null Pointer Patty is cross-examining your theory...
✅ Tribunal complete. Verdict delivered.

🦆⚖️ Rubber Duck Tribunal (Court is now in session)
🎭 Opening statement: no bug survives cross-examination.
🆔 Session: 5a077c56-b0fe-4f18-a26e-1a7408d56273
🤖 Engine: gpt-5

📝 Bug Tale
- 🐛 Users intermittently get a 500 error when opening profile right after login...

🚨 Suspicious Signals
- 📍 ERROR TypeError: Cannot read properties of undefined (reading 'name')

🗳️ Judge Duck Votes
- 🦆 Detective Quackson: ... (92%)
- 🦆 Captain Crashbeard: ... (92%)
- 🦆 Null Pointer Patty: ... (92%)

🏛️ Final Quackdict
- 🎯 root cause: null-safety violation around profile access
- 🔥 confidence: 100%
- 🙋 dissent: alternate race-condition wording
- 🧾 summary: The duck bench quacks in favor of ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI 🤖
&lt;/h2&gt;

&lt;p&gt;I used GitHub Copilot CLI as the &lt;strong&gt;core reasoning runtime&lt;/strong&gt; for quacktionable, not just as a coding helper.&lt;/p&gt;

&lt;p&gt;Key integrations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot-powered cross-exam generation for evidence challenges&lt;/li&gt;
&lt;li&gt;Copilot-powered multi-duck persona judgments (parallel prompt runs)&lt;/li&gt;
&lt;li&gt;Copilot CLI health-check + resilience wrappers around command execution&lt;/li&gt;
&lt;li&gt;model label sourced from Copilot CLI configuration for transparent runtime reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What stood out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot CLI made it fast to transform messy bug narratives and logs into structured root-cause hypotheses.&lt;/li&gt;
&lt;li&gt;Prompt structure mattered a lot; strict JSON constraints improved consistency across duck votes.&lt;/li&gt;
&lt;li&gt;UX wrappers (interactive intake, progress animation, and concise verdict formatting) made the AI output much more usable in real terminal workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, Copilot CLI significantly accelerated iteration and made it feasible to build a fun, practical debugging assistant entirely in terminal space. 🎉&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>Operational Intelligence for the Command Line</title>
      <dc:creator>Seshan Pillay</dc:creator>
      <pubDate>Wed, 11 Feb 2026 18:18:48 +0000</pubDate>
      <link>https://forem.com/seshanpillay/an-ai-incident-commander-for-on-call-chaos-3k7a</link>
      <guid>https://forem.com/seshanpillay/an-ai-incident-commander-for-on-call-chaos-3k7a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built 🚀
&lt;/h2&gt;

&lt;p&gt;Introducing &lt;strong&gt;OpsPilot&lt;/strong&gt;: an AI Incident Commander for the terminal, designed for real SRE incident workflows.&lt;/p&gt;

&lt;p&gt;OpsPilot is a Node.js CLI that helps teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analyze logs (&lt;code&gt;opspilot analyze&lt;/code&gt;) 🔎&lt;/li&gt;
&lt;li&gt;suggest next diagnostic commands with safety classification (&lt;code&gt;SAFE&lt;/code&gt;, &lt;code&gt;CAUTION&lt;/code&gt;, &lt;code&gt;DANGEROUS&lt;/code&gt;) (&lt;code&gt;opspilot suggest&lt;/code&gt;) 🛡️&lt;/li&gt;
&lt;li&gt;generate incident timelines from shell history, git commits, and logs (&lt;code&gt;opspilot timeline&lt;/code&gt;) 🕒&lt;/li&gt;
&lt;li&gt;draft structured postmortems (&lt;code&gt;opspilot postmortem&lt;/code&gt;) 📝&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tool is recommendation-only and never auto-executes commands. It includes strict command safety checks and graceful fallback behavior when Copilot CLI is unavailable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo 🎬
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project Repo:&lt;/strong&gt; &lt;a href="https://github.com/seshxn/opspilot" rel="noopener noreferrer"&gt;https://github.com/seshxn/opspilot&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/opspilot" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/opspilot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Suggested demo flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;opspilot init --environment kubernetes --service payments-api --namespace prod&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;opspilot analyze examples/sample-incident.log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;opspilot suggest&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;opspilot timeline --log examples/sample-incident.log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;opspilot postmortem&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Terminal Output Examples 💻
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;opspilot analyze examples/sample-incident.log&lt;/code&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Reading incident log...
✔ Log loaded.
- Asking GitHub Copilot CLI for incident analysis...
✔ Analysis received from Copilot CLI.

Incident Analysis
------------------------------------------------------------
## Incident Summary
...

## Likely Root Causes (ranked)
1. ...
2. ...

[OK] Saved analysis to /path/to/repo/.incident/analysis.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;opspilot suggest&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Reading shell history...
✔ Loaded 250 history entries.
- Asking GitHub Copilot CLI for command suggestions...
✔ Suggestions received from Copilot CLI.

Copilot Suggestions
------------------------------------------------------------
## Recommended Checks
- `kubectl get pods -n prod`
- `kubectl logs deploy/payments-api -n prod --tail=200`

Safety Classification
------------------------------------------------------------
[SAFE] kubectl get pods -n prod
[SAFE] kubectl logs deploy/payments-api -n prod --tail=200
[INFO] OpsPilot only recommends commands. It never executes them.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI 🤖
&lt;/h2&gt;

&lt;p&gt;I used GitHub Copilot CLI as the core reasoning engine for OpsPilot, not just a helper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key integrations:
&lt;/h2&gt;

&lt;p&gt;runCopilotAsk(prompt) for deep incident analysis and postmortem drafting runCopilotSuggest(prompt) for next diagnostic command recommendations structured prompts that force useful Markdown output for incident response workflows&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What stood out:&lt;/strong&gt;&lt;br&gt;
Copilot CLI made it much faster to turn raw logs/history into actionable incident guidance. Prompt quality mattered a lot; structured prompts produced consistently better, safer output.&lt;br&gt;
Building robust wrapper logic around Copilot CLI (timeouts, command-format compatibility, auth failure handling) was essential for production-like reliability. Overall, Copilot CLI significantly reduced context-switching and accelerated my iteration loop while building a practical terminal-first SRE tool. 🎉&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>My #100DaysOfCode challenge so far</title>
      <dc:creator>Seshan Pillay</dc:creator>
      <pubDate>Fri, 18 Oct 2019 05:41:21 +0000</pubDate>
      <link>https://forem.com/seshanpillay/my-100daysofcode-challenge-so-far-3e53</link>
      <guid>https://forem.com/seshanpillay/my-100daysofcode-challenge-so-far-3e53</guid>
      <description>&lt;p&gt;I thought my first Dev.to post should be about my current challenge and state of how things are.  I started the #100DaysOfCode challenge on 11 September 2019 in order to challenge myself to learn new things and experience new technologies and i have to say, it's going great so far! , i've learnt so much new stuff and done things that once seemed quite far fetched for me.&lt;/p&gt;

&lt;p&gt;Sometimes i do get to the point where I can't decide what to build but then i usually look up for ideas on forums and on dev.to as other people have done similar challenges as well. Today is Day 38 and i'm probably going to play around with some python today and the twitter API.  I'm trying not to be too strict with  myself regarding the challenge (if do happen to miss a day i'm not going to burst into flames) , after all , i'm only trying to be better than what i was yesterday.  Open-source and doing all these projects is a lot of fun, i hope you will also challenge yourself to learn new things everyday.&lt;/p&gt;

&lt;p&gt;Please feel free to check out my repo and be so kind as to star⭐ it if you like some of the projects i've done so far:&lt;br&gt;
&lt;a href="https://github.com/SeshanPillay25/100-days-of-code" rel="noopener noreferrer"&gt;https://github.com/SeshanPillay25/100-days-of-code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And also please check out the rest of my projects as well: &lt;br&gt;
&lt;a href="https://github.com/SeshanPillay25" rel="noopener noreferrer"&gt;https://github.com/SeshanPillay25&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
