Let’s says you want to make a program that takes user input and follows the CRUD structure for some data. This program would be executed from the terminal and wouldn’t be used in any other projects.
If this program was made in a language that supports creating packages for other programs (e.g. Python, Rust, NodeJS), should this program be a ‘package’, or should it be a standalone program that has a simple “setup” script?
Assume this is a CLI/TUI app that runs in a Linux terminal.
EDIT: I’ll provide some more details since it seems I was too vague:
This program would allow the user to create ‘Script’ objects that would be saved to a file on their system. These objects would contain metadata such as a name, the command to run, and a description.
These Script objects would only be used by this program, and by the user. (i.e not a system program)


It doesn’t matter if it’s truly a one-off.
However, the conventional wisdom is to split the potentially reusable part as a library package and the executable to be a thin layer on top of that library.
In this way, for example, testing can just depend on that library. In the future, if there are requests that calls for a separate executable, the library can be reused.