diff --git a/src/bin/centpkg b/src/bin/centpkg
new file mode 100755
index 0000000..2e80de9
--- /dev/null
+++ b/src/bin/centpkg
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+import pdb
+
+import os
+import sys
+import logging
+import ConfigParser
+import argparse
+
+import pyrpkg
+import centpkg
+
+def main():
+    parser = argparse.ArgumentParser(add_help=False)
+    parser.add_argument('-C','--config', help='The rpkg config file to use',
+                        default='/etc/rpkg/centpkg.conf')
+
+    (args, other) = parser.parse_known_args()
+
+    # Make sure we have a sane config file
+    if not os.path.exists(args.config) and not other[-1] in ['--help', '-h']:
+        sys.stderr.write('Invalid config file %s\n' % args.config)
+        sys.exit(1)
+
+    config = ConfigParser.SafeConfigParser()
+    config.read(args.config)
+
+    client = centpkg.cli.centpkgClient(config)
+    client.do_imports(site='centpkg')
+    client.parse_cmdline()
+
+    if not client.args.path:
+        try:
+            client.args.path=os.getcwd()
+        except:
+            print('Could not get current path')
+            sys.exit(1)
+
+
+    log = pyrpkg.log
+    client.setupLogging(log)
+
+    if client.args.v:
+        log.setLevel(logging.DEBUG)
+    elif client.args.q:
+        log.setLevel(logging.WARNING)
+    else:
+        log.setLevel(logging.INFO)
+
+    # Run the necessary command
+    try:
+        sys.exit(client.args.command())
+    except KeyboardInterrupt:
+        pass
+
+if __name__ == '__main__':
+    main()