Jector
Jector is a command line tool that creates project filestructures for you. I made it to speed up my workflow: I don’t have to copy and rename folders with the help of jector. It can also run scripts in several different contexts, so it can create a venv upon project creation (for example)
I made jector work with local folders and remote repos, so you can use both private templates as well as pre-made ones from the internet. Since the templates and scripts aren’t baked in, they’re completely customizable. With the simple syntax on the jector.toml
file, you can create the perfect template for your needs.
[[template]]
name = "picorust"
git = "https://gitlab.com/slusheea/rp2040-rs-template"
[[template]]
name = "python"
dir = "/home/user/Documents/Code/Templates/Python"
scripts = ["mkvenv", "git_init"]
# Adds a predefined script
[[script]]
name = "mkvenv"
run = "/home/user/Documents/Code/Scripts/venv_creator.sh"
[[script]]
name = "git_init"
run = "/home/user/Documents/Code/Scripts/git_initter.sh"
For this example config, I can run jector picorust robot_arm
and jector will create a folder called robot_arm
with all the contents needed to start programming the rpi pico. As you can see, it does it by cloning the provided git repository.
By running jector python oxygen_sensor
, jector copies the local template folder, renames it to oxygen_sensor
and creates a venv on the folder. As you can see it uses an array of scripts to run, so it also runs the git_initter.sh
script.
Jector doesn’t have the best code, clippy complains every time that the main function is too long. But I don’t think I’m going to be refactoring in the near future, I’m currently invested on a 5 DoF robot arm powered by the rp pico and rust. If you think jector can be useful for you, give it a try! I use it constantly.
Oh, and just as a fun fact, I came up with the name with this process: project -> projector
but this program is the furthest thing from pro
, so just jector
.