Forma is an opinionated toolkit for .NET developers focused on:
- Functional programming patterns (Result, Option, etc.)
- Reusable architectural patterns
- Developer productivity utilities
This project does NOT aim to become a generic utility library.
- Bug Fixes → always welcome
- Improvements → evaluated case by case
- New Patterns → require proposal discussion
- New Modules → require architectural approval
- Open a "Proposal" issue
- Describe:
- Problem
- Proposed solution
- Alternatives
- API impact
- Wait for discussion
- After approval → open PR
- Prefer immutability
- Avoid exceptions for flow control
- Prefer Result<TSuccess, TError>
- Option over null
- Unit tests required
- Edge cases required
Public API changes must be documented and discussed.