+It handles "enter" and leave" events, nesting, and stashing of
+variables (overwriting and restoring).
+
+## Features
+
+ - Support for enter and leave events, which can use the same file.
+ By default `.env` is used for entering, and `.env_leave` for leaving.
+ - Asks for confirmation / authentication before sourcing a `.env` file, and
+ remembers whitelisted files by its hash.
+ - Test suite.
+ - Written in Zsh.
+
+### Variable stashing
+
+You can use `autostash` in your `.env` files to overwrite some variable, e.g.
+`$PATH`. When leaving the directory, it will be automatically restored.
+
+ % echo 'echo ENTERED; autostash FOO=changed' > project/.env
+ % FOO=orig
+ % cd project
+ Attempting to load unauthorized env file!
+ -rw-rw-r-- 1 user user 36 Mai 6 20:38 /tmp/project/.env
+
+ **********************************************
+
+ echo ENTERED; autostash FOO=changed
+
+ **********************************************
+
+ Would you like to authorize it? (type 'yes') yes
+ ENTERED
+ project % echo $FOO
+ changed
+ % cd ..
+ % echo $FOO
+ orig
+
+There is also `stash`, `unstash` and `autounstash`, in case you want to
+have more control.
+
+The varstash library has been taken from smartcd, and was optimized for Zsh.
+
+
+## Writing your .env file
+
+### `autoenv_source_parent()`
+
+zsh-autoenv will stop looking for `.env` files after the first one has been
+found. But you can use the function `autoenv_source_parent` to source a
+parent `.env` file from there.