# Amharic Virtual Keyboard Monorepo
This monorepo contains multiple implementations of an Amharic virtual keyboard, designed to provide a consistent and easy-to-use input method for Amharic script across different web technologies.
## Project Structure
The project is organized into applications and shared packages using Turborepo.
### Apps
* **apps/svelte**: A Svelte component implementation of the virtual keyboard.
* **apps/react**: A React component implementation.
* **apps/html**: A vanilla HTML/JavaScript implementation for use in non-framework environments.
### Packages
* **packages/core**: The core logic, keyboard layouts, and state management shared across all implementations.
* **packages/eslint-config**: Shared ESLint configurations.
* **packages/typescript-config**: Shared TypeScript configurations.
## Getting Started
### Prerequisites
* Node.js (>= 18)
* pnpm (>= 9)
### Installation
Install dependencies from the root directory:
```bash
pnpm install
```
### Development
To start the development servers for all applications:
```bash
pnpm dev
```
### Build
To build all apps and packages:
```bash
pnpm build
```