Just Shell
42 minishell project in C with AST parsing, pipelines, redirections, process execution and signal handling.
Technical demonstration
Context
Just Shell is a paired 42 minishell project by vanta and skydogzz. The repository contains parser, binary-tree, execution, pipeline, I/O, history, prompt and signal modules.
Visible result
The code turns command lines into a tree before execution. A representative command handled by the project structure is:
cat input.txt | grep error > errors.txt
Contribution
The README and repository show a two-person project, but do not map every module to one contributor. I therefore describe the parsing and execution work as team work unless a file-level source says otherwise.
Technical difficulty
The important part is coordinating AST traversal with POSIX process behaviour: pipes need file descriptors prepared in the right order, redirections need to affect only the relevant command, and signals need shell-specific behaviour while children are running.
Technical choices
- C and a binary-tree representation for parsed commands
- Dedicated execution modules for simple commands, logical execution and pipelines
- I/O modules for infile, outfile and pipe handling
- Signal modules for interactive shell behaviour
Validation and limits
The repository exposes GitHub Actions badges for compilation and Norminette, plus a 42 minishell score badge. I do not display performance numbers because no reproducible benchmark is provided.