code: public void createDefaultProject(String name, String description) throws Exception {
  
          String storedSiteRoot = m_cms.getRequestContext().getSiteRoot();
          try {
              m_cms.getRequestContext().setSiteRoot("/");
              CmsProject project = m_cms.createProject(
                  name,
                  description,
                  OpenCms.getDefaultUsers().getGroupUsers(),
                  OpenCms.getDefaultUsers().getGroupUsers(),
                  CmsProject.PROJECT_TYPE_NORMAL);
              m_cms.getRequestContext().setCurrentProject(project);
              m_cms.copyResourceToProject("/");
          } finally {
              m_cms.getRequestContext().setSiteRoot(storedSiteRoot);
          }
          if (OpenCms.getRoleManager().hasRole(m_cms, CmsRole.WORKPLACE_MANAGER)) {
              // re-initialize the search indexes after default project generation
              OpenCms.getSearchManager().initialize(m_cms);
          }
      }
docs: Creates a default project.<p>
  
  This created project has the following properties:<ul>
  <li>The users group is the default user group
  <li>The users group is also the default project manager group
  <li>All resources are contained in the project
  <li>The project will remain after publishing</ul>
  
  @param name the name of the project to create
  @param description the description for the new project
  @throws Exception if something goes wrong