     create_directory "test"
     create_file "test/test_helper.exs", test_helper_template(assigns)
     create_file "test/#{app}_test.exs", test_lib_template(assigns)
+  end
+
+  defp do_generate_umbrella(app, _opts) do
+    mod = camelize(app)
+    assigns = [app: app, mod: mod]
+
+    create_file "README.md", readme_template(assigns)
+    create_file "mix.exs",   mixfile_umbrella_template(assigns)
+
+    create_directory "apps"
   end
 
   defp check_project_name!(name) do


  """
  def run(argv) do
    { opts, argv } = OptionParser.parse(argv, switches: [sup: :boolean])

    case argv do
      [] ->

  Creates a new Elixir project.
  It expects the path of the project as argument.

      mix new PATH [--sup] [--module MODULE] [--umbrella]

  A project at the given PATH  will be created. The
  application name and module name will be retrieved
  from the path, unless `--module` is given.

  A `--sup` option can be given to generate an
  app with a supervisor and an application module
  that starts the supervisor.

  An `--umbrella` option can be given to generate an
  umbrella project.

  ## Examples

