# Choosing between Xuda Slim and Xuda CLI

The best way to choose is to ask who owns the source of truth.

## Choose Slim when

- the page is small or embedded
- HTML is the natural authoring surface
- the runtime tree is generated directly
- the team wants a lightweight entry point
- you are building docs, demos, or interactive marketing surfaces

## Choose Xuda CLI when

- you are building a full app from source files
- you want a canonical project shape
- logic units such as `get_data`, `set_data`, `batch`, `api`, and `alert` should live in dedicated folders
- tables, routes, and AI agents need explicit resources
- sync and generated runtime docs should be handled for you

## A practical migration path

Many teams can start in Slim and move to CLI later.

That path works well because:

- the runtime concepts stay the same
- field expressions still use `@field_name`
- programs still compile down to the Xuda document model
- structural tags and panels still matter

## A simple rule of thumb

- if the page feels like a document or embedded widget, start with Slim
- if the project feels like an application, start with CLI

## Related docs

- [Xuda Slim overview](./README.md)
- [Xuda CLI docs](/technical-docs/xuda-cli/)
- [Raw CLI README](/technical-docs/raw/xuda-cli/README.md)
