From f10bdfa907cf93e577d6539a9bb1ec8120fc557d Mon Sep 17 00:00:00 2001 From: Joey Nguyen Date: Fri, 20 Dec 2024 22:47:54 -0600 Subject: [PATCH 1/5] docs: update README with overview and instructions --- README.md | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26c3683..248e26e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,132 @@ # 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. +- **Device Management**: Connect to your keyboard via USB or Bluetooth and manage its settings. +- **Firmware Updates**: Flash new firmware to your device directly from the application. +- **Real-time Feedback**: Receive real-time notifications and feedback from your device. + +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 14 or later) +- [npm](https://www.npmjs.com/) (version 6 or later) +- [Rust](https://www.rust-lang.org/tools/install) (for building Tauri applications) +- [Tauri CLI](https://tauri.app/v1/guides/getting-started/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! From caed589502b9bab1f64c70c799745cc851e2f4ae Mon Sep 17 00:00:00 2001 From: Joey Nguyen Date: Sun, 22 Dec 2024 02:23:55 -0600 Subject: [PATCH 2/5] update recommended Node.js and NPM to latest LTS --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 248e26e..1c3625c 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ To contribute to ZMK Studio, follow these steps: Ensure you have the following installed on your system: -- [Node.js](https://nodejs.org/) (version 14 or later) -- [npm](https://www.npmjs.com/) (version 6 or later) +- [Node.js](https://nodejs.org/) (version 22 or later) +- [npm](https://www.npmjs.com/) (version 10 or later) - [Rust](https://www.rust-lang.org/tools/install) (for building Tauri applications) - [Tauri CLI](https://tauri.app/v1/guides/getting-started/prerequisites/) From 1ff1c513b2bfc20e6dff1cdebaa785fabc76d8ae Mon Sep 17 00:00:00 2001 From: Joey Nguyen Date: Sun, 22 Dec 2024 03:34:41 -0600 Subject: [PATCH 3/5] use preferred syntax for passing npm arguments --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1c3625c..11c3f56 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ For Tauri-specific commands, you can use: 1. **Run Tauri development server**: ```sh - npm run tauri dev + npm run tauri -- dev ``` This will start the Tauri development server for building and testing the desktop application. @@ -104,7 +104,7 @@ For Tauri-specific commands, you can use: 2. **Build Tauri application**: ```sh - npm run tauri build + npm run tauri -- build ``` This will build the Tauri desktop application for production. From 32c8fa465212453b1d1cef7991ed4f10d12e20a1 Mon Sep 17 00:00:00 2001 From: Joey Nguyen Date: Mon, 23 Dec 2024 17:48:47 -0600 Subject: [PATCH 4/5] update Prerequisites section based on PR feedback --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 11c3f56..340c215 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,7 @@ To contribute to ZMK Studio, follow these steps: Ensure you have the following installed on your system: - [Node.js](https://nodejs.org/) (version 22 or later) -- [npm](https://www.npmjs.com/) (version 10 or later) -- [Rust](https://www.rust-lang.org/tools/install) (for building Tauri applications) -- [Tauri CLI](https://tauri.app/v1/guides/getting-started/prerequisites/) +- [Tauri CLI](https://v2.tauri.app/start/prerequisites/) ### Setup From 9f00958a754e6c5af98b98ccca50e66e49bce24c Mon Sep 17 00:00:00 2001 From: Joey Nguyen Date: Mon, 23 Dec 2024 17:49:40 -0600 Subject: [PATCH 5/5] remove LLM-hallucinated features from Overview section --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 340c215..9716eae 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,6 @@ ZMK Studio is a powerful and user-friendly graphical interface for configuring a ZMK Studio offers a range of capabilities to enhance the user experience: - **Graphical Keymap Editor**: Easily create and modify keymaps with a visual editor. -- **Device Management**: Connect to your keyboard via USB or Bluetooth and manage its settings. -- **Firmware Updates**: Flash new firmware to your device directly from the application. -- **Real-time Feedback**: Receive real-time notifications and feedback from your device. 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).