# Quickstart

- Human documentation: [https://docs.univer.ai/guides/bases/getting-started/quickstart](https://docs.univer.ai/guides/bases/getting-started/quickstart)

- Agent Markdown: [https://docs.univer.ai/guides/bases/getting-started/quickstart.md](https://docs.univer.ai/guides/bases/getting-started/quickstart.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [bases/getting-started/quickstart.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/bases/getting-started/quickstart.mdx)

---

Before installing Univer Bases, learn the four concepts that appear throughout its API and documentation. They describe how a Base is assembled, stored, changed, and controlled.

## Basic Concepts

### Plugins

Univer features are delivered as plugins. `@univerjs-pro/bases` provides the Base model, commands, and `UniverBasesPlugin`; `@univerjs-pro/bases-ui` provides the standalone workbench and `UniverBasesUIPlugin`. The model plugin also uses the formula engine so formula fields can participate in the Base calculation pipeline.

Register only the product plugins your application needs. The [installation guide](https://docs.univer.ai/guides/bases/getting-started/installation.md) lists the complete browser setup and its technical dependencies.

### Snapshot and data model

`IBaseSnapshot` is the persistence format for one Base unit. It contains tables and their order; each table contains fields, records, views, and the order for each collection. Views are projections over the same records, so switching a view does not create another copy of the data.

Use a snapshot to create, save, or restore a Base. After the unit is running, do not mutate the snapshot object directly. Read [Base Snapshot](https://docs.univer.ai/guides/bases/model/base-snapshot.md) and [Tables, Fields, and Records](https://docs.univer.ai/guides/bases/model/tables-fields-records.md) for the schema.

### Command

Runtime changes go through commands. Creating a table, updating a field, editing a record, or changing a view through the command or Facade layer keeps the model, UI, undo/redo, and collaboration paths consistent.

Prefer Facade APIs for application code. Use command IDs directly only when you need a lower-level integration that the Facade does not expose.

### Facade API

Facade API wraps the Base command and model layers with objects such as a Base, table, field, record, and view. Import `@univerjs-pro/bases/facade` for model operations and `@univerjs-pro/bases-ui/facade` for UI state, then create the API with `FUniver.newAPI(univer)` after registering plugins.

Continue with [Installation & Basic Usage](https://docs.univer.ai/guides/bases/getting-started/installation.md), then use the [Bases Facade API guide](https://docs.univer.ai/guides/bases/getting-started/facade.md) to create and edit Base data.
