<?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: Niveditha Sathish Nair</title>
    <description>The latest articles on DEV Community by Niveditha Sathish Nair (@nive62tech).</description>
    <link>https://dev.to/nive62tech</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%2F3941654%2F8bb1fdb2-e40b-4a7c-a68b-380f1b29a1c6.jpg</url>
      <title>DEV Community: Niveditha Sathish Nair</title>
      <link>https://dev.to/nive62tech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nive62tech"/>
    <language>en</language>
    <item>
      <title>I got my first PR merged in GSSoC 2026 and here's exactly what happened</title>
      <dc:creator>Niveditha Sathish Nair</dc:creator>
      <pubDate>Wed, 20 May 2026 07:40:34 +0000</pubDate>
      <link>https://dev.to/nive62tech/i-got-my-first-pr-merged-in-gssoc-2026-and-heres-exactly-what-happened-2hj1</link>
      <guid>https://dev.to/nive62tech/i-got-my-first-pr-merged-in-gssoc-2026-and-heres-exactly-what-happened-2hj1</guid>
      <description>&lt;p&gt;I fixed my first real bug in open source at GSSoC 2026&lt;/p&gt;

&lt;p&gt;I've been participating in GSSoC 2026 (GirlScript Summer of Code) and today I got my first real code bug fix merged. Not a README edit. Not adding to a list. An actual bug fix in Python code.&lt;/p&gt;

&lt;p&gt;Here's exactly what happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bug
&lt;/h2&gt;

&lt;p&gt;In the project &lt;code&gt;prajwalsuryawanshi/agentapi&lt;/code&gt;, there was a function called &lt;code&gt;to_tool_definition()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The problem — when a developer used the &lt;code&gt;@tool&lt;/code&gt; decorator to give their tool a custom name, description and context, the function was completely ignoring all of that. It was just using the raw function name and raw docstring instead.&lt;/p&gt;

&lt;p&gt;So if you wrote:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nd"&gt;@tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;my_custom_tool&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;does something useful&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;some_function&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;raw docstring&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;pass&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The tool definition would show &lt;code&gt;some_function&lt;/code&gt; and &lt;code&gt;raw docstring&lt;/code&gt; — completely ignoring what the developer wrote in the decorator. That's a real bug.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Fixed
&lt;/h2&gt;

&lt;p&gt;Just 3 lines changed. But those 3 lines fixed the entire problem.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;to_tool_definition()&lt;/code&gt; now reads the custom tool name from the &lt;code&gt;@tool&lt;/code&gt; decorator&lt;/li&gt;
&lt;li&gt;It now uses the composed description and context instead of the raw docstring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clean, minimal, focused fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Labels on My PR
&lt;/h2&gt;

&lt;p&gt;The maintainer added these labels before merging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gssoc:approved&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;level:beginner&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type:bug&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tool calling&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even a CodeRabbit AI bot reviewed it and said "No actionable comments" which basically means the code was clean enough that even the bot had nothing to complain about 😄&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Before this I thought open source contributions had to be huge. Like adding entire features or rewriting systems.&lt;/p&gt;

&lt;p&gt;This was 3 lines. But it fixed a real problem that real developers using this library were hitting.&lt;/p&gt;

&lt;p&gt;That's what open source actually is — finding something broken and making it slightly less broken.&lt;/p&gt;

&lt;h2&gt;
  
  
  My GSSoC journey so far
&lt;/h2&gt;

&lt;p&gt;This is my first week properly contributing to open source. &lt;br&gt;
Before this I also got a PR merged in &lt;code&gt;pcqpcq/open-source-android-apps&lt;/code&gt; (10k+ stars) where I added 3 missing apps to a curated list.&lt;/p&gt;

&lt;p&gt;But this bug fix feels different. This was actual code. This was finding a real problem, understanding why it was broken, and fixing it properly.&lt;/p&gt;

&lt;p&gt;More contributions coming. If you're also doing GSSoC 2026 feel free to connect — always happy to help beginners get their first PR merged!&lt;/p&gt;

&lt;h1&gt;
  
  
  GSSoC2026 #OpenSource #Python #BugFix
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>opensource</category>
      <category>python</category>
    </item>
  </channel>
</rss>
