copilot-instructions dotnet-csharp.instructions.md

A set of coding rules for C#, Microsoft's programming language for the .NET platform. It covers code organization, asynchronous operations, error handling, performance, and tests.

In plain words
What is it for?
Use it when writing or reviewing .NET classes, arranging members, handling errors, using async and await, improving performance, and adding tests.
Why use it?
It helps keep C# code structured and consistent while guiding common implementation and testing decisions.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/thiagoguislotti/copilot-instructions/dotnet-csharp
Clone the repo
git clone --depth 1 https://github.com/ThiagoGuislotti/copilot-instructions

Made for: GitHub Copilot.

Per session 3,045 This file is loaded in full into every session.
When invoked 3,045 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
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 $0.03045 $0.03045
Opus 5 $0.01522 $0.01522
Sonnet 5 $0.00609 $0.00609
Haiku 4.5 $0.00304 $0.00304

Measured 2d ago against content hash 5566c0705863, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

copilot-instructions dotnet-csharp.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 2d 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/dotnet-csharp.instructions.md · 339 lines

How it starts

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

Code Organization

  • #region structure and order (top to bottom):
    • #region Constants - const fields
    • #region Static Variables - static fields
    • #region Static Properties - static properties
    • #region Variables - instance fields
    • #region Protected Properties - protected properties
    • #region Public Properties - public properties
    • #region Internal Properties - internal properties
    • #region Constructors - constructors
    • #region Public Methods/Operators - public methods and operators
    • #region Protected Methods/Operators - protected methods and operators
    • #region Internal Methods/Operators - internal methods and operators
    • #region Private Methods/Operators - private methods and operators
  • Do not create empty regions. Only wrap members when there is at least one concrete member inside the region. If a type has no public methods, do not emit #region Public Methods/Operators at all.
  • #region formatting: NO blank line after #region Description and NO blank line before #endregion. Implementation starts immediately after the region marker and ends immediately before endregion.
  • #region spacing: ALWAYS add ONE blank line between #endregion and the next #region. Never place them adjacent without separation.
  • ALWAYS use template .github/templates/dotnet-class-template.cs for classes
  • ALWAYS use template .github/templates/dotnet-interface-template.cs for interfaces
  • Do not assemble new classes or interfaces directly from the inline examples in this instruction; use the templates as the concrete file skeleton and treat examples here as partial guidance only.
  • Small focused methods
  • Single responsibility classes
  • Avoid god classes
  • Ensure namespaces match folder structure exactly; for .NET files follow the repository default EOF policy from .editorconfig (insert_final_newline = false) and never leave a trailing empty line at EOF
// follow .github/templates/dotnet-class-template.cs and .github/templates/dotnet-interface-template.cs when creating new types
// Replace placeholders, keep PascalCase naming, remove unused usings
namespace MyApp.Core
{
    public sealed class OrderService
    {
        private readonly IRepository _repo;
        public OrderService(IRepository repo) { _repo = repo; }
        public Task<Order> GetAsync(Guid id) => _repo.FindAsync(id);
    }
}

Read the full file on GitHub · 339 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. 2d ago First seen · 339 lines · 3,045 tokens per session scan A 5566c0705863

Subscribe to this mod's changes

copilot-instructions dotnet-csharp.instructions.md is an instructions file published in the GitHub repository ThiagoGuislotti/copilot-instructions (2 stars, last pushed 2mo ago), licensed MIT. It adds 3,045 tokens to every session, about $0.0152 per session on Opus 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-31.

Related

Other instructions, from other repositories

maui integration-tests.instructions.md

Guidance for GitHub Copilot when working with .NET MAUI integration tests.

dotnet/maui · 2,481 tokens

maui handler-patterns.instructions.md

Instructions for dotnet/maui, covering handler mapper and property patterns, property update flow, lifecycle management, null safety in callbacks and native defaults preservation.

dotnet/maui · 464 tokens

maui performance-hotpaths.instructions.md

Instructions for dotnet/maui, covering performance-critical path rules, hot paths in maui, allocation avoidance, caching and invalidation and collection iteration.

dotnet/maui · 441 tokens

cryptoexchange-net

Use CryptoExchange.Net abstractions when generating C#/.NET code that needs to work across MULTIPLE cryptocurrency exchanges (Binance + Bybit + OKX + Kraken + Coinbase + ...) — for arbitrage, best-execution routing, multi-exchange portfolio dashboards, exchange-agnostic trading bots, or comparison tools. Triggers on…

JKorf/CryptoExchange.Net · 2,291 tokens

kraken-net

Use Kraken.Net when generating C#/.NET code that interacts with the Kraken cryptocurrency exchange, including Spot REST, Spot WebSocket v2, Futures REST, Futures WebSocket, account data, market data, order placement, Kraken Earn, local order books, dependency injection, or CryptoExchange.Net SharedApis. Triggers on…

JKorf/Kraken.Net · 1,872 tokens

Kucoin.Net copilot-instructions.md

Instructions for JKorf/Kucoin.Net, covering copilot instructions for kucoin.net, use kucoin.net, not raw http, client setup, result handling and api structure.

JKorf/Kucoin.Net · 849 tokens