<?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: codeCrack-01</title>
    <description>The latest articles on DEV Community by codeCrack-01 (@codecrack01).</description>
    <link>https://dev.to/codecrack01</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1914665%2F2c49f355-8329-4008-9395-0d1d4f709802.jpeg</url>
      <title>DEV Community: codeCrack-01</title>
      <link>https://dev.to/codecrack01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codecrack01"/>
    <language>en</language>
    <item>
      <title>Stop babysitting your AI agents in the terminal — NockIt sends push alerts straight to your phone (Nockit)</title>
      <dc:creator>codeCrack-01</dc:creator>
      <pubDate>Wed, 05 Aug 2026 08:14:17 +0000</pubDate>
      <link>https://dev.to/codecrack01/stop-babysitting-your-ai-agents-in-the-terminal-nockit-sends-push-alerts-straight-to-your-phone-3406</link>
      <guid>https://dev.to/codecrack01/stop-babysitting-your-ai-agents-in-the-terminal-nockit-sends-push-alerts-straight-to-your-phone-3406</guid>
      <description>&lt;p&gt;If you're running autonomous AI agents, fine-tuning scripts, or long background jobs, you know the drill: you hit &lt;code&gt;enter&lt;/code&gt;, switch to another tab to work on something else, and then spend the next hour periodically flipping back to the terminal just to check if:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It finished.&lt;/li&gt;
&lt;li&gt;It hit an unhandled exception 30 seconds after you looked away.&lt;/li&gt;
&lt;li&gt;It's waiting on user input or a permission prompt.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Watching lines of terminal output scroll by isn't a good use of anyone's time.&lt;/p&gt;

&lt;p&gt;To solve this for my own workflow, I built &lt;strong&gt;NockIt&lt;/strong&gt;—a free, open-source, plug-and-play notification utility that hooks into your local or remote AI agents and pushes real-time alerts directly to your phone or desktop via &lt;strong&gt;&lt;code&gt;ntfy&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn More:&lt;/strong&gt; &lt;a href="https://www.google.com/search?q=https://nockit.uk" rel="noopener noreferrer"&gt;https://nockit.uk&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  What it does
&lt;/h3&gt;

&lt;p&gt;NockIt provides a simple, zero-bloat bridge between your autonomous dev pipelines and your devices.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔌 &lt;strong&gt;Plug &amp;amp; Play Integration:&lt;/strong&gt; Add it to your execution loops or script completion hooks with minimal lines of code.&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;Powered by &lt;code&gt;ntfy&lt;/code&gt;:&lt;/strong&gt; Uses lightweight pub/sub push notifications—no clunky enterprise webhooks or complex bot setups required.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Instant Event Pings:&lt;/strong&gt; Receive push notifications for task completions, script failures, token budget limits, or required human-in-the-loop actions.&lt;/li&gt;
&lt;li&gt;🔓 &lt;strong&gt;100% Free &amp;amp; Open Source:&lt;/strong&gt; Keep your tooling local and transparent.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Test Example
&lt;/h3&gt;

&lt;p&gt;Instead of keeping your terminal pinned to your screen while your agent runs through an multi-step workflow, you can trigger a push alert when key state changes happen:&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="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;notify_dev&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;priority&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;default&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://ntfy.sh/your_custom_nockit_topic&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Title&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Priority&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;priority&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Tags&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;robot,warning&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Inside your agent's execution loop:
&lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run_task&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;notify_dev&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Agent Finished!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Task completed successfully without errors.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;notify_dev&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Agent Crashed 🚨&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error encountered: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;priority&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;high&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Ofc, no one wants to write such long code! Just set it up via a single command (requires Node Js installed):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;-y&lt;/span&gt; nockit-mcp@latest setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Give it a try
&lt;/h3&gt;

&lt;p&gt;I'd love for the community to test it out and share feedback!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Site:&lt;/strong&gt; &lt;a href="https://www.google.com/search?q=https://nockit.uk" rel="noopener noreferrer"&gt;https://nockit.uk&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop a comment below and share your experience—what's your current setup for monitoring long-running background tasks or AI scripts, and what features would make your workflow easier?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>automation</category>
      <category>news</category>
    </item>
    <item>
      <title>Flask</title>
      <dc:creator>codeCrack-01</dc:creator>
      <pubDate>Tue, 26 Nov 2024 12:27:33 +0000</pubDate>
      <link>https://dev.to/codecrack01/flask-3hei</link>
      <guid>https://dev.to/codecrack01/flask-3hei</guid>
      <description></description>
      <category>flask</category>
    </item>
  </channel>
</rss>
