a simple custom shell built with C++ while learning systems programming (under progress)
git clone https://github.com/AnvithaCodes/anvell.git
cd anvell
g++ -std=c++17 main.cpp -o anvell
./anvell- command timer - shows execution time for commands > 0.1s
- aliases - create shortcuts:
alias ll="ls -lah" - smart cd - track and jump to frequent directories with
jumporj - notes - quick notes with timestamps
- tilde expansion -
cd ~works like a real shell
help- show available commandspwd- print working diralias name="command"- create an aliasunalias name- remove an aliasjumporj- show frequent directoriesj <number>- jump to a dircd <dir>- change dir (supports~)note "text"- save a note with timestampnotes- show all notesclearnotes- clear all notesclearjump- clear dir historyexit- quit
anvell v0.2 - type 'help' for commands
anvell ~> alias ll="ls -lah"
alias created: ll -> ls -lah
anvell ~> ll
[completed in 0.15s]
anvell ~> cd Documents
anvell ~/Documents> cd /tmp
anvell /tmp> jump
frequent directories:
1. /home/user/Documents (1 visits)
2. /tmp (1 visits)
anvell /tmp> j 1
jumped to: /home/user/Documents
anvell ~/Documents> note "remember to fix bug"
note saved.
anvell ~/Documents> notes
[2025-10-27 14:30] remember to fix buguses fork() + execvp() on linux/macOS, _spawnvp() on windows to execute commands. stores aliases, directory history, and notes in ~/.anvell_* files.