<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>CLI on nsys.dev Tech Blog</title>
		<link>https://blog.nsys.dev/en/tags/cli/</link>
		<description>Recent content in CLI on nsys.dev Tech Blog</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Mon, 15 Jun 2026 15:00:00 +0900</lastBuildDate>
		
			<atom:link href="https://blog.nsys.dev/en/tags/cli/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Designing a CLI on the premise that an AI will drive it</title>
				<link>https://blog.nsys.dev/en/posts/cli-for-agents/</link>
				<pubDate>Mon, 15 Jun 2026 15:00:00 +0900</pubDate>
				<guid>https://blog.nsys.dev/en/posts/cli-for-agents/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Part 5 of 5 (finale)&lt;/strong&gt; — series: &lt;em&gt;Building a publishing tool, and shipping it&lt;/em&gt;. Last time was &lt;a href=&#34;https://blog.nsys.dev/en/posts/brew-scoop-release/&#34;&gt;shipping with brew and scoop&lt;/a&gt;. See the &lt;a href=&#34;https://blog.nsys.dev/en/tags/crofty/&#34;&gt;series index&lt;/a&gt;. This time: designing the CLI on the premise that an AI drives it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;crofty is a plain CLI you type at the terminal. But one premise of its design is a little different.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;A person installs crofty and does the first setup; after that, their AI (an agent) runs it.&amp;rdquo; That&amp;rsquo;s the usage it assumes. Rather than a person remembering and typing commands every time, an agent drives crofty on their behalf — and the build is meant not to get in the way when it does.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Contract the output — keep changing the inside, even after you ship</title>
				<link>https://blog.nsys.dev/en/posts/contract-the-output/</link>
				<pubDate>Mon, 15 Jun 2026 11:00:00 +0900</pubDate>
				<guid>https://blog.nsys.dev/en/posts/contract-the-output/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Part 2 of 5&lt;/strong&gt; — series: &lt;em&gt;Building a publishing tool, and shipping it&lt;/em&gt;. Last time I shared the &lt;a href=&#34;https://blog.nsys.dev/en/posts/own-your-writing/&#34;&gt;overall picture and premises&lt;/a&gt;. Each part stands alone; see the &lt;a href=&#34;https://blog.nsys.dev/en/tags/crofty/&#34;&gt;series index&lt;/a&gt;. This time: keeping the inside changeable even after you ship.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A tool only you use, you can rebuild however you like. The trouble starts after you publish it and other people begin using it.&lt;/p&gt;&#xA;&lt;p&gt;Rename a single config key, say, and anyone who wrote settings with the old key suddenly finds their setup broken. Once it&amp;rsquo;s out, you can&amp;rsquo;t casually change the parts people lean on. &amp;ldquo;Whatever is visible from the outside, someone will eventually rely on&amp;rdquo; — this is the everyday face of what&amp;rsquo;s known as Hyrum&amp;rsquo;s Law.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
