Contributing to SharpConsoleUI

July 8, 2026 · View on GitHub

Want to contribute to the framework — not just build apps with it? This is your starting point. These tutorials walk you through building real, mergeable additions end to end, so you can go from "I have never seen this codebase" to an open pull request without a multi-day reverse-engineering detour.

If you are here to build an application, you want the app tutorials instead.

Areas open for contribution

Everything below is additive only — no breaking changes (see CONTRIBUTING.md). SharpConsoleUI has real NuGet users, so we add new APIs rather than change existing ones. Within that rule, PRs are welcome — no need to ask first.

🟢 Dive right in

  • New controls — especially composites (arrange existing controls). The biggest, safest surface.
  • Themes — a new theme is essentially a palette; low risk, immediate visual payoff.
  • Builders — a new control needs a Controls.<Name>() builder.
  • Docs, examples, and DemoApp pages — great first PRs.

🟡 Welcome — just stay strictly additive (these touch behavior other apps rely on, so add new variants; never change existing ones)

  • Dialogs & flows — a new dialog primitive or flow step alongside the existing ones.
  • Syntax highlighters — a new language highlighter.
  • Markup tags / parsing extensions — a new inline tag.

Pick a tutorial

TutorialYou'll buildBest if…
1. Composite ControlsA control that arranges existing controlsYou want the safest first contribution — you can't break the render engine.
2. Adding a ControlBadgeControl — a primitive from scratchYou want to learn the real machinery: layout, the reactive property contract, color roles.
3. DialogsDialogs.PickAsync<T> — a new modalYou want to extend the dialog system additively.

New to the internals? Start with Composite Controls — it's the lowest-risk path.

Reference material

These tutorials link out to the deeper reference docs where you need them:


Back to Tutorials