Managing your home using GitHub

Will Blanton
8 min readApr 2, 2019

--

A guide to managing your home and learning how to use GitHub along the way

At work I like to be as organized as possible. I have todo lists, issue tracking, calendar events, even my laptop’s desktop is impeccably organized. At home, it’s a different story — dishes pile up in the sink, the dirty laundry hamper becomes the clean laundry storage, empty toilet paper rolls remain on the dispenser — I could go on. It’s tough to keep track of all of the things a home requires. More importantly, there’s the ever-growing list of repairs, improvements, and maintenance chores that need to be done. For some folks, a simple to-do list does the trick — I need some bigger guns.

When organizing a big project at work, one of my favorite set of tools is GitHub. It functions as a general repository of documents, code, and images. It has an issue tracking toolset that allows you to apply labels, assign work, create milestones, and keep track of conversations per issue. It has a functioning project management system that uses a kanban-style board. These tools are more than enough to keep track of tasks, plan projects, and more. If you’ve never used GitHub before, and especially if you’ve heard git horror stories from programmers, don’t worry. GitHub is a very friendly platform and you won’t be required to use terminal commands like some coding wizard 👍

Step One: Create a new Repo

On a desktop computer, head on over to github.com, sign in or create a new account, then create a new repository for your home using the + menu in the upper-right hand corner.

Start here!

Then, you’ll want to enter in some details:

  • Repository name: name it something like home or my_house (spaces will automatically be turned into hyphens)
  • Description: totally optional, but I like to be descriptive when possible
  • Public or Private: chances are you’ll have some personal information in this repository, so your best bet is to make it Private!
  • Initialize with README: You’ll probably want a README file for your repo, it’ll greet you whenever you visit!

Here’s what mine looks like:

Now we can get started!

Step Two: Create your first Issue

GitHub’s Issue Tracking system is super handy, especially if you’re working in a team. It’s like a to-do list on steroids, and it’s one of the tools thousands of super smart programmers use daily to keep on task.

Navigate over to the Issues tab of your repository, and click the big green New Issue button.

Think of something your home needs, a repair that needs fixing, an improvement you’ve had in mind, anything! Enter it in and be as descriptive as you’d like:

When you’re done, submit the issue and pat yourself on the back! You’ve started a journey that will make your life way easier!

From here, you’ll have a nice place to put all the info you collect on this issue. You don’t have to use the backs of envelopes to jot down notes or trust that you’ll remember the right part number, just use this issue!

When you eventually finish the task, you’ll mark the issue closed and feel extra satisfaction knowing your hard work and effort will be forever chronicled in your repo!

Step Three: Organizing your issues

Once you get going, you’ll notice that your list of issues can seem disorganized and intimidating — just the opposite of what we’re trying to do! No worries, let’s add some labels to them to add some order to the chaos.

Click on the Labels button to view your repo’s labels. GitHub is a tool mostly utilized by programmers, so you’ll notice these labels are all very code-oriented. You can delete the ones you don’t want, and add new ones to make it more home-oriented! Here are my labels:

I like to separate things into location (indoor / outdoor), and type (improvement / maintenance / repairs)

When you have your labels set up, you can select multiple issues at once and apply the correct labels — next time when you create an issue, you can use the sidebar to add labels directly!

Another great tool to use is Milestones! Click on the Milestones button and create a new Milestone. Milestones are a nice way to organize a set of issues, especially if you want to set a due date for those issues. you can add an issue to a milestone from the Issues tab, or when creating an issue!

Step Four: Creating a Project

Another great way to group issues is using your repo’s Projects tab. Let’s start a new project and add some issues to it!

The first thing you’ll want to do is Create a Project. Give your Project board a good name like Spring Cleaning, and enter in a good description for yourself. Don’t worry about using a template for your project, we’ll make one ourselves. Press the Create project button to get started!

At first, your project has no columns or cards, click the Add a column button, and name it To Do. Don’t worry about using a Preset for now!

Now you have a column for your project, but you need to fill it with all the tasks you need to accomplish for your project! Use the + Add cardsbutton and the accompanying search bar to find some tasks do add:

Just drag the tasks you want to your To Do column and voilà! Your project has officially kicked off!

You’re going to want to add a column called In Progress. Find the first task you want to work on, and drag it from To Do to In Progress . Maybe there’s another task you could do in tandem with it — drag that over too! Now you’re on a roll!

Finally, add one more column called Done. Select the Done Preset, and check the box that moves issues here when Closed:

Now we’re leveraging some cool automation! When you finish your tasks, just go to your issue tracker and mark them closed and they’ll automatically move from In Progress to Done on your Project board! Nice! 😩👌✨

Step Five: Add your home team!

Now that you’re a master at issue tracking and project management, it’s time to add the rest of your house to the repo! Help them set up their own GitHub accounts and then add them to your repo!

Navigate to the Settings tab of your repo, and click Collaborators on the left toolbar. If your repository is private, you’ll only be able to add three collaborators unless you pay for a Pro account. Search for their user name and click Add collaborator to grant them access to your repository!

Now that your team is ready, you can assign each other to issues and tag them in comments using the @ symbol! Yay teamwork!

Step Six: Lay down some House Rules

You’ve got your to do list down. Your next moves are planned. Your house feels more orderly now. Let’s make things more orderly by codifying some rules for housemates and guests to follow.

Go to the Code tab of your repository and click Create new file. Name it something like RULES.md. A .md file stands for Markdown — an easy to use format to create nice looking files that are easy to read! We’ll use a few markdown tricks to make our rules list look nice:

To see your rules formatted nicely, click Preview — for a handy guide on Markdown, check out GitHub’s own Mastering Markdown article!

When you’re done, you’ll commit the file, adding it to your repo! You can write your own message and description if you’d like, make sure that Commit directly to the master branch is selected, and hit Commit new file! Now your rules are set in stone!

Well — not exactly in stone. If you ever want to change the rules, you can go back and edit the file. If you want to have a conversation about the changes, you can select the Create a new branch when you go to commit the changes:

This introduces the concept of branches — different versions of your repository where you can safely make changes without disturbing the files in the master branch.

Click Propose file change to commit the change to a new branch, and on the next page, click Create pull request to request that the changes you’ve made will be added to the master branch.

Now, under the Pull requests tab of your repo, you can see your pull request, and your team can discuss the proposed changes all in one place! You can even click on the Files changed tab of the pull request to see exactly what changes are being discussed:

If the changes look good, you can go ahead and go to the Conversation tab of the pull request and click on Merge pull request, press Confirm merge and now the changes will exist in the master branch of your repo!

Wrapping Up

Hopefully this guide will help you organize your home more efficiently, it’s definitely helped me! Here are some other tips:

  • Keep important documents handy by adding them to your repo
  • You can add folders to your repo by naming a file folder/File.md
  • Add some info on how to use the repo to your README.md file

What if none of your housemates are interested in using GitHub? No problem! Check out this article on how to use a Google Form to automate issue submissions! You could even create a website to make sure they can read all your fancy markdown files!

--

--