Skip to content

Saint is a project manager in bash/shell, initially created to organize projects in WSL2. It automates project creation and removal, using simple and unique aliases, allowing you to manage projects easily from any directory in the terminal, saving time on common programming tasks.

License

Notifications You must be signed in to change notification settings

danilloestrela/saint

Repository files navigation

Saint: Project Manager in Bash/Shell

Saint is a project manager made in bash/shell.

It was initially created to facilitate the organization of my projects in WSL2. Over time, it gained structure and an architecture to handle the automatic creation and removal of projects, as well as simple and unique aliases for each project. This allows you to manage any project easily from any folder in the terminal, saving time when creating and editing common elements in programming projects.

Supported Operation Systems

Linux Ubuntu macOS WSL2

Installation Guide:

Linux (Ubuntu/WSL)

  1. Clone Saint to your user's root directory. (~/).
  2. In the user root, locate the .bashrc file.
  3. Use "nano" or your preferred editor to add the following code at the end of the file:
    if [ -s ~/saint/.saint ]; then
        . ~/saint/.saint
    fi
    
  4. If using Oh my Zsh, add it to the .zshrc file.
  5. After that, restart the terminal. If you see the message: Saint is running, then it's ready to use.

Mac

To install Saint on a Mac, follow these steps:

  1. Clone Saint to your user's root directory. (~/).

  2. Open the Terminal and check if the .zshrc file exists in your home directory:

    ls -la ~ | grep .zshrc

    If the file does not exist, create it with the following command:

    touch ~/.zshrc
  3. Edit the .zshrc file with a text editor of your choice:

    • Using nano:
      nano ~/.zshrc
    • Using vim:
      vim ~/.zshrc
    • Using Visual Studio Code:
      code ~/.zshrc
  4. Add the following code at the end of the .zshrc file to source Saint whenever a terminal session starts:

    if [ -s ~/saint/.saint ]; then
        . ~/saint/.saint
    fi
  5. Save the file and restart the terminal. If you see the message Saint is running, then Saint is successfully installed and ready to use.

Some Observations:

  1. Originally, I edited Saint using Visual Studio Code, but you are free to enhance it with the IDE of your choice.
  2. This is my first open source project, mainly because I thought it could add more to the community. This means I am more than open to suggestions and help to make it the best possible for everyone.

How to contribute?

  • Read a bit about "how to contribute opensource projects"
  • Leave your question or suggestion in the "issues" tab.
  • Fork this project and start your changes 😊. You can have a great "How to" over here.
  • Make a PR and link it to the issues you created or that anyone came up.
  • Wait for code review and tests.

Saint Commands:

  • saint add - Starts the setup for creating a new project.
  • saint backup - Creates a backup from a selected project.
  • saint delete - Starts the setup for removing an existing project.
  • saint edit - Opens the Saint installation folder for editing in Visual Studio Code.
  • saint help - Lists all available commands for all active projects.
  • saint list - Lists existing projects.

Default Commands for New Projects:

  • exampleProj code - Opens a project in Visual Studio Code. (exampleProj_code())
  • exampleProj goto - Goes to the configured project folder. Edit .variables and the goto function within exampleProj_goto().
  • exampleProj run - Executes something within the exampleProj_run() function.
  • exampleProj help - Displays the available commands for this project.
  • exampleProj update-help - Updates the help based on comments in the functions:
    • exampleProj_goto()
    • exampleProj_code()
    • exampleProj_run()

Help Comments

Help comments provide quick documentation for commands within the Saint project. They follow a specific format that allows users to understand the functionality of each command at a glance. Warning: it only works under projects folder after added on your .project file.

The format for a help comment is as follows:

#@help <group>!<group>!<command>: <description>
Example:
#@help git!pull!all: Pulls all related projects.

CORE TODOs:

Done so far:

  • #5 Add details on how to install Saint on Mac whenever the terminal starts
  • Add supported OS for this project.
  • Create a Saint Backup command
  • Create a new templating method approach
  • Fix bugs related to no-project states
  • Fix template bug that new line is not scapped properly and end up beeing printed after creating a new project on the .project file.
  • Optimize helpers to avoid compromising projects from older versions (preferably).
  • Add a delete setup capable of selecting one of the projects from the list (project folder) and removing it instead of typing its name.

About

Saint is a project manager in bash/shell, initially created to organize projects in WSL2. It automates project creation and removal, using simple and unique aliases, allowing you to manage projects easily from any directory in the terminal, saving time on common programming tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages