Cảm ơn bạn quan tâm đến VnKey! Dưới đây là hướng dẫn để đóng góp cho dự án.
Mở issue mới với các thông tin:
- Hệ điều hành và phiên bản (Windows 11, macOS 15, Ubuntu 24.04, …)
- Phiên bản VnKey
- Kiểu gõ đang dùng (Telex, VNI, …)
- Các bước để tái hiện lỗi
- Kết quả mong đợi vs kết quả thực tế
Mở issue mới mô tả tính năng bạn muốn và lý do.
- Fork repo và tạo branch từ
master - Đặt tên branch rõ ràng:
fix/ten-loihoặcfeat/tinh-nang-moi - Đảm bảo code biên dịch thành công và test pass:
cd vnkey-engine && cargo test
- Mỗi PR nên tập trung vào một vấn đề duy nhất
- Viết commit message rõ ràng theo format:
fix: mô tả ngắn gọn feat: mô tả ngắn gọn
vnkey-engine/ Rust Core engine + C FFI (staticlib)
vnkey-windows/ Rust Ứng dụng Windows (Win32 + WebView2)
vnkey-macos/ Obj-C Input method cho macOS (IMKit)
vnkey-fcitx5/ C++ Fcitx5 addon cho Linux
vnkey-ibus/ C IBus engine cho Linux
- vnkey-engine là thư viện dùng chung, export qua C FFI. Thay đổi engine ảnh hưởng tất cả nền tảng.
- Mỗi platform module build riêng, link với
libvnkey_engine.a.
- Rust toolchain (stable)
- CMake ≥ 3.16 (cho Linux builds)
cd vnkey-windows
cargo build --releasecd vnkey-engine && cargo build --release && cd ..
cd vnkey-fcitx5 && bash scripts/build.sh packagecd vnkey-engine && cargo build --release && cd ..
cd vnkey-ibus && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)cd vnkey-macos && ./build.sh installDự án tuân theo Quy tắc ứng xử. Bằng việc đóng góp, bạn đồng ý tuân thủ quy tắc này.
VnKey sử dụng GPL-3.0. Mọi đóng góp đều được phát hành theo giấy phép này.