

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345# System.Net.Quic — Folder-Specific Guidance67## MsQuic Interop89- All MsQuic API calls go through the MsQuicApi function table — never call native exports directly10- MsQuic callbacks execute on MsQuic worker threads — minimize work in callbacks and avoid blocking11- Native callback delegates must be prevented from being garbage collected (pin or store a reference) for the lifetime of the registration12- MsQuic configuration handles are reference-counted — pair every open with a close and verify no leaks13- Check MsQuic version compatibility at startup — API surface differs between MsQuic releases1415## QuicConnection Lifecycle1617- Connection state transitions (connecting → connected → shutting down → closed) must be guarded with proper synchronization18- Connection close must first shut down all streams, then close the connection handle — skipping stream cleanup causes native assertions19- Handle connection migration events correctly — the remote address may change mid-connection20- Graceful shutdown requires sending CONNECTION_CLOSE frames — abortive close should be the fallback, not the default2122## QuicStream Lifecycle2324- Streams are unidirectional or bidirectional — enforce directionality at the API level (no reads on send-only, no writes on receive-only)25- Stream disposal must abort the stream if it has not been gracefully closed — leaking open streams blocks connection shutdown26- Handle QUIC flow control (MAX_STREAM_DATA, MAX_STREAMS) correctly — exceeding limits is a protocol violation27- Reading from a stream may return 0 bytes when the peer has sent FIN — distinguish FIN from flow control blocking2829## Error Handling3031- Map MsQuic status codes (QUIC_STATUS_*) to appropriate .NET exceptions (QuicException with transport error codes)32- Connection errors must propagate to all open streams — a single stream should not silently orphan after connection failure33- Application error codes (set via stream abort) must round-trip correctly between peers3435## Async Patterns3637- Use ValueTask for stream read/write operations — they frequently complete synchronously when data is already buffered38- Completion sources for MsQuic callbacks must use RunContinuationsAsynchronously to avoid executing user code on the MsQuic thread39- Cancellation must trigger QUIC stream or connection abort with an appropriate error code — not just abandon the Task4041## Performance4243- Avoid per-operation allocations on the stream read/write path — pool buffers and reuse completion sources44- QuicStream send and receive buffers should be sized to match QUIC packet sizes to minimize fragmentation45- Minimize managed-to-native transitions in the data transfer hot path by batching operations where possible4647## Testing4849- QUIC tests require MsQuic to be available — use ConditionalFact/ConditionalTheory with appropriate platform checks50- Test stream multiplexing under concurrency — verify that multiple streams on a single connection do not interfere51- Verify behavior when the peer resets a stream or closes the connection unexpectedly52
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotnet/runtime.github/copilot-instructions.md · 18k | Copilot instructions | buildteststylearch+2 | 78/100 | 14 days ago | |
| dotnet/runtime.github/instructions/cdac.instructions.md · 18k | Copilot instructions | typesgitapidocs | 52/100 | 14 days ago | |
| dotnet/runtime.github/instructions/compression.instructions.md · 18k | Copilot instructions | testlint-formatstylesecurity+1 | 60/100 | 14 days ago | |
| dotnet/runtime.github/instructions/conventions.instructions.md · 18k | Copilot instructions | stylearchagent-behaviourdocs | 56/100 | 7 days ago | |
| dotnet/runtime.github/instructions/core-runtime.instructions.md · 18k | Copilot instructions | styleperformance | 43/100 | 14 days ago | |
| dotnet/runtime.github/instructions/csharp.instructions.md · 18k | Copilot instructions | lint-formatstylearchsecurity+3 | 59/100 | 7 days ago | |
| dotnet/runtime.github/instructions/extensions-caching.instructions.md · 18k | Copilot instructions | styleperformanceagent-behaviour | 48/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-common.instructions.md · 18k | Copilot instructions | styledependencies | 48/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-configuration.instructions.md · 18k | Copilot instructions | no sections | 44/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-di.instructions.md · 18k | Copilot instructions | teststyletesting-strategy | 52/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-hosting.instructions.md · 18k | Copilot instructions | teststyleagent-behaviour | 52/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-logging.instructions.md · 18k | Copilot instructions | securityperformance | 44/100 | 14 days ago | |
| dotnet/runtime.github/instructions/extensions-options.instructions.md · 18k | Copilot instructions | style | 48/100 | 14 days ago | |
| dotnet/runtime.github/instructions/illink.instructions.md · 18k | Copilot instructions | no sections | 16/100 | 7 days ago | |
| dotnet/runtime.github/instructions/jit.instructions.md · 18k | Copilot instructions | buildgit | 29/100 | 14 days ago | |
| dotnet/runtime.github/instructions/system-net-common.instructions.md · 18k | Copilot instructions | styledependenciesapi | 48/100 | 14 days ago | |
| dotnet/runtime.github/instructions/system-net-interop.instructions.md · 18k | Copilot instructions | stylearchperformance | 56/100 | 14 days ago | |
| dotnet/runtime.github/instructions/system-net-sockets.instructions.md · 18k | Copilot instructions | styleagent-behaviour | 48/100 | 14 days ago | |
| dotnet/runtime.github/instructions/system-security-cryptography.instructions.md · 18k | Copilot instructions | stylesecurity | 48/100 | 8 days ago | |
| dotnet/runtimeeng/common/AGENTS.md · 18k | AGENTS.md | no sections | 4/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| louislam/uptime-kuma.github/copilot-instructions.md · 90k | Copilot instructions | setupbuildtestlint-format+9 | 100/100 | 14 days ago | |
| HerringtonDarkholme/megarepo.github/copilot-instructions.md · 17 | Copilot instructions | setupbuildtestlint-format+7 | 100/100 | 14 days ago | |
| chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 63 | Copilot instructions | buildlint-formatstylearch+4 | 100/100 | 14 days ago | |
| dotnet/roslyn.github/instructions/Compiler.instructions.md · 21k | Copilot instructions | buildteststylearch+3 | 99/100 | 7 days ago | |
| bagisto/bagisto.github/copilot-instructions.md · 28k | Copilot instructions | setupbuildteststyle+5 | 97/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31k | Copilot instructions | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32 | Copilot instructions | setupbuildtestlint-format+11 | 96/100 | 14 days ago | |
| thangaram611/second-brain.github/copilot-instructions.md · 0 | Copilot instructions | setupteststylearch+4 | 96/100 | 14 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/dotnet-runtime-github-instructions-system-net-quic-instructions)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.