Charming Documentation

Use this index to navigate the Charming docs by what you are trying to do.

Reading Paths

New users:

  1. Getting Started
  2. Core Concepts
  3. Layouts
  4. Example App: Journal

App builders:

  1. Routing
  2. Controllers & Views
  3. State
  4. Database
  5. Logging

UI builders:

  1. Layouts
  2. Components
  3. Themes

Maintainers:

  1. Logging
  2. API Reference
  3. Testing

Guides

Guide Purpose
Getting Started Build and run a generated Charming app.
Core Concepts App architecture, runtime flow, ephemeral controllers, and state.
Routing root, screen, dynamic params, route titles, and route order.
Controllers & Views Actions, render :show, render_template, key bindings, commands, timers, and tasks.
Layouts Template layouts, yield_content, split panes, overlays, responsive layouts, and styles.
State ApplicationState, typed attributes, validations, and session-backed state.
Database Environments, Active Record models, migrations, and the full db command suite.
Components Built-in components, custom components, text capture, and interaction return values.
Themes Theme registration, derived themes, color capability, and runtime switching.
Logging Application and controller logging without corrupting TUI output.
API Reference Compact public API reference.
Testing TestHelper, journey specs, and controller/component/runtime tests.
Example App: Journal A complete demo app exercising every framework feature.

These docs contain detailed explanations and examples for Charming.


Table of contents


This site uses Just the Docs, a documentation theme for Jekyll.