---
title: Hound Introduces Style Guides for Organizations
teaser: 'Hound now allows you set styles for your entire organization.

  '
tags: hound,news,open source,style guides,web
author: Rob Whittaker
published_on: 2017-02-01
---

[Hound] checks style on GitHub pull requests for 138 projects at our company on
a daily basis. We also have a [style guide for the whole company]. If we want to
enforce a style across all our projects we have to copy and paste the same guide
into each of our projects. That is a lot of copying, pasting, and maintenance.
If, like me, you are a lazy programmer, you will soon get bored of this. [We
added a new feature] to Hound that allows you to set the same style guide for a
whole organization. With the flip of a switch, all your projects will enforce
the same style guide.

[Hound]: https://houndci.com/
[style guide for the whole company]: https://github.com/thoughtbot/guides/tree/master/style
[We added a new feature]: https://github.com/houndci/hound/pull/1299

## How to enable

Sign into Hound and you will see a shiny new toggle switch next to your
organization name. Flip the switch and you will be able to set a repository for
Hound to pull its base configuration from.

![](https://images.thoughtbot.com/blog-vellum-image-uploads/Z3AhXJoQDmSbmopNlJgo_2017-01-26%2016.36.11.gif)

Once enabled, Hound will look in the specified GitHub repository for a
`.hound.yml` file. Hound will then use this configuration for all the
repositories in the organization. Our configuration can be found in our [guides]
repository.

[guides]: https://github.com/thoughtbot/guides/blob/master/.hound.yml

But, don't worry, you can merge in customisations on a per-project basis.

Hound will merge any styles found in a project with those in the organization
guide. These configurations will then take precedent over the organization's.

For example, your organization might have a Hound configuration similar to the
following.

```yaml
# .hound.yml
ruby:
  enabled: true
  config_file: .rubocop.yml

# .rubocopy.yml
Style/AccessorMethodName:
  Enabled: false

Style/Alias:
  Enabled: false
```

If you wanted to have different settings for one of your projects, you might
have something like this.

```yaml
# .hound.yml
ruby:
  enabled: true
  config_file: .rubocop.yml

# .rubocop.yml
Style/Alias:
  Enabled: true
```

This would give you the following combined configuration.

```yaml
Style/AccessorMethodName:
  Enabled: false

Style/Alias:
  Enabled: true
```

As always [Hound is an open-source project] and we are always keen for
contributions. Come join us!

[Hound is an open-source project]: https://github.com/houndci/hound

For now, why don't you [get started] and give organization-level style guides a
whirl?

[get started]: https://houndci.com/
