# Tally - [Introduction](https://tally.outhebox.dev/docs/index.md): The data grid with a query language, saved views and a backend protocol. - [Installation](https://tally.outhebox.dev/docs/installation.md): Install Tally for React, import the styles and set up fonts. - [Your first grid](https://tally.outhebox.dev/docs/first-grid.md): Render a typed, filterable grid from an array of rows. - [Data sources](https://tally.outhebox.dev/docs/data-sources.md): Where rows come from: an array, an HTTP server or an adapter, and when to use each. - [Schema and columns](https://tally.outhebox.dev/docs/concepts/schema-and-columns.md): How a schema describes rows, keys and columns. - [Column types](https://tally.outhebox.dev/docs/concepts/column-types.md): The fourteen built-in types, what each one parses, formats and supports. - [Views](https://tally.outhebox.dev/docs/concepts/views.md): The serializable state of a grid: filter, sort, group, columns, density and more. - [Query language](https://tally.outhebox.dev/docs/concepts/query-language.md): Filters, sorts and groups written as text, parsed against the schema into a typed AST. - [Data sources and protocol](https://tally.outhebox.dev/docs/concepts/data-sources-and-protocol.md): The DataSource contract, capabilities, and the Tally Query Protocol on the wire. - [Mutations and undo](https://tally.outhebox.dev/docs/concepts/mutations-and-undo.md): Every edit is a labelled mutation that applies optimistically, syncs to the source and undoes. - [Selection and keyboard](https://tally.outhebox.dev/docs/concepts/selection-and-keyboard.md): Pure reducers for cell ranges and row selection, and the intents keys turn into. - [Filtering](https://tally.outhebox.dev/docs/guides/filtering.md): Filter rows from the filter bar, from code, or with flags your app defines. - [Sorting](https://tally.outhebox.dev/docs/guides/sorting.md): Sort by one or more columns from the header, the column menu or code. - [Grouping and aggregates](https://tally.outhebox.dev/docs/guides/grouping-and-aggregates.md): Group rows by a column, bucket dates, and summarize columns in the footer and group rows. - [Facets](https://tally.outhebox.dev/docs/guides/facets.md): Value counts and histograms per column, used by suggestions, chips and the column menu. - [Pagination](https://tally.outhebox.dev/docs/guides/pagination.md): Load rows by page with offsets, or as the user scrolls with cursors. - [Pinning and column layout](https://tally.outhebox.dev/docs/guides/pinning-and-column-layout.md): Pin columns and rows, set widths, fill spare width, reorder, hide and band columns. - [Editing and validation](https://tally.outhebox.dev/docs/guides/editing-and-validation.md): Edit cells, paste, fill and add rows, and reject invalid values in the client or the source. - [Cards and detail sheet](https://tally.outhebox.dev/docs/guides/cards-and-detail-sheet.md): How the grid turns into cards on narrow screens, and the sheet a tapped card opens. - [Live updates](https://tally.outhebox.dev/docs/guides/live-updates.md): Push changed rows into a loaded grid with row patches. - [CSV import and export](https://tally.outhebox.dev/docs/guides/csv-import-and-export.md): Export the rows of a view to CSV, import CSV into a grid, and build a schema from a file. - [URL state](https://tally.outhebox.dev/docs/guides/url-state.md): Keep the view in the query string so filters, sorts and layouts survive reloads and links. - [Theming](https://tally.outhebox.dev/docs/guides/theming.md): Colors, type, sizes and state styling of the React component through CSS custom properties. - [Labels and localization](https://tally.outhebox.dev/docs/guides/labels-and-localization.md): Translate every string of the React component and format values for a locale, time zone and numbering system. - [Right to left](https://tally.outhebox.dev/docs/guides/rtl.md): Run the grid right to left: direction, pinning, keys, resizing, menus and digits. - [Accessibility](https://tally.outhebox.dev/docs/guides/accessibility.md): Grid roles, keyboard access, live announcements, focus and reduced motion in tally-react. - [Performance](https://tally.outhebox.dev/docs/guides/performance.md): What Tally renders, where queries run, and the latency budgets the benchmarks enforce. - [Custom column types](https://tally.outhebox.dev/docs/guides/custom-column-types.md): Write a column type from scratch, register it, and use it on the client and the server. - [Custom renderers and editors](https://tally.outhebox.dev/docs/guides/custom-renderers-and-editors.md): Change how cells are drawn and edited, by column type name or kind. - [Intents](https://tally.outhebox.dev/docs/guides/intents.md): Every intent a key press becomes, what the grid does with it, and how to take it over. - [React](https://tally.outhebox.dev/docs/frameworks/react.md): The Tally component, its props, the hooks and the stylesheet. - [Vue](https://tally.outhebox.dev/docs/frameworks/vue.md): Composables that bind a Tally grid to a Vue component and expose its state as refs. - [Svelte](https://tally.outhebox.dev/docs/frameworks/svelte.md): Svelte 5 runes and stores that bind a Tally grid to a component. - [Solid](https://tally.outhebox.dev/docs/frameworks/solid.md): Solid primitives that bind a Tally grid to a reactive scope and expose its state as signals. - [Tally Query Protocol](https://tally.outhebox.dev/docs/backends/protocol.md): The four HTTP routes a Tally backend serves, their bodies, the error body and the event stream. - [Node](https://tally.outhebox.dev/docs/backends/node.md): Serve the Tally Query Protocol from SQLite, Postgres or MySQL with tally-server. - [Laravel](https://tally.outhebox.dev/docs/backends/laravel.md): Serve the Tally Query Protocol from Eloquent and the query builder with tally/laravel. - [Adapters](https://tally.outhebox.dev/docs/backends/adapters.md): Client data sources for HTTP, TanStack Query, TanStack DB and Supabase, and how to write your own. - [Ask](https://tally.outhebox.dev/docs/ai/ask.md): Turn a question in plain words into a validated Tally query. - [AI columns](https://tally.outhebox.dev/docs/ai/ai-columns.md): Columns a model fills per row, in batches, delivered as live patches. - [MCP server](https://tally.outhebox.dev/docs/ai/mcp-server.md): Teach your coding agent Tally: guides, extension points and query tools over MCP. - [Query language reference](https://tally.outhebox.dev/docs/reference/query-language.md): Every column type, operator and directive the parser accepts, with examples parsed by tally-core. - [JSON Schema](https://tally.outhebox.dev/docs/reference/json-schema.md): The JSON Schema documents generated from the tally-protocol wire schemas. - [Extension points](https://tally.outhebox.dev/docs/reference/extension-points.md): Where each change goes: the package, the API and an example per extension point. - [Packages](https://tally.outhebox.dev/docs/reference/packages.md): Every Tally package, what it does and how to install it. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.