Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theoforger/mastermind
An LLM-powered CLI tool to help you be a better spymaster in Codenames
https://github.com/theoforger/mastermind
codenames llm rust
Last synced: 3 days ago
JSON representation
An LLM-powered CLI tool to help you be a better spymaster in Codenames
- Host: GitHub
- URL: https://github.com/theoforger/mastermind
- Owner: theoforger
- License: gpl-3.0
- Created: 2024-09-08T17:46:50.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-28T18:19:02.000Z (about 1 month ago)
- Last Synced: 2024-12-21T23:19:29.916Z (18 days ago)
- Topics: codenames, llm, rust
- Language: Rust
- Homepage: https://crates.io/crates/mastermind-cli
- Size: 2.21 MB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome_ai_agents - Mastermind - An LLM-powered CLI tool to help you be a better spymaster in Codenames (Building / Tools)
- awesome_ai_agents - Mastermind - An LLM-powered CLI tool to help you be a better spymaster in Codenames (Building / Tools)
README
# 🔮 Mastermind - A Second Brain for Spymasters
Mastermind is a CLI tool designed to generate clue words for spymasters in the game of **Codenames**, leveraging large language models (LLMs) of your choice!
Written in Rust 🦀, because why not?
![GitHub License](https://img.shields.io/github/license/theoforger/mastermind)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/theoforger/mastermind/.github%2Fworkflows%2Frust.yml)## 📖 Prepare
To get started, prepare two text files:1. **Words to Link Together** - Contains the words from your own team.
2. **Words to Avoid** - Contains:
- Your opponent's words
- Neutral words
- The assassin wordOne word per line. Refer to the [`examples`](examples) directory for sample files.
## 🛠️ Configure
Here are what you need to configure before running mastermind:
- API key
- The base URL of an OpenAI-compatible API
- A default language modelThere are two ways to configure this program:
### Config File
During the first run, a config file will be created at your system's preferred location. The specific location will be given in the output. Generally, it is located at:
- For Linux: `$HOME/.config/mastermind/config.toml`
- For macOS: `$HOME/Library/Application Support/mastermind/config.toml`
- For Windows: `C:\Users\[your username]\AppData\Roaming\mastermind\config.toml`### Environment Variables
Simply pass these environment variables during run time:
- `API_KEY`
- `OPENAI_API_BASE_URL`
- `DEFAULT_MODEL_ID`## 🏃 Run
```bash
mastermind [TO_LINK] [TO_AVOID]
```Feel free to run the program multiple times to get the best result!
### Options
- `-g`, `--get-models` : Print all available language models
- `-m`, `--set-models` : Select language model(s)
- `-o`, `--output` : Specify an output file
- `-t`, `--token-usage` : Print token usage
- `-h`, `--help` : Print help
- `-V`, `--version` : Print version