1.0 Document id
2.0 Checklist items
2.1 Select unique prefix for all functions and all variables
2.2 Always include correct first line:
3.3 Put 'provide' command at the end of file
2.3 Use valid LCD format, which doesn't tolerate changes in format
2.4 Check the code layout with lisp-mnt.el
2.5 Check the documentation strings which checkdoc.el
2.6 Check the code with Elint.el
2.7 Always include GNU copyright.
2.8 Always include installation instructions.
2.9 Always use RCS or other version tool to manage your files.
2.10 Always check your file with byte compiler
2.11 More details -- don't just 'require' other packages
2.12 Use dynamic byte compilation
2.13 How to deal with variables from other packages
2.14 Arrange the installation so that it can be autoloaded
2.15 Do not change any emacs bindings directly
2.16 Don't forget to add ###autoload statements
2.17 Document all your variables and functions well
2.18 Provide a xxx-load-hook at the end of file
2.19 Clean up all whitespaces from the end of lines.
2.20 Documentation of you package
2.21 Here is sample skeleton for a package. Fill it in.