Skip to content

Seaports is a CLI written in Rust that is intended to allow users to quickly initialise project folders.

License

Notifications You must be signed in to change notification settings

schapman14663/seaports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seaports

Seaports is a CLI written in Rust that is intended to allow users to quickly initialise project folders.

Okay so why Rust?

Okay, so the truth of the matter is that if you're seeing this part of the README.md, I'm still in the very early stages of development. So it's very possible that it may be changed to something else instead of Rust.

For now, the "Why Rust?" is relatively simple: I like the look of Rust, and for some reason, I feel drawn to it. Maybe it's the Crab.

There is also partially the aspect that Rust was the original inspiration for this app, as it's very much intended to shadow the cargo new functionality that Rust employs, and create something that can similarly be used to create a set of files as a starting point for the users projects.

Current Intended Structure

Again, if you're seeing this it's probably still early days for this CLI. But the intention is that running a command like seaports new would create a new directory, with a reasonable set of initial files such as .gitignore, src/, initialise git and set up an initial docker file.

Current Framework Mapping

seaports
|-new
  |-*project name* [required]
  |-chase [flag]
  |-edit [flag]
  |-verbose [flag]

Aliases

I am trying to include aliases for some flags that make sense but feel free to let me know if you feel any should be added.

Known Aliases:

[Chase Flag]

  • "cd"
  • "zox" (yes for zoxide, I know that zoxide should actually probably be a 'z' but I haven't decided on if I'll include 'z' for Zig or not in the Language Argument)

[Edit Flag]

  • "nano"
  • "vim"
  • "nvim"
  • "code"
  • "vscode"

When I actually get to implementing the Edit Flag properly the idea is probably to look at using an environment variable (possibly something like $SEAPORTS_EDITOR) to automatically launch the users preferred editor.

[No Git]

  • "ng"

I am planning to look into support for other Version Controls (again, possibly through use of some kind of environment variable i.e. $SEAPORTS_VC)

[No Docker]

  • "nd"

Same with Containers, support for other Containerization methods to come later once I've got initial set up in place (And again, likely through an environment variable i.e. $SEAPORTS_CONTAINERS)

Shell Aliases

If I can get it working I'd love to just have the CLI read the users shell initialiser (.zshrc, .bashrc etc...), however, this is becoming too much of a sticking point at the moment, and potentially could get quite messy given that different users will have different amounts of Aliases for a number of different things, some of which won't be useful.

As such, it is a strong consideration that I might instead have an aliases.txt for the CLI to read from (which would allow users to just list what they'd actually want, at the loss of it being automatic).

About

Seaports is a CLI written in Rust that is intended to allow users to quickly initialise project folders.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages