Expand description
ShellGame: an interactive terminal course for filesystem navigation and shell basics.
The binary runs inside a wrapped bash or fish subshell. Rust owns all game rules and persistence; the shell templates only forward events and apply a small, versioned command protocol.
Modulesยง
- authoring
- Authoring ShellGame levels
- cli
- The command line: argument parsing, the shell hooks, booting the game shell and dispatch.
- engine
- The game engine: levels, fixtures, answers, requirements and
cdpolicies. - env
- The process environment, read once.
- levels
- Level content: the whole course, one module per section.
- markers
- Evidence markers: dotfiles in the workspace root that prove the player did something.
- messages
- Player-facing messages shared by the engine, the session and the UI.
- paths
- Section-relative paths and containment: the one implementation.
- session
- The game session: what every
shellgamecommand does. - shell
- The shell integration: how the game runs inside a wrapped bash or fish and changes it.
- state
- Persistent game state: the
state.jsonfile shared with the Python implementation. - ui
- Terminal rendering primitives.