Thank you for your interest in contributing to Ivy Examples! This repository showcases the power and versatility of the Ivy Framework through real-world examples. We welcome contributions from developers of all skill levels.
- Fix issues in existing examples
- Improve error handling
- Update deprecated package references
- Enhance performance
- Showcase integration with popular .NET packages
- Demonstrate real-world use cases
- Create educational examples for beginners
- Build complex applications showing advanced patterns
- Improve README files for existing examples
- Add code comments and explanations
- Create tutorials and guides
- Translate documentation
- Enhance visual design of examples
- Improve responsive layouts
- Add accessibility features
- Modernize styling and interactions
Before contributing, ensure you have:
- .NET 10.0 SDK or later
-
Fork the repository on GitHub
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/Ivy-Examples.git cd Ivy-Examples -
Create a new branch for your contribution:
git checkout -b feature/your-feature-name
Each example should follow this consistent structure:
your-example-name/
├── Apps/ # Main application components
│ └── YourApp.cs # Primary app class
├── Connections/ # Database connections (optional)
├── Models/ # Data models (optional)
├── Services/ # Business logic services (optional)
├── Program.cs # Application entry point
├── GlobalUsings.cs # Global using statements
├── YourExample.csproj # Project file
├── YourExample.sln # Solution file (optional)
├── Dockerfile # Docker configuration
└── README.md # Example documentation-
Navigate to the example:
cd your-example-name -
Restore dependencies:
dotnet restore
-
Run the application:
dotnet watch
-
Open your browser to the URL shown in the terminal
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
WORKDIR /app
EXPOSE 5010
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
COPY ["YourExample.csproj", "./"]
RUN dotnet restore "YourExample.csproj"
COPY . .
RUN dotnet build "YourExample.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "YourExample.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "YourExample.dll"]- Functional: Example must run without errors
- Educational: Code should be clear and well-commented
- Practical: Demonstrate real-world usage patterns
- Complete: Include all necessary files and documentation
- Tested: Verify the example works as expected
When choosing packages to showcase:
- Popular and actively maintained
- Well-documented with clear APIs
- Useful for business applications
- Compatible with .NET 10.0+
- Avoid experimental or unstable packages
- Avoid packages with licensing issues
- Test your example thoroughly
- Run the application and verify all features work
- Check for errors and warnings
- Review your code for clarity and best practices
- Update documentation as needed
- Example runs without errors
- README.md is complete and accurate
- Code follows C# conventions
- All files are included
- Dockerfile works correctly
- No sensitive information is committed
- Use a descriptive title:
Add [Package Name] exampleorFix issue in [Example Name] - Provide a clear description of what your contribution does
- Reference any related issues
- Include screenshots if your example has a visual component
When reporting bugs, include:
- Example name and version
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Environment details (OS, .NET version, etc.)
- Error messages or logs
For new example suggestions:
- Package name and purpose
- Use case description
- Why it would be valuable to the community
- Relevant links to package documentation
- Discord: Join our community
- GitHub Discussions: Ask questions and share ideas
- Documentation: docs.ivy.app
New contributors are welcome! If you're new to:
- Ivy Framework: Check out the
helloworldexample first - Open Source: We're happy to guide you through your first contribution
- .NET Development: Our community can help you learn
All contributors are recognized in our:
- GitHub contributors list
- Release notes for significant contributions
- Community highlights
Active contributors may be invited to become maintainers with:
- Code review privileges
- Direct commit access
- Involvement in project decisions
By contributing to Ivy Examples, you agree that your contributions will be licensed under the MIT License.
Your contributions make Ivy Examples better for everyone. Whether you're fixing a typo, adding a new example, or improving documentation, every contribution matters!