fsharp-env-capabilities

Installation
SKILL.md

F# environment capabilities

Each function takes env as its first parameter. A capability is an interface with one property that exposes a worker interface. A function names only the capabilities it uses, through a flexible type #IProvideX. A composite that calls several functions gets the union of their capabilities by inference, with no new parameter. The caller passes one object that implements every capability the call tree names. Sources: Bartosz Sypytkowski, Dealing with complex dependency injection in F#, and the bridge to ASP.NET Core DI, Fsharp-DI-Bridge. A runnable proof with a test env, a container env, and two compile-time break tests lives in scripts/. Read references/FINDINGS.md for output you can compare against.

Rules

Installs
15
GitHub Stars
21
First Seen
Oct 13, 2026