Software Development

CLI-Based Development Could Change Software Development Forever

A Worry or Opportunity for Developers?

I foresee a future that calls for a significant paradigm shift in how we develop software.

I refer to this shift as CLI-based development.

Here's a video from Fireship showcasing a new CLI that lets you build a UI directly from the command line:

However, I believe the power of CLI-based development stretches far beyond just front-end development.

In this article, we will discuss what CLI-based development is, why this paradigm could take over, and how this impacts You, the developer.

So without further ado… Let’s dive right in!


Examples of CLI-Based Development

First of all, let me clarify my simple definition of CLI-based development:

“Writing software with the use of a CLI tool that injects useful source files into your codebase and runs useful automations.”

It’s as simple as it sounds, and there are many examples of CLI-based development out there, such as:

  • Ruby on Rails
  • Next Inject
  • ShadCLI

Ruby on Rails

Ruby on Rails is the oldest example of CLI-based development.

Using the rails CLI you can generate code, run servers, manage databases and also execute tests.

Next Inject

Next Inject is a project I am working on, and it utilizes this notion of CLI-based development to help you configure both front-end and back-end services for Next.js in seconds.

For example, a command like npx next-inject add lp will inject a beautiful and customizable landing page into your project.

If you want to learn more, feel free to check us out here.

ShadCLI

The UI library Shadcn/ui is seen as the paragon of what a UI library should be.

Instead of installing a massive UI library in a single dependency, you can copy and paste individual components from an online registry into your project.

This approach is great because it naturally works with CLI-based development. Simply run a command like npx shadcn add button and all the boilerplate will be injected within seconds.

Why This Paradigm Could Take Over

By using CLI-based development to inject code into your project, you gain full ownership over that code. This means there are zero abstractions, making it easy to modify your code as needed.

The CLI-based architecture works seamlessly with AI. This is because CLI commands can be programmatically executed, and therefore AI can deduce the correct sequence of commands to execute based on a user prompt, which can lead to accurate programs being built extremely fast.

This paradigm also works naturally with version control. Run a git diff after injecting code from a CLI, and you will be able to see all the changes made to your codebase.

Code distribution also becomes a piece of cake. It’s much easier to distribute a command that generates code rather than distributing the code itself.

Will Jobs Be Lost?

Could it lead to job loss? Probably not, but it will certainly increase the skill gap between junior and senior developers due to increased automation.

While I don’t think this will replace jobs, it would be naive to think this won’t have any impact at all on software development.

Share your predictions in the comments. I’d love to hear your thoughts on CLI-based development and whether you see it playing a role in the future of software development.


If you enjoyed this article, please make sure to Subscribe, Clap, Comment and Connect with me today! 🌐
Want to ship code like a hacker? Visit Next Inject today!