Skip to content

Latest commit

 

History

History
88 lines (54 loc) · 1.94 KB

File metadata and controls

88 lines (54 loc) · 1.94 KB

🤝 Contributing to MultiType.NET

First off, thank you for taking the time to contribute to MultiType.NET! 🎉 Your support and involvement help make this library more powerful and useful for everyone.


🧭 Where to Start

Whether you're fixing bugs, adding new features, or improving documentation — all contributions are welcome!

Common Ways to Help:

  • 📘 Improve documentation or examples
  • 🪲 Fix typos or bugs
  • 🧪 Add unit tests
  • 🚀 Add support for new features (e.g., new Map*, Select*, or Switch* variants)
  • 🛠️ Improve generator CLI tooling

🛠 Development Setup

1️⃣ Clone the Repo

git clone https://github.com/anzawi/MultiType.NET.git
cd MultiType.NET

2️⃣ Open the Solution

Use Visual Studio, Rider, or VS Code to open the MultiType.NET.sln solution file.

3️⃣ Build All Projects

Make sure these compile without errors:

  • MultiType.NET.Core
  • MultiType.NET.Generator
  • MultiType.NET.SourceGenerator

📏 Code Style & Guidelines

  • Follow standard .NET conventions
  • Keep internal access level for all internal APIs
  • Public surface APIs should be clean, discoverable, and well-documented
  • Use readonly struct where applicable

Naming

  • Generator-related files should end with .g.cs

🧪 Tests

will be provided soon...


💬 Issues & Discussions

If you want to:

  • Ask a question
  • Propose a feature
  • Report a bug

Open an issue or start a discussion.


📦 Pull Requests

Checklist Before Submitting:

  • Your code compiles without warnings
  • You've tested your changes
  • You've updated/added docs if needed
  • You’ve followed existing code style

💖 Thank You

We appreciate every contributor who helps evolve MultiType.NET into a best union system for .NET.