I often find myself wanting to get the files of some open source repository quickly and easily. I don’t want to have to open my browser to get the files, and I don’t want to have to setup some overkill solution.
So, I created this intuitive and simple plugin that uses the GitHub REST V3 APIs to clone the Repo in for me.
This plugin is designed to be as quick and easy as possible. Unlike a lot of my plugins, this isn’t a power user tool- it’s just a lazy person tool. This was a personal plugin for my own lazy self until I realized others might benefit from it as well.
You just put the repo name and owner’s name (and optionally a branch name), and it creates the repo structure in workspace.
For files that are not .lua, it formats the source into a comment as not to fill your Script Analysis window with annoying syntax errors and warnings.
You should give the plugin an app auth token, generated here.
The reasons it asks for an auth token is so that you can use it to clone your private repos, and so that you aren’t rate limited.
GitHub rate limits tokenless requests to 60 per hour (which will get hit instantly if you try to clone a repo with a fair amount of files.) If you give your token, the rate limit goes up to 5000 per hour, so you’ll likely never even get close to hitting it.
There are some QoL settings as well:
“Only clone .lua files” means it’ll only clone the folders and the .lua files, avoiding a lot of unwanted file transfer
“Trim .filetype” removes the .lua or .txt from script names
“Process init.lua” turns init.lua files into parent scripts
“Process .server & .client” turns those files into Scripts and LocalScripts for you
“Parent to selection” places the repo files inside your currently selected object (disabled will place in workspace)
And yeah, BoatBomber again created some usefull plugin that no one thought to create before him. If I should start getting 1$ for each good idea that boatbombers have, even the ideas that he dosen‘t already created, I am sure I would be millionaire lol. Ok, now stop with the funny side, it‘s again really good (damn, the master created again something for us for a really cheap price).
Option to only clone .lua files and directories. Helpful in avoiding the clutter of irrelevant files.
The “Cloning…” now displays the file it’s currently handling, so you know it didn’t just fail/freeze.
More intelligent error handling. Instead of displaying an error and cancelling everything, it simply marks that file as [FAILED] and puts the error message in the .Source.
Oops. That last update introduced a bug where it could wait indefinitely if you had a particular combination of settings while cloning a repo with non-lua file types. That’s on me for not being more thorough with my testing.
I’ve fixed that bug, and added a timeout so that type of bug can’t happen again regardless.
Oh my, boatbomber was, is and will always remain epic. Thanks for this! This will help me so much as my github repositories are full of code sooo this is perfect for me!
I have a question.
Will it allow us to get code in other languages from the repositories? (Wait nevermind i got the answer from the above posts)
Thanks for this! Just bought it a few hours ago and it’s working great. However I and many others don’t often put modules in the workspace by default, but into a container like ReplicatedStorage since I’m mostly using modules that can be shared by the server and client, but maybe in some other cases I may want to import in a client-only/server-only module. Would it be reasonable to suggest the plugin to import the repo to your current selection? So if I have say a Shared folder in ReplicatedStorage selected, the contents would get put into that instead of just workspace. The plugin would default to workspace if there is no selection.
Is there any updates on this? it’s been like 2 years and nothing is announced
I would spend 3.67 AED on this plugin (I said AED cuz my local currency is AED, and 1 USD is equal to 3.67 AED, not too much expensive), and I like the concept (so I don’t have to manually go to github and copy every .lua files I have)
also sorry if I bumped the post, Just wanted to ask if there are updates
This is a finished product.
It’s received several updates over the years based on user requests and it’s reached a state where it fills the needs of its users and there aren’t more requests.