# grug keyword→response training rules.
# format:   keyword1,keyword2,...=>response text
# matched case-insensitively, substring match. first hit wins.
# engine scans these BEFORE the hardcoded keyword ladder.
docker,container,k8s,kube,helm=>container is cage for app. good. distributed cage less good.
database,postgres,mysql,sqlite,db=>database is source of truth. rest is cache pretending.
git,merge,rebase,conflict=>rebase is rewrite history. merge is accept history. grug merge.
security,auth,password,secret,token=>secret in code is secret to world. env var is rental cave.
api,rest,graphql,grpc=>api is contract. grug not break contract unless version bump.
frontend,react,vue,angular,css=>css is where senior dev cry quietly. grug mostly use flex.
backend,server,microservice,mono=>monolith first. split only when pain real, not imagined.
machine learning,ml,neural,tensor,model=>model is fancy lookup table with extra steps and bigger bill.
cloud,aws,azure,gcp,lambda=>cloud is someone else computer, and someone else bill.
linux,unix,shell,bash,zsh=>shell is duct tape of gods. grug love duct tape.
vim,emacs,editor,ide=>editor war is cave war. grug pick one, grug learn one, grug ship.
blockchain,crypto,web3,nft=>grug not trust chain that need spokesperson to work.
legacy,old code,mainframe=>legacy mean code that pay bills. respect legacy.
spec,design,doc,whiteboard=>grug draw boxes before grug draw code. past grug thank present grug.
deadline,crunch,overtime,burnout=>tired grug write bug. bug cost more than deadline save.
code review,pr,pull request,lgtm=>review is gift. grug review kind but honest.
memory leak,heap,stack,segfault=>memory leak is slow monster. free what you malloc. own what you borrow.
concurrency,thread,mutex,lock,atomic=>shared mutable state is dragon. grug not wake dragon.
null pointer,nullptr,undefined,nan=>null is grug's oldest enemy. option type is shield.
latency,throughput,bottleneck=>measure, don't guess. profile before you promise.
monitoring,metric,alert,pager=>alert on symptom, not cause. grug sleep better.
feature flag,ab test,rollout=>flag is dimmer switch on new code. flip slow, watch graph.
accessibility,a11y,screen reader=>accessibility is good code, not charity. grug use keyboard too.
logging,trace,span,observability=>log context not just facts. future grug need breadcrumb.
interview,whiteboard,leetcode=>interview test nerves, not code. breathe. talk out loud.
money,salary,raise,promo=>code pay rent. negotiate like grug hunt: calm, prepared, patient.
documentation,readme,wiki=>readme first, fancy site never. 10 line README beats 100 page wiki.
technical debt,tech debt,cleanup=>tech debt is fine, just pay interest on time.
startup,scale,growth=>premature scaling is how startup die. make thing people want first.
remote,wfh,office,hybrid=>grug work best where grug can think. culture > location.
python,pip,django,flask,fastapi=>snake good. install easy. type loose. ship fast.
go,golang,goroutine,channel=>go is c with safety helmet. compile blink-fast.
rust,cargo,borrow,lifetime=>borrow checker is grug yelling at past grug. listen to grug.
typescript,ts,tsc=>typescript is javascript wearing jacket. jacket save grug from cold.
javascript,js,node,npm=>js is duct tape of web. work everywhere, break occasionally.
java,jvm,kotlin,scala=>jvm is rock solid. boilerplate heavy. tooling like castle.
cpp,c++,cmake,template=>cpp give grug rope, gun, dynamite. all required, all dangerous.
ruby,rails,gem=>ruby pretty. rails fast. but be careful of magic invocation.
php,laravel,wordpress=>php fed half the web. judge less, learn more.
elixir,erlang,otp=>actor model is many small grug. they survive.
haskell,monad,functor=>haskell make grug think hard. thinking hard make code small.
swift,objc,xcode=>apple silicon fast. build system mysterious as moon cycle.
zig,nim,crystal=>new language good for learning. ship in established lang.
emacs,org-mode,lisp=>parens scary at first. then parens is air grug breathe.
neovim,nvim,lua,plug=>nvim is editor and config language. yak shaving paradise.
git rebase,interactive rebase=>rebase clean history. grug rebase only own branch.
git submodule,subtree=>submodule is repo inside repo inside pain.
ssh,key,known_hosts=>ssh key with passphrase is lock with key. yes both.
sudo,root,permission denied=>sudo for surgery only. day-to-day live as user.
firewall,iptables,ufw=>deny by default. allow on purpose. then test.
backup,restore,snapshot=>backup grug never test is hope, not backup. test restore.
ci,pipeline,jenkins,gitlab=>ci catch problem before user see. invest in ci.
fuzz,fuzzing,property test=>fuzz find bug grug never imagine. hire fuzz.
benchmark,profile,flamegraph=>flamegraph show truth. assumption usually wrong.
binary,hex,endian=>endian flip bite when grug forget. always serialize explicit.
unicode,utf8,encoding=>utf-8 default. anything else is asking for mojibake.
timezone,utc,dst=>store utc. display local. dst is unending nightmare.
date,calendar,iso8601=>iso 8601 only. mm/dd vs dd/mm war end here.
yaml,json,toml=>toml for config. json for wire. yaml for pain.
csv,tsv,parser=>nobody know real csv spec. always edge case.
