{"id":23934005,"url":"https://github.com/theoforger/mastermind","last_synced_at":"2025-12-25T03:41:08.933Z","repository":{"id":256052287,"uuid":"854224070","full_name":"theoforger/mastermind","owner":"theoforger","description":"An LLM-powered CLI tool to help you be a better spymaster in Codenames","archived":false,"fork":false,"pushed_at":"2024-11-28T18:19:02.000Z","size":2319,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-21T23:19:29.916Z","etag":null,"topics":["codenames","llm","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/mastermind-cli","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theoforger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-08T17:46:50.000Z","updated_at":"2024-12-12T22:26:55.000Z","dependencies_parsed_at":"2024-11-09T05:22:52.222Z","dependency_job_id":null,"html_url":"https://github.com/theoforger/mastermind","commit_stats":null,"previous_names":["theoforger/mastermind"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoforger%2Fmastermind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoforger%2Fmastermind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoforger%2Fmastermind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theoforger%2Fmastermind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theoforger","download_url":"https://codeload.github.com/theoforger/mastermind/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232658737,"owners_count":18556991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codenames","llm","rust"],"created_at":"2025-01-06T00:30:02.116Z","updated_at":"2025-12-25T03:41:08.885Z","avatar_url":"https://github.com/theoforger.png","language":"Rust","funding_links":[],"categories":["Building"],"sub_categories":["Tools"],"readme":"# 🔮 Mastermind - A Second Brain for Spymasters\n\nMastermind is a CLI tool designed to generate clue words for spymasters in the game of **Codenames**, leveraging large language models (LLMs) of your choice!\n\nWritten in Rust 🦀, because why not?\n\n![GitHub License](https://img.shields.io/github/license/theoforger/mastermind)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/theoforger/mastermind/.github%2Fworkflows%2Frust.yml)\n\n\u003cimg src=\"images/demo.gif\" alt=\"A gif demo of the basic functions of this program.\"/\u003e\n\n## 📖 Prepare\nTo get started, prepare two text files:\n\n1. **Words to Link Together** - Contains the words from your own team.\n2. **Words to Avoid** - Contains:\n    - Your opponent's words\n    - Neutral words\n    - The assassin word\n\nOne word per line. Refer to the [`examples`](examples) directory for sample files.\n\n## 🛠️ Configure\nHere are what you need to configure before running mastermind:\n- API key\n- The base URL of an OpenAI-compatible API\n- A default language model\n\nThere are two ways to configure this program:\n### Config File\nDuring 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:\n- For Linux: `$HOME/.config/mastermind/config.toml`\n- For macOS: `$HOME/Library/Application Support/mastermind/config.toml`\n- For Windows: `C:\\Users\\[your username]\\AppData\\Roaming\\mastermind\\config.toml`\n\n### Environment Variables\n\nSimply pass these environment variables during run time:\n- `API_KEY`\n- `OPENAI_API_BASE_URL`\n- `DEFAULT_MODEL_ID`\n\n\n## 🏃 Run\n\n```bash\nmastermind [TO_LINK] [TO_AVOID]\n```\n\nFeel free to run the program multiple times to get the best result!\n\n### Options\n\n- `-g`, `--get-models` : Print all available language models\n- `-m`, `--set-models` : Select language model(s)\n- `-o`, `--output` : Specify an output file\n- `-t`, `--token-usage` : Print token usage\n- `-h`, `--help` : Print help\n- `-V`, `--version` : Print version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoforger%2Fmastermind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheoforger%2Fmastermind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheoforger%2Fmastermind/lists"}