Trợ thủ port code sang Rust
Hướng dẫn chuyển code C/C++, Python, Go, JS/TS sang Rust đúng chuẩn mà vẫn giữ nguyên hành vi gốc.
Lập trìnhTrung cấp★ 1,618⑂ 82Điểm AI 9/10Cập nhật lần cuối: 30 thg 10, 2026
Giúp được gì
- Buộc liệt kê hành vi quan sát được của code gốc trước khi viết: đầu vào/đầu ra, các cách thất bại, thứ tự kết quả, input rỗng, giới hạn số nguyên.
- Port test trước, mỗi test gốc tương ứng một test Rust, làm chuẩn cho "cùng hành vi".
- Bảng ánh xạ theo từng ngôn ngữ:
NULL→Option, mã lỗi/exception→Result+ enum lỗi, bitmask→struct tùy chọn, chuỗi ma thuật→enum, Go(value, error)→Result, goroutine→thread/mpsc. - Giữ bản port "vừa đủ": không viết lại runtime của ngôn ngữ gốc, không phình API công khai, kiểm tra kích thước code (C/C++ xấp xỉ gốc, Python/JS gấp 2–3 lần).
- Kiểm chứng bằng
cargo build / test / clippy -D warningsvà viếtPORTING.mdghi rõ ánh xạ API, ánh xạ test, khác biệt cố ý.
Phù hợp với ai
- Lập trình viên cần chuyển module C/C++ hoặc script Python sang Rust.
- Người đang học Rust, muốn biết "code này viết bằng Rust sẽ thế nào".
- Team lead cần review bản port (có sẵn file PORTING.md để soát nhanh).
Ví dụ sử dụng
- "Viết lại trình parse C này bằng Rust" → mã lỗi và out-parameter thành
Result<T, ParseError>, buffer cố định thànhString/Vec. - "Chuyển module tiện ích Python này sang Rust" → cây exception gộp thành một enum lỗi, chỗ phụ thuộc thứ tự
dictdùngVec/map có thứ tự, kèm test tương ứng. - "Worker Go này sang Rust trông ra sao?" → interface thành trait, channel thành
std::sync::mpsc, khác biệt ghi vàoPORTING.md.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/morganlinton/BeautifulRust/HEAD/skills/rust-port/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên AI Skill Mart. Copy thư mục skills/rust-port từ repo GitHub morganlinton/BeautifulRust vào ~/.claude/skills/rust-port/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/morganlinton/BeautifulRust.git /tmp/BeautifulRust && mkdir -p ~/.claude/skills && cp -r /tmp/BeautifulRust/skills/rust-port ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal.
- Tải repo:
git clone https://github.com/morganlinton/BeautifulRust.git - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Sao chép skill:
cp -r BeautifulRust/skills/rust-port ~/.claude/skills/ - (Nên làm) Sao chép thêm skill
rust-best-practicestrong cùng repo để chuẩn hóa style code. - Nếu chưa có Rust, cài tại https://rustup.rs (bước kiểm chứng cần
cargo). - Khởi động lại Claude Code rồi yêu cầu "port file này sang Rust" — skill sẽ tự kích hoạt.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT