# RazorConsole > Build C# terminal UIs with reusable Razor components, built-in mouse and keyboard events, and experimental NativeAOT support. [Spectre.Console](https://spectreconsole.net) is part of the rendering foundation. ## Documentation Guides - [Quick Start](https://razorconsole.com/raw/docs/quick-start.md) - [Built-in Components](https://razorconsole.com/raw/docs/built-in-components.md) - [Widget Layout](https://razorconsole.com/raw/docs/widget-layout.md) - [Alternate Screen Buffer](https://razorconsole.com/raw/docs/alternate-screen-buffer.md) - [Hot Reload](https://razorconsole.com/raw/docs/hot-reload.md) - [Routing](https://razorconsole.com/raw/docs/cli-routing.md) - [Native Ahead-of-Time Compilation](https://razorconsole.com/raw/docs/native-aot.md) - [Custom Translators](https://razorconsole.com/raw/docs/custom-translators.md) - [Absolute Positioning & Z-Index](https://razorconsole.com/raw/docs/zindex.md) - [Keyboard Events](https://razorconsole.com/raw/docs/keyboard-events.md) - [Focus Management](https://razorconsole.com/raw/docs/focus-management.md) - [VDom Tree Debugging](https://razorconsole.com/raw/docs/vdom-debugging.md) - [Component Gallery](https://razorconsole.com/raw/docs/component-gallery.md) - [Choosing a .NET terminal UI library](https://razorconsole.com/raw/docs/choosing-dotnet-tui.md) - [what's new in RazorConsole 0.6.0](https://razorconsole.com/raw/docs/whats-new-in-razorconsole-0-6-0.md) ## Tutorial - [Chapter 1: Hello World](https://razorconsole.com/raw/tutorial/hello-world.md): Build and run your first RazorConsole component. - [Chapter 2: State and Events](https://razorconsole.com/raw/tutorial/state-and-events.md): Update component state from terminal control callbacks. - [Chapter 3: Text Input and Focus](https://razorconsole.com/raw/tutorial/text-input-and-focus.md): Bind terminal input and manage keyboard focus. - [Chapter 4: Mouse Events](https://razorconsole.com/raw/tutorial/mouse-events.md): Subscribe to hover, click, wheel, and drag events. - [Chapter 5: Widget Layout and Resize](https://razorconsole.com/raw/tutorial/widget-layout-and-resize.md): Compose terminal-cell layouts that respond to resizing. - [Chapter 6: Routing and Multi-page Apps](https://razorconsole.com/raw/tutorial/routing.md): Build routed terminal pages with NavigationManager. - [Chapter 7: Async Work, Loading, and Errors](https://razorconsole.com/raw/tutorial/async-work.md): Render loading, success, failure, and cancellation states. - [Chapter 8: Complete Interactive App](https://razorconsole.com/raw/tutorial/complete-app.md): Combine the course concepts in a small task board. ## Components API - [Align](https://razorconsole.com/raw/components/align.md): Wraps child content in an alignment container. - [Border](https://razorconsole.com/raw/components/border.md): Creates a bordered panel around its children. - [BarChart](https://razorconsole.com/raw/components/barchart.md): Renders a horizontal bar chart with optional label, colors and value display. - [BreakdownChart](https://razorconsole.com/raw/components/breakdownchart.md): Displays a breakdown chart showing proportional data. - [Columns](https://razorconsole.com/raw/components/columns.md): Arranges children in columns. - [Figlet](https://razorconsole.com/raw/components/figlet.md): Renders ASCII art text. - [Grid](https://razorconsole.com/raw/components/grid.md): Arranges children in a grid layout. - [ModalWindow](https://razorconsole.com/raw/components/modalwindow.md): Renders a modal in a dialog. - [Markdown](https://razorconsole.com/raw/components/markdown.md): Renders markdown content. - [Markup](https://razorconsole.com/raw/components/markup.md): Renders styled text with markup. - [Padder](https://razorconsole.com/raw/components/padder.md): Adds padding around its children. - [Panel](https://razorconsole.com/raw/components/panel.md): Creates a bordered panel with optional title. - [Rows](https://razorconsole.com/raw/components/rows.md): Arranges children in rows. - [Scrollable](https://razorconsole.com/raw/components/scrollable.md): Provides scrollable content area. - [ViewHeightScrollable](https://razorconsole.com/raw/components/viewheightscrollable.md): Provides scrollable content area that scrolls through physical lines of any content. Has all functionalities of default Scrollable. - [Select](https://razorconsole.com/raw/components/select.md): Interactive dropdown for choosing a value with keyboard navigation. - [StepChart](https://razorconsole.com/raw/components/stepchart.md): Renders a terminal step chart using Unicode box-drawing characters. Perfect for displaying discrete value changes over time or categories. - [SyntaxHighlighter](https://razorconsole.com/raw/components/syntaxhighlighter.md): Renders highlighted code blocks with SyntaxHighlightingService. - [Spinner](https://razorconsole.com/raw/components/spinner.md): Shows a Spectre spinner with optional message. - [SpectreCanvas](https://razorconsole.com/raw/components/spectrecanvas.md): Renders an array of pixels with different colors. - [Newline](https://razorconsole.com/raw/components/newline.md): Emits a single line break. No parameters. - [Table](https://razorconsole.com/raw/components/table.md): Renders a data table. - [TextInput](https://razorconsole.com/raw/components/textinput.md): Single-line text input field. - [TextButton](https://razorconsole.com/raw/components/textbutton.md): Interactive button component. - [FlexBox](https://razorconsole.com/raw/components/flexbox.md): Lays out children using a CSS-like flexbox model with configurable direction, justification, alignment, wrapping, and gap.