# Kanvas
### KanvasOS
Monorepo with all the kanvas library and examples
- **packages**
- **kanvas-client**
typescript library of the core functionalities of kavans
- **kanvas-hooks**
hook library for react based kanvas stores, it provide a simple wallet provider, a set of connectors (kukai-embend and beacon), a set of activable payment provider integrations, and a set custom hooks based on SWR which use kanvas client function as fetcher and manage all the server-cache related states of the store optimizing performance.
- **kanvas-ui**
themeable component/pattern library for react kanvas stores, it contains a set of unstyled components and an extemble base theme. Patterns manage UI related states allowing the consumer of the library to compose high-level feature without handling ui-state in the kanvas instance.
- **examples**
Each folder is a forkable starter which use the kanvas libraries in a next.js setup for common use case (multilanguage, custom theme, cms integrations...)
- **base**
- **custom theme**
- **i18n**
- ...
---
### Development process of a Kanvas instance
- Fork an example from KanvasOS
- Hight level composition of feature an Information Architecture
- Local theme customization
- Distribute updates through npm releasing new versions of he libraries
In case the instance needs to new integration eg. CMS or payment providers this part of the work should be done in the kanvasOS repo (libraries or examples) to allow the reusability of the code.
---
### Current State
From 15/7 we started the migration of the code of sowvital in the above described architecture.
Since the APIs of these libraries are not fully defined, and still changing quite often, we are working in the MU repository to avoid the publishing pipeline. By developing the theme API in parallel to the MU theme, it allows us to ensure enough flexibility for a real use-case.