github-copilot-rules: Instructions file for GitHub Copilot

.github/instructions/coding-style.instructions.md

github-copilot-rules coding-style.instructions.md is an instructions file for GitHub Copilot from NikiforovAll/github-copilot-rules. It costs 3,329 tokens per session, scanned A, original, Apache-2.0.

A set of guidelines for writing clean, maintainable C# code. It covers choices such as immutable records, sealed classes, type inference, and readable collection access.

In plain words
What is it for?
Use it while designing C# types, declaring variables, and writing control flow, especially in code reviews or when starting a new feature.
Why use it?
It reduces inconsistent design choices and helps keep C# code easier to understand and change. It also explains which common alternatives to avoid in the covered cases.

Instructions file for GitHub Copilot

Written for GitHub Copilot: a Copilot instructions file.

This is NikiforovAll/github-copilot-rules's own configuration. It tells GitHub Copilot how to work on github-copilot-rules itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything github-copilot-rules configures →

Reuse

Borrowing it

Nothing to install: this file belongs to NikiforovAll/github-copilot-rules. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/NikiforovAll/github-copilot-rules/main/.github/instructions/coding-style.instructions.md
Clone the repo
git clone --depth 1 https://github.com/NikiforovAll/github-copilot-rules

Made for: GitHub Copilot.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for github-copilot-rules coding-style.instructions.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/nikiforovall/github-copilot-rules/coding-style/github.svg)](https://agentmods.dev/instructions/nikiforovall/github-copilot-rules/coding-style)
Your own site
<a href="https://agentmods.dev/instructions/nikiforovall/github-copilot-rules/coding-style"><img src="https://agentmods.dev/badge/instructions/nikiforovall/github-copilot-rules/coding-style/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for github-copilot-rules coding-style.instructions.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/nikiforovall/github-copilot-rules/coding-style"><img src="https://agentmods.dev/badge/instructions/nikiforovall/github-copilot-rules/coding-style.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 3,329 This file is loaded in full into every session.
When invoked 3,329 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.03329 $0.03329
Opus 5.5 $0.01332 $0.01332
Sonnet 5.5 $0.00666 $0.00666
Haiku 4.5 $0.00333 $0.00333

Measured 2mo ago against content hash 58c5c6df0585, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

github-copilot-rules coding-style.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/coding-style.instructions.md · 541 lines

How it starts

The opening of the file, as written. The whole thing — 541 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Type Definitions:

  • Prefer records for data types:
    // Good: Immutable data type with value semantics
    public sealed record CustomerDto(string Name, Email Email);
    
    // Avoid: Class with mutable properties
    public class Customer
    {
        public string Name { get; set; }
        public string Email { get; set; }
    }
    
  • Make classes sealed by default:
    // Good: Make classes sealed by default
    public sealed class OrderProcessor
    {
        // Implementation
    }
    
    // Only unsealed when inheritance is specifically designed for
    public abstract class Repository<T>
    {
        // Base implementation
    }
    

Variable Declarations:

  • Use var where possible:
    // Good: Using var for type inference
    var fruit = "Apple";
    var number = 42;
    var order = new Order(fruit, number);
    

Control Flow:

  • Prefer range indexers over LINQ:
    // Good: Using range indexers with clear comments
    var lastItem = items[^1];  // ^1 means "1 from the end"
    var firstThree = items[..3];  // ..3 means "take first 3 items"
    var slice = items[2..5];  // take items from index 2 to 4 (5 exclusive)
    
    // Avoid: Using LINQ when range indexers are clearer
    var lastItem = items.LastOrDefault();
    var firstThree = items.Take(3).ToList();
    var slice = items.Skip(2).Take(3).ToList();
    
  • Prefer collection initializers:
    // Good: Using collection initializers
    string[] fruits = ["Apple", "Banana", "Cherry"];
    
    // Avoid: Using explicit initialization when type is clear
    var fruits = new List<int>() {
        "Apple",
        "Banana",
        "Cherry"
    };
    
  • Use pattern matching effectively:
    // Good: Clear pattern matching
    public decimal CalculateDiscount(Customer customer) =>
        customer switch
        {
            { Tier: CustomerTier.Premium } => 0.2m,
            { OrderCount: > 10 } => 0.1m,
            _ => 0m
        };
    
    // Avoid: Nested if statements
    public decimal CalculateDiscount(Customer customer)
    {
        if (customer.Tier == CustomerTier.Premium)
            return 0.2m;
        if (customer.OrderCount > 10)
            return 0.1m;
        return 0m;
    }
    

Read the full file on GitHub · 541 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 541 lines · 3,329 tokens per session scan A 58c5c6df0585

Subscribe to this mod's changes

github-copilot-rules coding-style.instructions.md is an instructions file published in the GitHub repository NikiforovAll/github-copilot-rules (135 stars, last pushed 8mo ago), licensed Apache-2.0. It adds 3,329 tokens to every session, about $0.0133 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.