The single source of truth for basic configuration across many of my projects on GitHub.
Changes made to the configuration files contained herein are automatically copied into each dependent project using GitHub Graph. Updates to these files should be made here, not in any of the downstream repositories, lest they be overwritten later.
- Git settings including
.gitignoreand.gitattributes. - Basic IDE configuration in
.editorconfig. - The MIT license, which I tend to use by default as it is fairly permissive.
- Configuration for github-rules to define GitHub rulesets in-source.
- Claude Code integration with GitHub.
The full list of projects that rely on this configuration is defined in graph.json.
Only if you want to, but this exists mainly for my own convenience. I would, however, argue that these settings are reasonable defaults for many projects.
You have several options:
- If you want continuous updates as this repository evolves, open a PR to add your project(s) to
graph.json. You'll also need to send me a PAT with write access to the corresponding repositories. - If you want continuous updates, but want to deviate from my template according to your own needs, fork this repository and then add your project(s) to
graph.json(after removing the existing projects from the list). In this case, you can add the PAT yourself. - If you just want the settings without the updates, click 'Use this template' on GitHub (for a new project), or simply copy and paste the files (for an existing project).
Scala Config is a downstream template for Scala projects in particular.