Rewrite project from Python to Rust and add Windows/MacOS supports

This commit is contained in:
2026-02-17 18:15:08 +08:00
parent ff69e50127
commit 211438a4e8
45 changed files with 2828 additions and 726 deletions

View File

@@ -4,41 +4,43 @@
## Требования
- Обязательно использовать форматирование `ruff`.
- Обязательно использовать аннотации типов и проверять их через `ty`.
- Использовать Rust stable.
- Перед PR код должен проходить форматирование, линт и сборку.
## Быстрый старт(GNU/Linux)
## Быстрый старт
Создайте линковку ./PATH_TO_PROJECT/dcr и ~/.local/bin/dcr
После этого, вы можете использовать команду dcr где угодно
```bash
git clone https://github.com/dexoron/dcr.git
cd dcr
cargo check
```
## Стиль кода
- Форматируйте код через `ruff`.
- Форматируйте код через `cargo fmt`.
- Проверяйте предупреждения через `cargo clippy`.
- Держите функции небольшими и сфокусированными.
- Предпочитайте понятные имена вместо "хитрых".
## Типизация
- Добавляйте аннотации типов для нового и изменяемого кода.
- Запускайте `ty` для проверки корректности типов.
## Проверки
Для запуска всех проверок используйте скрипт проекта:
Перед PR запускайте:
```bash
./check.sh
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo check
```
> Скрипт можно запустить из любой папки, указав путь до него: `../check.sh` (или больше `../`, если нужно).
## CI/CD и релизы
## Запуск инструментов напрямую
```bash
ruff check src
uvx ty check src
```
- CI: `.github/workflows/ci.yml`
- Release: `.github/workflows/release.yml`
- Релиз запускается по тегу `v*` и публикует бинарники для:
- `x86_64-unknown-linux-gnu`
- `x86_64-apple-darwin`
- `aarch64-apple-darwin`
- `x86_64-pc-windows-msvc`
## Коммиты и PR
@@ -48,7 +50,7 @@ uvx ty check src
## Вопросы
Если что-то непонятно, откройте issue или задайте вопрос в PR.
Если что-то непонятно, открой issue или задайте вопрос в PR.
Также можно задать вопрос напрямую:
- TG: @dexoron