Contributing

Thank you for your interest in contributing to UmbNav! This guide will help you get started.

Code of Conduct

Please be respectful and constructive in all interactions. We welcome contributors of all experience levels.

Ways to Contribute

Report Bugs

Found a bug? Open an issuearrow-up-right with:

  • UmbNav version

  • Umbraco version

  • .NET version

  • Steps to reproduce

  • Expected vs actual behavior

  • Screenshots if applicable

Suggest Features

Have an idea? Open a feature requestarrow-up-right describing:

  • The problem you're trying to solve

  • Your proposed solution

  • Any alternatives you've considered

Submit Code

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request

Development Setup

Prerequisites

  • .NET 10 SDK

  • Node.js 23+

  • Visual Studio 2022 or VS Code

  • SQL Server (LocalDB or full)

Clone and Build

Running the Test Site

Navigate to https://localhost:44302 and complete Umbraco installation.

Frontend Development

Running Tests

Project Structure

Coding Standards

C# Guidelines

TypeScript Guidelines

  • Use TypeScript strict mode

  • Export types and interfaces

  • Use Lit decorators for components

  • Follow Umbraco backoffice patterns

Git Commit Messages

Use clear, descriptive commit messages:

Prefixes:

  • feat: New feature

  • fix: Bug fix

  • docs: Documentation

  • refactor: Code refactoring

  • test: Tests

  • chore: Build/tooling

Pull Request Process

  1. Create a branch from develop:

  2. Make changes and commit with clear messages

  3. Push and create PR:

  4. Fill out PR template with:

    • Description of changes

    • Related issues

    • Testing performed

    • Screenshots if UI changes

  5. Address review feedback promptly

  6. Merge after approval (maintainers will merge)

Testing Requirements

Unit Tests

Add tests for new C# code:

E2E Tests

Add Playwright tests for UI changes:

Documentation

Update documentation for:

  • New features

  • API changes

  • Configuration options

  • Breaking changes

Documentation lives in the Docs/ folder and uses Markdown format.

Release Process

Releases are handled by maintainers:

  1. Merge to develop for pre-release testing

  2. Create release branch when ready

  3. Update version numbers

  4. Merge to main for release

  5. GitHub Actions publishes to NuGet

Getting Help

License

By contributing, you agree that your contributions will be licensed under the MIT License.

Maintainers

Thank you for contributing to UmbNav!

Last updated

Was this helpful?