diff --git a/readme.md b/readme.md
index be131d376d7ca3ac3e625f562cf75a5fef113848..9264fec7c8f6eb99bfa86cda810d058085a198c9 100644
--- a/readme.md
+++ b/readme.md
@@ -57,7 +57,7 @@ IMLCI_PHASE=preview
 * The example subdir gives an orientation and can be copied, i.e. `cp -r example myapp`
 * create a config file named `./profiles/myapp/config.sh` (copy the config.sh.dist from example profile)
 
-```txt
+```bash
 # my install dir
 installdir=/var/www/myapp
 
@@ -148,4 +148,76 @@ This is the main deployment script.
 ```
 
 If you start it without parameter it will loop over all existing profiles.
-You can add an existing profile name to limit the execution to that profile only.
\ No newline at end of file
+You can add an existing profile name to limit the execution to that profile only.
+
+### ./bin/getfile.sh
+
+With getfile.sh you can access the software archive.
+
+* read phase names
+* read ci project ids available in a given phase
+* list files of a given projects of a phase
+* download a single file to a custom target file
+* download ALL files to current working directory
+
+```txt
+SYNTAX:
+
+  getfile.sh [OPTIONS]
+
+OPTIONS:
+
+  -c CFGFILE  load custom config file after defaults in getfile.sh.cfg
+  -d          enable debug infos
+  -e PHASE    phase; overrides env variable IMLCI_PHASE
+  -f FILE     filename to get (without path); overrides env variable IMLCI_FILE
+  -l ITEM     list
+  -o OUTFILE  optional output file
+  -p PROJECT  ci project id; overrides env variable IMLCI_PROJECT
+  -s SECRET   override secret in IMLCI_PKG_SECRET
+  -u URL      URL of iml ci server without trailing /; overrides env variable IMLCI_URL
+
+VALUES:
+
+  CFGFILE     custom config file. It is useful to handle files of different 
+              projects on a server.
+  PHASE       is a phase of the ci server; one of preview|stage|live
+  FILE        is a filename without path that was created by ci server.
+  OUTFILE     Output file. It can countain a path. If none is given the filename
+              will be taken from FILE and stored in current directory
+  PROJECT     project id of the ci server
+  SECRET      secret to access project data on package server. Your given secret
+              must match the secret on package server to get access to any url.
+  ITEM        type what to list; one of phases|projects|files
+              To list projects a phase must be set.
+              To list files a phase and a project must be set.
+
+DEFAULTS:
+
+  You don't need to set all values by command line. Use a config to set defaults
+  ./getfile.sh.cfg
+
+EXAMPLES:
+
+  If url, secret, project and phase are set in the config you can operate by
+  setting the filename to request.
+
+  getfile.sh -f FILE 
+    downloads FILE to the current dir.
+
+  getfile.sh -f FILE -o my-own-filename.tgz 
+    downloads FILE as my-own-filename.tgz
+
+  getfile.sh -f ALL 
+    there is a special file ALL; it fetches all filenames by executing a directory 
+    listing and then downloads all remote files with their original name
+
+  getfile.sh -e preview -l projects
+    list existing projects in phase preview
+
+  getfile.sh -l files
+    list existing files of current project
+
+  Remark: The directory listing can be turned off on the package server and
+  results in a 403 status.
+```