repo-conventions 1.1.0

dotnet tool install --global repo-conventions --version 1.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local repo-conventions --version 1.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=repo-conventions&version=1.1.0
                    
nuke :add-package repo-conventions --version 1.1.0
                    

RepoConventions

NuGet

RepoConventions is a .NET tool that runs convention scripts configured for a repository, committing any resulting changes and optionally opening a GitHub pull request.

This is an inherently dangerous tool. It runs PowerShell scripts from arbitrary GitHub repositories, potentially with full access to local files and production secrets, with the capability of automatically merging pull requests. Only apply conventions from trusted sources. Make sure that conventions from trusted sources don't reference conventions from untrusted sources. Convention paths that are not pinned to a specific SHA are subject to supply chain attacks, so make sure convention repositories are secure and that contributions are carefully reviewed.

Quick Start

Before running RepoConventions, make sure the following tools are installed:

  • dotnet: .NET 10 SDK or later
  • pwsh: PowerShell 7 or later
  • git: Git CLI, configured and authenticated
  • gh: GitHub CLI, configured and authenticated (for opening PRs)

Individual conventions may require additional tools.

Run the tool with dnx:

dnx repo-conventions --help

Alternatively, e.g. to run in a repository configured for .NET 8, which doesn't suppport dnx, install the tool globally:

dotnet tool install -g repo-conventions
repo-conventions --help

To add a convention to the current repository:

dnx repo-conventions add Faithlife/CodingGuidelines/conventions/gitattributes-lf

That command creates .github/conventions.yml if it does not already exist:

conventions:
  - path: Faithlife/CodingGuidelines/conventions/gitattributes-lf

A configuration can also pass settings to a convention:

dnx repo-conventions add Faithlife/CodingGuidelines/conventions/write-file --with "{settings: {file: docs/example.md, overwrite: false}}"

The command writes the configured convention reference:

conventions:
  - path: Faithlife/CodingGuidelines/conventions/write-file
    settings:
      file: docs/example.md
      overwrite: false

Use repository-root-relative paths for conventions checked into the target repository:

conventions:
  - path: /.github/conventions/local-policy

Commit the configuration file, then apply the convention:

dnx repo-conventions apply

Features

  • Repository Configuration — Configure .github/conventions.yml, declare local and remote conventions, pass settings, and configure pull request metadata.
  • CLI Reference — Run the add, validate, and apply commands, with path options, pull request options, and clean-repository requirements.
  • Convention Configuration — Learn the shared YAML model for convention references, settings, commit settings, and pull request settings.
  • Convention Authoring — Create idempotent convention directories with convention.yml, scripts, local documentation, tests, and child settings expressions.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.0 7,483 6/10/2026
1.0.0 798 5/29/2026
0.1.39 261 5/27/2026
0.1.38 507 5/19/2026
0.1.37 123 5/19/2026
0.1.36 103 5/19/2026
0.1.35 355 5/14/2026
0.1.34 136 5/14/2026
0.1.33 104 5/13/2026
0.1.32 103 5/13/2026
0.1.31 104 5/13/2026
0.1.30 185 5/5/2026
0.1.29 130 5/4/2026
0.1.28 140 5/1/2026
0.1.27 131 4/30/2026
0.1.26 117 4/29/2026
0.1.25 136 4/29/2026
0.1.24 120 4/29/2026
0.1.23 123 4/29/2026
0.1.22 136 4/28/2026
Loading failed