- doc:
   - cdist manpage (main manpage)
      - cleanup following man + their tree:
         - cdist-language        [IMPORTANT]
         - cdist-design.text     [IMPORTANT]
         - cdist-push-pull
         - cdist-quickstart
         - cdist-types           [IMPORTANT]
      - add terminology
      - define steps within configuration apply
         - detect impossible/unsafe things:
         - creating a file twice
         - installing and removing a package
         - and report location of occurence
         - parse afterwards?

   - how to define templates
      - variable substitution from shell may be problematic
         - SHELL SCRIPTS! (executables? do not support?)
            - stdout
   - cleanup / integrate doc/man/cdist.text
- cdist-explore
   - add more stuff to explore
   - write manpage
- Create usable Makefile 
   - install
- types needed (inspired by what I use from puppet)
   - package management
   - file / directory handling
   - ssh-host-key: that uses cache / explored data from hosts!
   - services
   - user management
      - including passwords
- to implement (from cfengine):
   - file editing (sed, awk)
   - huge library of functions shipped by default
   - disconnected clients with "cache"
- release first public version, which includes at least:
   - manpages
   - only do necessary work
         - install packages only if not existent
               - copy file only if different

Before initial release, document:
      
   - how to add package backends
   - how to write a minimal host manifest
   - create library with all functions (and their parameters)
      - cdist_package
      - cdist_file
      - cdist_dir



--------------------------------------------------------------------------------
Later:

   - multi master setups
   - pull strategy