| Crates.io | llmwerewolf-rs |
| lib.rs | llmwerewolf-rs |
| version | 0.0.2 |
| created_at | 2025-10-19 17:40:43.670042+00 |
| updated_at | 2025-10-19 17:53:39.796822+00 |
| description | LLM Werewolf โ a Rust toolkit for building automated social deduction games. |
| homepage | https://github.com/Mai0313/LLMWereWolf-rs |
| repository | https://github.com/Mai0313/LLMWereWolf-rs |
| max_upload_size | |
| id | 1890707 |
| size | 161,251 |
๐ A Rust rewrite of LLM Werewolfโthe social deduction game powered by LLM agents. This repo hosts the core engine scaffold, release tooling, and multi-language package surfaces that the upcoming implementation will build upon.
Project languages: English | ็น้ซไธญๆ | ็ฎไฝไธญๆ
src/lib.rs, src/main.rs, tests/)Requirements:
Install Rust via rustup if you haven't already.
make fmt # rustfmt + clippy
make test # cargo test (all targets)
make test-verbose # cargo test (all targets with verbose output)
make coverage # generate LCOV coverage report
make build # cargo build (release mode)
make build-release # cargo build --release
make run # run the release binary
make clean # clean build artifacts and caches
make package # build crate package (allow dirty)
make help # list targets
The binary automatically displays dynamic version information including:
Cargo.toml version if no tags)Example output:
llmwerewolf-rs v0.1.25-2-gf4ae332-dirty
Built with Rust 1.90.0 and Cargo 1.90.0
This version information is embedded at build time through build.rs and automatically updated based on your git state.
docker build -f docker/Dockerfile --target prod -t ghcr.io/<owner>/<repo>:latest .
docker run --rm ghcr.io/<owner>/<repo>:latest
Or using the actual binary name:
docker build -f docker/Dockerfile --target prod -t llmwerewolf-rs:latest .
docker run --rm llmwerewolf-rs:latest
make package # build crate package (allow dirty)
# or use cargo directly:
cargo package --locked --allow-dirty
# CARGO_REGISTRY_TOKEN=... cargo publish
CI builds run automatically on tags matching v* and upload the .crate file. Uncomment the publish step in build_package.yml to automate crates.io releases.
Distribution identifiers:
llmwerewolf-rsllmwerewolf-rs (and scoped @mai0313/llmwerewolf-rs)llmwerewolf-rsThis setup does not ship cross-compile tooling by default. If you need cross or zig-based builds locally, install and configure them per your environment.
GitHub Actions build_release.yml builds multi-platform release binaries on tags matching v* and uploads them to the GitHub Release assets.
Targets:
Assets naming:
<bin>-v<version>-<target>.tar.gz (all platforms)<bin>-v<version>-<target>.zip (Windows additionally)test.yml): cargo build/test + generate LCOV coverage report and upload artifactcode-quality-check.yml): rustfmt check + clippy (deny warnings)build_package.yml): package on tag v*, optional crates.io publishbuild_image.yml): push to GHCR on main/master and tags v*build_release.yml): Linux release binaries uploaded on tags v*auto_labeler.yml): automatically label PRs based on branch names and file changescode_scan.yml): multi-layer security scanning (GitLeaks, Trufflehog secret scanning, CodeQL code analysis, Trivy vulnerability scanning)release_drafter.yml): auto-generate release notessemantic-pull-request.yml): enforce PR title formatOpen issues/PRs
Use Conventional Commits for PR titles
Keep code formatted and clippyโclean
After every edit, run cargo build to confirm compilation is successful
Before opening a PR, please run locally:
cargo fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningscargo testMIT โ see LICENSE.