# vize_musea
`vize_musea` is the Rust core for Musea art files, docs, palette generation, autogen, and VRT
support.
## Highlights
- Parse `*.art.vue` files into `ArtDescriptor`
- Read `defineArt(source, options)` compiler-macro metadata from root `<script setup>`
- Transform art files into Vue and Storybook-compatible outputs
- Generate Markdown docs, catalogs, and prop palettes
- Autogenerate art variants and VRT configuration data
## Art Authoring
The preferred `.art.vue` shape keeps metadata and the target component in `defineArt`:
```vue
<script setup lang="ts">
defineArt("./Button.vue", {
title: "Button",
category: "UI",
tags: ["button"],
});
</script>
<art>
<variant name="Primary" default>
<Button variant="primary">Click</Button>
</variant>
</art>
```
`<art title="..." component="...">` remains supported for compatibility. When both are present,
explicit `<art>` attributes override `defineArt` values.
## Key Entry Points
- `parse_art`
- `transform_to_csf`
- `transform_to_vue`
- `docs::{generate_component_doc, generate_catalog}`
- `palette::generate_palette`
- `autogen::generate_art_file`
## Notes
The gallery UI and dev-server integration live in the JavaScript package
`@vizejs/vite-plugin-musea`. This crate focuses on the Rust-side parsing and generation pipeline.
## Related Crates
- `vize_vitrine` exposes Musea functionality to Node.js and WASM
- `vize_patina` includes Musea-specific lint rules
- `@vizejs/musea-mcp-server` consumes Musea metadata for AI integrations
## License
MIT