Index: README.txt
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/buildmodes/README.txt,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 README.txt
--- README.txt	24 Aug 2010 17:50:41 -0000	1.1.2.1
+++ README.txt	11 Feb 2011 04:51:46 -0000
@@ -32,6 +32,24 @@ From here you can add/edit/delete build 
 You can use your defined build modes with the Views module, simply tick the
 appropriate option in the edit form.
 
+New build modes can also be defined via hook_default_buildmodes(), e.g.:
+
+/**
+ * Implementation of hook_default_buildmodes().
+ */
+function mymodule_default_buildmodes() {
+  return array(
+    // An alternative teaser style.
+    'summary' => array(
+      'title' => 'Summary',
+      'views style' => TRUE,
+    ),
+  );
+}
+
+Further, hook_default_buildemodes_alter() can be used to modify the array of
+build modes compiled via hook_default_buildmodes().
+
 -- What to do once a build mode is created? --
 
 As you have seen each build mode comes with one (in fact severals) template
Index: buildmodes.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/buildmodes/buildmodes.module,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 buildmodes.module
--- buildmodes.module	24 Nov 2010 14:34:17 -0000	1.1.2.10
+++ buildmodes.module	11 Feb 2011 04:51:46 -0000
@@ -168,12 +168,23 @@ function theme_buildmodes_formatter($ele
  */
 function buildmodes_list_modes($all = FALSE) {
   $buildmodes = array();
+
+  // hook_default_buildmodes().
+  // Allow other modules to define new build modes.
+  foreach (module_implements('default_buildmodes') as $module) {
+    $function = $module .'_default_buildmodes';
+    $buildmodes += (array) $function();
+  }
+  // Allow other modules to override the build modes list.
+  drupal_alter('default_buildmodes', $buildmodes);
+
   if ($all) {
     $buildmodes += content_build_modes();
     foreach (array(NODE_BUILD_NORMAL, 'full', 'teaser', NODE_BUILD_PREVIEW, NODE_BUILD_SEARCH_INDEX, NODE_BUILD_SEARCH_RESULT, NODE_BUILD_RSS, NODE_BUILD_PRINT) as $mode) {
       unset($buildmodes[$mode]);
     }
   }
+
   $buildmodes += variable_get('buildmodes_modes', array());
   // For convinience prupose we sort by alpha keys
   ksort($buildmodes);
