diff --git a/feeds.drush.inc b/feeds.drush.inc
new file mode 100644
index 0000000..4440cc5
--- /dev/null
+++ b/feeds.drush.inc
@@ -0,0 +1,157 @@
+<?php
+
+/**
+ * @file
+ * 
+ * Drush commands for Feeds module.
+ */
+
+/**
+ * Implementation of hook_drush_command().
+ *
+ * @See drush_parse_command() for a list of recognized keys.
+ *
+ * @return
+ *   An associative array describing your command(s).
+ */
+function feeds_drush_command() {
+  $items = array();
+
+  $items['feeds-list'] = array(
+    'description' => "Displays all importers or displays the config of a given importer (passed as arg).",
+    'examples' => array(
+      'drush feeds-list',
+    ),
+  );
+
+  $items['feeds-import'] = array(
+    'description' => "Import a feed.",
+    'arguments' => array(
+      'feed-name' => 'The name of the feed importer that will be refreshed. Mandatory.',
+    ),
+    'options' => array(
+      'nid' => 'The nid of the feed importer that will be refreshed. Optional.',
+      'file' => 'The file to import by the feed importer. Optional.',
+    ),
+    'examples' => array(
+      'drush feeds-import feed_name',
+      'drush feeds-import feed_name --nid=2',
+    ),
+  );
+
+  $items['feeds-clear'] = array(
+    'description' => "Clear a feed.",
+    'arguments' => array(
+      'feed-name' => 'The name of the feed importer that will be clear. Mandatory.',
+    ),
+    'options' => array(
+      'nid' => 'The nid of the feed importer that will be clear. Optional.',
+    ),
+    'examples' => array(
+      'drush feeds-clear feed_name',
+      'drush feeds-clear feed_name --nid=2',
+    ),
+  );
+
+  return $items;
+}
+
+/**
+ * Get a list of all feeds importers.
+ */
+function drush_feeds_list() {
+  $rows = array(array(dt('Name'), dt('Description'), dt('Attached to'), dt('Status'), dt('State')));
+
+  foreach (feeds_importer_load_all(TRUE) as $k => $i) {
+    if ($i->export_type == EXPORT_IN_CODE) {
+      $state = t('Default');
+    }
+    else if ($i->export_type == EXPORT_IN_DATABASE) {
+      $state = t('Normal');
+    }
+    else if ($i->export_type == (EXPORT_IN_CODE | EXPORT_IN_DATABASE)) {
+      $state = t('Overridden');
+    }
+
+    $rows[] = array(
+      ($i->config['name'] . '('. $i->id.')'),
+      $i->config['description'],
+      $i->config['content_type'] ? dt(node_get_types('name', $i->config['content_type'])) : dt('none'),
+      $i->disabled ? dt('Disabled') : dt('Enabled'),
+      $state
+    );
+  }
+  drush_print_table($rows, TRUE);
+}
+
+/**
+ * Import a given feed_name.
+ * The feed will be refresh regardless of it's scheduled.
+ *
+ * @param string $feed_name
+ */
+function drush_feeds_import($feed_name) {
+  if (!isset($feed_name) || $feed_name == "") {
+    drush_print(dt('The importer feed_name is required.'));
+    return FALSE;
+  }
+
+  if (!($feed_nid = drush_get_option('nid'))) {
+    $feed_nid = 0;
+  }
+
+  $feedSource = feeds_source($feed_name, $feed_nid);
+  
+  if ($filename = drush_get_option('file')) {
+    $filename = DRUPAL_ROOT . $filename;
+    if (!file_destination($filename, FILE_EXISTS_ERROR)) {
+      $config = $feedSource->getConfig();
+      $config['FeedsFileFetcher']['source'] = $filename;
+      $feedSource->setConfig($config);
+      $feedSource->save();
+    }
+  }
+  
+  while (TRUE) {
+   $status = $feedSource->import();
+   if ($status != FEEDS_BATCH_COMPLETE) {
+     if (is_float($status)) {
+       $status = number_format($status * 100);
+       drush_print(dt('The !name feed is !percent% completed.', array('!name' => $feed_name, '!percent' => $status)));
+       continue;
+     }
+     else {
+       watchdog('Drush Feeds-Import', 'Refresh did not complete.', array(), WATCHDOG_WARNING);
+     }
+   }
+   else {
+     drush_print(dt('The !name feed was successfully imported.', array('!name' => $feed_name)));
+     break;
+   }
+  }
+}
+
+/**
+ * Clear a given feed_name.
+ * The feed will be clear regardless of it's scheduled.
+ *
+ * @param string $feed_name
+ */
+function drush_feeds_clear($feed_name) {
+  if (!isset($feed_name) || $feed_name == "") {
+    drush_print(dt('The importer feed_name is required.'));
+    return FALSE;
+  }
+
+  if (!($feed_nid = drush_get_option('nid'))) {
+    $feed_nid = 0;
+  }
+
+  $status = feeds_source($feed_name, $feed_nid)->clear();
+  if ($status != FEEDS_BATCH_COMPLETE) {
+    watchdog('Drush Feeds-Clear', 'Clear did not complete.', array(), WATCHDOG_WARNING);
+  }
+  else {
+    drush_print(dt('The !name feed was successfully cleared.', array('!name' => $feed_name)));
+  }
+}
