# Castrel Default Command Whitelist
# One command name per line, lines starting with # are comments
# Only commands in this whitelist are allowed to execute

# ========== File and Directory Operations ==========
ls
ll
cat
head
tail
find
pwd
cd
mkdir
touch
cp
ln
tree
stat
file
readlink
realpath
basename
dirname

# ========== Text Processing ==========
grep
egrep
fgrep
awk
sed
sort
uniq
wc
diff
cut
tr
xargs
tee
less
more

# ========== Version Control ==========
git
svn

# ========== Development Tools - Python ==========
python
python3
pip
pip3
poetry
uv
pipenv
conda
virtualenv

# ========== Development Tools - Node.js ==========
node
npm
npx
yarn
pnpm
bun

# ========== Development Tools - Other Languages ==========
make
cmake
cargo
rustc
go
java
javac
mvn
gradle
ruby
gem
php
composer

# ========== Network Tools (Read-only) ==========
curl
wget
ping
traceroute
tracepath
nslookup
dig
host

# ========== Compression and Archiving ==========
tar
zip
unzip
gzip
gunzip
bzip2
bunzip2
xz
unxz
7z
rar
unrar

# ========== System Information (Read-only) ==========
echo
which
whereis
env
printenv
date
whoami
id
hostname
uname
uptime
w
who
last
history
ps
top
htop
free
df
du
lsof
vmstat
iostat
sar
mpstat
pidstat
nproc
lsblk
blkid

# ========== Process Management (Safe) ==========
nohup
bg
fg
jobs
screen
tmux
journalctl

# ========== Network Information (Read-only) ==========
ip
ifconfig
netstat
ss

# ========== Docker (Client Commands) ==========
docker
docker-compose
buildx
docker-buildx

# ========== Kubernetes (Client Commands) ==========
kubectl
helm
helmfile
kustomize
skaffold
tilt
k9s
stern
kubectx
kubens
kubie
minikube
kind
k3s
k3d
microk8s
argocd
flux
fluxctl
velero
restic
istioctl
linkerd
oc
eksctl
gcloud
az
aws

# ========== Container Image Tools ==========
podman
buildah
skopeo
nerdctl
kaniko
dive
trivy
grype
syft

# ========== Logging ==========
logger

# ========== Binary Analysis (Read-only) ==========
objdump
nm
ldd

# ========== Editors ==========
vim
vi
nano
emacs

# ========== Other Common Tools ==========
watch
timeout
time
sleep
test
true
false
yes
seq
shuf
base64
md5sum
sha256sum
openssl
jq
yq
