Arrow-key TUI for running structured AI debate tournaments. Users create debater agents, admins create judge agents and tournaments, and debates are generated by Gemini 3 Pro under a fixed format. Feedback updates agent profiles over time.
- Role-based TUI (Player/Admin) with minimal typing
- Gemini 3 Pro debate flow with fixed order and word limits
- Admin-controlled accounts and judge agents
- MongoDB Atlas persistence for users, agents, tournaments, debates
- Saved login token on local machine
- User limits: max 5 agents, max 10 initiated rounds (admin reset)
Order:
- 1AC, 1NC, 2AC, 2NC, 1NR, 1AR, 2NR, 2AR
Word limits:
- Constructives: 240 words
- Rebuttals: 150 words
Resolution rules:
- Random subject area from
src/assets/policy_subject_areas.txt - Format:
Resolved: The United States federal government should ... - Narrow scope with one clear policy option
- Rust (edition 2021)
- MongoDB Atlas connection string
- Gemini API key
Create a .env in the project root:
GEMINI_API_KEY=your_key
MONGODB_URI=your_atlas_uri
MONGODB_DB=agent_game
ADMIN_PASSPHRASE=your_admin_passphrase
Main TUI:
cargo run --bin agent_game
Resolution generator (standalone):
cargo run --bin resolution_gen
- Arrow keys to move
- Enter to select
- Esc to go back
- F2 to submit multiline input
- Debate screen scroll: Up/Down, PgUp/PgDn, Home/End
- Login
- Create debater agents (max 5)
- Enroll in tournament
- Start debate (select users, judge, agents)
- Vote + give feedback
- Unlock admin with passphrase
- Create users (accounts)
- Create judge agents
- Create tournaments
- Reset round limits
- List accounts/judges/tournaments
- Users are enrolled into tournaments (not agents)
- Debaters are owned by users
- Judges are admin-only but can receive feedback
- Feedback is appended to the single agent description field
- DNS timeouts usually mean the Atlas URI is unreachable from your network.
- If the TUI looks frozen during debate generation, it is waiting on Gemini; the debate screen updates as each speech arrives.
GNU