Makefile.-.miniShellPokemon.-.Visual.Studio.Code.2025-06-27.16-57-37.mp4
A 42-style minishell with a Pokémon twist: a fully interactive shell written in C, paired with custom battle-themed data and ASCII art.
miniShellPokemon is a custom shell built as part of the 42 minishell journey, extended with a Pokémon-flavored layer. It implements the core shell features expected from a Unix-like interactive shell and adds a playful game-oriented module backed by external Pokémon data.
- Command parsing with quotes, pipes, redirections, and wildcard expansion.
- Environment variable expansion and shell-like token handling.
- Builtin commands:
echo,cd,pwd,env,export,unset, andexit. - Here-doc support and signal handling for interactive use.
- Readline integration with command history.
- Pokémon battle mode with ASCII art, attacks, and external data support.
- GCC or Clang
readline- A Unix-like environment
makemake re # full rebuild
make clean # remove object files
make fclean # remove objects and the binary
make valgrind # run with valgrind and the provided suppression file
make poke # clone the pokemonData repository if it is missing./minishellExample commands:
echo hello world
export USERNAME=gpicchio
pwd
cat file.txt | grep minishell
ls -la > output.txtparsing/- lexical analysis, quote handling, expansions, redirections, and wildcard logic.exec_commands/- command execution, pipes, and process orchestration.builtin/- shell builtin implementations.binary_tree/- execution tree construction.pipex/- pipeline helpers reused by the shell.pokemonData/- data assets for the Pokémon-themed part of the project.
- The project uses
libftandreadline. - The
readLine.suppfile is provided to keep Valgrind output clean during interactive runs. - The
poketarget expects Git to be available so it can fetch the data repository when needed.
Made for the 42 minishell project, with a Pokémon-inspired presentation layer.