+- wizard/command/commandname.py
+ Implement your command there as main(). Copy the function
+ signature and scaffolding from another file; it's non-trivial
+
+As a command file, you're expected to have a main() and parse_args()
+function. Try to keep main() one to two page function that can
+be browsed for a descriptive overview of what the command does
+internally. Use helper functions liberally. Place all error classes
+at the bottom.
+
+== 'app' package ==
+
+There is a certain amount of application specific code that
+needs to be written for each autoinstaller. These go here.
+
+== Notes when fiddling with application repositories ==
+
+- 'git rebase -p -i' is your friend. Use it to rewrite history!
+
+- The obvious scripts specific change that a new repository
+ will have are the patches, but you should also check the
+ autoinstall scripts if they do anything special. In particular:
+
+ - If it's a PHP application, it's probably inserting a php.ini
+ file and creating symlinks to it. Be sure to replace the
+ appropriate values with placeholders WIZARD_SESSIONNAME
+ and WIZARD_TMPDIR
+
+ - You will probably need to generate relevant configuration
+ files for each version
+
+== Design decisions ==
+