CLI Tools?

We’re using github for several systems courses. Everything we do is off of the command line. So far we’ve noticed everything is essentially through the web interface. Are there any tools that allow you to manage a classroom from the command line? Something that allows us to create and update assignments via CLI?

We would like to be able to download all of the users in an assignment and to sync all of the repos in a single command. We have students do several projects and we need to compile and run them on our machines.

At this point I’m sort of temped to use Google’s repo tool for git to sync everything.

There are a few tools available for cloning in bulk from the command line, one was suggested in this post:

Another is available here:

In most cases when folks want a command line tool, they want to be able to customize their workflow and end up building their own. You can easily write scripts against the GitHub API using one of our client libraries.

You can give Gitomator a try.
It doesn’t have the convenient WUI that GitHub Classroom provides, but it provides more flexibility.

Disclosure: I am the creator of Gitomator.
Gitomator is still in pre-alpha, but I have been using it successfully to manage our advanced SoftEng courses at the University of Toronto.

1 Like

Thanks for all the options. I’ll run through these and see what works with what we’re doing. I’m happy that there’s a lot more support now for using git from the command line and managing classrooms. A lot of work still needs to be done, but it really seems to be progressing.

1 Like

A huge high-5 for gitomator - it works very well for what I needed.

I created 1 file that listed the teams and their members and another that described my assignment and it magically set up the groups and repos with the exact name, contents and permissions that I needed.

I find this much more convenient than using the classroom gui (which although has its place, does rely on students being proactive and making the right decisions).

I fully recommend that people give this a try.

1 Like