Steps needed until 1.0:

   x finish type __file
   - finish type __package
   - cleanup documentation (see below)

--------------------------------------------------------------------------------

This document defines how to continue work on cdist:

x general stuff
   x Define configuration paths (doc/internal/config-layout)
   x check whether remote and local view of objects can be the same,
    i.e. local:/outdir == remote:/var/lib/cdist
    x similar, but not the same

x get information from target (stage 1)
   x Define how to get information from targets
      x Create shell script that creates code to run on client (cdist-build-explorer)
   x Redo explorers (see manpage)
x run initial manifest (stage 2)
   x Create configuration tree from manifest
      x write binaries, which create the tree when called from manifest (cdist_tree_wrapper)

x be able to run manifest of types (stage 3)
   x Parse configuration tree/objects recursively
      x can/may types modify tree?
         -> yes, of everything a type created itself!
         x may open door for getting information from manifest / other stuff
   x Cleanly define paths for object creation, especially recursive calls
      x doc/man/cdist-config-layout.text
   x cd $__object_dir, before running manifest
   x rename $__object_dir to $__object_base_dir
   x use $type/manifest instead of $type/init
   x find $object_id in recursive runner (before merge)
   x move parameters of object to subdir parameter
   x run explorers for every object

x generate code to be executed on clients (stage 4)
   x for one object
   x for all objects

x execute code on client (stage 5)

- make cdist run from checkout


- Last doc stuff for 1.0.0:

   - = todo
   + = in progress -> S|N
   x = done


   x remove old documentation from doc/man/!
   - Check all references in manpages, ensure all manpages exist, generic ones:
      + cdist
         + cdist-deploy-to
         + cdist-manifest
         - cdist-quickstart: how to get started
      - cdist-type           [IMPORTANT]
         - only do necessary work [TYPE IMPLEMENTATION HINTS]
            - install packages only if not existent
            - copy file only if different
         - DOC document that $type/manifest is executed for every object/instance
      - cdist-explorer
      - exported variables:
         - general explorer: __explorer                           # cdist-explorer
         - initial manifest: __manifest, __global                 # cdist-manifest
         - type manifests  __object, __object_id, __global        # cdist-type
         - type explorers:  __object, __object_id, __type_explorers # cdist-type
         - type codegen:  __object, __object_id, __global         # cdist-type
         - type code:  -                                          # cdist-code
      - cdist-type-integration
         - Ensure available types are documented (!)
            - define how to in cdist-type-integration
         - referenced on the webpage via cdist-type(7)!
   - ensure every file in bin/ has a correspondent manpage
      - cdist-bin-transfer
      - cdist-code-run-all
      - cdist-config
      - cdist-deploy-to
      - cdist-dir
      - cdist-explorer-run-init
      - cdist-manifest-run
      - cdist-manifest-run-all
      - cdist-manifest-run-init
      - cdist-object-codegen
      - cdist-object-codegen-all
      - cdist-object-explorer-all
      - cdist-quickstart
      - cdist-remote-code-run-all
      - cdist-remote-explorer-run
      - cdist-run-remote
      - cdist-type-build-emulation
      - cdist-type-emulator
   - Cleanup READMEs
   - Ensure html output of manpages are published on the web

- Makefile:
   - Add install target
   - Include manpage generation