Skip to main content

Crate shellgame

Crate shellgame 

Source
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 cd policies.
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 shellgame command does.
shell
The shell integration: how the game runs inside a wrapped bash or fish and changes it.
state
Persistent game state: the state.json file shared with the Python implementation.
ui
Terminal rendering primitives.