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.
- Clone Saint to your user's root directory. (
~/
). - In the user root, locate the .bashrc file.
- 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
- If using Oh my Zsh, add it to the
.zshrc
file. - After that, restart the terminal. If you see the message:
Saint is running
, then it's ready to use.
To install Saint on a Mac, follow these steps:
-
Clone Saint to your user's root directory. (
~/
). -
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
-
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
- Using
-
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
-
Save the file and restart the terminal. If you see the message
Saint is running
, then Saint is successfully installed and ready to use.
- Originally, I edited Saint using Visual Studio Code, but you are free to enhance it with the IDE of your choice.
- 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.
- 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 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.
exampleProj code
- Opens a project in Visual Studio Code. (exampleProj_code()
)exampleProj goto
- Goes to the configured project folder. Edit.variables
and thegoto
function withinexampleProj_goto()
.exampleProj run
- Executes something within theexampleProj_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 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.
- #1 Explain the architecture and the "whys" of each folder.
- #2 Make setup easier: setup to automate Saint installation on any Linux/Mac/WSL.
- #3 Add common aliases for any project by creating a temp aliases file
- #4 Create a debugger for errors, enabling or disabling code errors.
- #6 Method that allows arrows to select some option instead of using a list and input to select
- #7 Check updates for saint automatically
- #8 Restore a project previously created backup
- #9 Create default "Success" | "Error" | "Warning" ’saint_msg’
- #10 Create a way to make each project to become a repository in git
- #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.