Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update README with overview and instructions #114

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 125 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,127 @@
# ZMK Studio

Initial work on the ZMK Studio UI.
ZMK Studio is a powerful and user-friendly graphical interface for configuring and managing ZMK firmware for custom keyboards. It provides a seamless experience for users to customize their keyboard layouts, manage key bindings, and interact with their devices.

## Overview

ZMK Studio offers a range of capabilities to enhance the user experience:

- **Graphical Keymap Editor**: Easily create and modify keymaps with a visual editor.

For more detailed information on the features and capabilities of ZMK Studio, please visit the [ZMK Studio Documentation](https://zmk.dev/docs/features/studio#capabilities).

## Getting Started

To contribute to ZMK Studio, follow these steps:

### Prerequisites

Ensure you have the following installed on your system:

- [Node.js](https://nodejs.org/) (version 22 or later)
- [Tauri CLI](https://v2.tauri.app/start/prerequisites/)

### Setup

1. **Clone the repository**:

```sh
git clone https://github.com/zmkfirmware/zmk-studio.git
cd zmk-studio
```

2. **Install dependencies**:

```sh
npm install
```

3. **Run the development server**:

```sh
npm run dev
```

This will start the Vite development server and open the application in your default web browser.

### Building the Project

To build the project for production, run:

```sh
npm run build
```

This will compile the TypeScript code and bundle the application using Vite.

### Running Storybook

To develop and test UI components in isolation, you can use Storybook:

1. **Start Storybook**:

```sh
npm run storybook
```

This will start the Storybook server and open it in your default web browser.

2. **Build Storybook**:

```sh
npm run build-storybook
```

This will build the Storybook static site for deployment.

### Linting

To ensure code quality and consistency, you can run the linter:

```sh
npm run lint
```

This will run ESLint on the codebase and report any issues.

### Tauri Commands

For Tauri-specific commands, you can use:

1. **Run Tauri development server**:

```sh
npm run tauri -- dev
```

This will start the Tauri development server for building and testing the desktop application.

2. **Build Tauri application**:

```sh
npm run tauri -- build
```

This will build the Tauri desktop application for production.

## Contributing

We welcome contributions from the community! To contribute, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Make your changes and commit them with a descriptive message.
4. Push your changes to your fork.
5. Open a pull request to the main repository.

Please ensure your code adheres to the project's coding standards and passes all tests before submitting a pull request.

## License

This project is licensed under the Apache-2.0 License. See the `LICENSE` file for more details.

## Contact

For any questions or support, please open an issue on the [GitHub repository](https://github.com/zmkfirmware/zmk-studio/issues).

Happy coding!