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)

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    Coming at it from the Rust ecosystem, I’d primarily opt for uploading release binaries somewhere. You don’t particularly need a setup script, since Rust programs are generally self-contained.

    Publishing a package in addition to that really isn’t hard, but would be my secondary choice, since users are not likely to have cargo on their system.
    Well, and cargo compiles on the target machine, which is great for supporting unusual architectures, but you may have C libraries included where it’s just a gamble whether you can compile them on a given target system.