Skip to content

Instantly share code, notes, and snippets.

@antdking
Last active June 22, 2018 08:21
Show Gist options
  • Save antdking/0cbda825146893d8222bce1f8a098f77 to your computer and use it in GitHub Desktop.
Save antdking/0cbda825146893d8222bce1f8a098f77 to your computer and use it in GitHub Desktop.
DotMade spec

At MadeTech, we need to deal with hundreds of projects, across lots of workspaces, and potentially across hundreds of clients' workspaces too.

To keep a standard approach, we should split dotfiles, or config files in general, into 3 categories:

  • Project level, Source controlled
  • Project level, user controlled
  • Workspace level, user controlled

Project level, source controlled

These are configuration files commited through the VCS. They should relate specifically to;

  • languages
  • librariesa
  • frameworks
  • documented tools
  • files generated by the project

They MUST NOT relate to the editor or any tools specific to a user.

They MUST NOT include secrets relating to the project (passwords, keys, certificates, etc)

Project level, user controlled

These are configuration files relating to a specific project, but should not be distributed. These can include;

  • tools used by the user for the project, but not widely accepted in the project
  • secrets used for the projcet
  • overrides for project tools

They MUST NOT conflict with source controlled configs. For example; if the source controlled config says to use indentation of 2 spaces, do not override it in your config to indentation of 4 spaces.

Workspace level, user controlled

These are configuration files about a users workspace. They are for use across all projects. These can include;

  • global tool/editor settings
  • global secrets (ssh keys, htpassword, aws)

They MUST NOT conflict with source controlled configs. For example; if the source controlled config says to use indentation of 2 spaces, do not override it in your config to indentation of 4 spaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment