generate the project template

    proposal is the name of the project, 
    user is an object containing some information about the user. 
        - full name, 
        - github username
        - email

def project_layout(proposal, user=None, repo=None, log=None):
    """
    generate the project template

    proposal is the name of the project, 
    user is an object containing some information about the user. 
        - full name, 
        - github username
        - email



    """

    proposal = proposal.lower()

    #context_file = os.path.expanduser('~/.cookiecutters/cookiecutter-pypackage/cookiecutter.json')
    #context = generate_context(context_file)

    # os.chdir('..')
    # context['cookiecutter']['full_name'] = user.name
    # context['cookiecutter']['email'] = user.email
    # context['cookiecutter']['github_username'] = user.login
    # context['cookiecutter']['project_name'] = proposal
    # context['cookiecutter']['repo_name'] = proposal.lower()

    try:
        os.mkdir(proposal)
    except FileExistsError:
        log.info('Skip directory structure, as project seem to already exists')

    with open('.gitignore', 'w') as f:
        f.write('''
*.pyc
__pycache__
/build/
/dist/
''')

    with open( '/'.join([proposal, '__init__.py']), 'w') as f: 
        f.write('''
"""
a simple package
"""


__version__ = '0.0.1'

        ''')


    travis_yml()

    #generate_files(
    #        repo_dir=os.path.expanduser('~/.cookiecutters/cookiecutter-pypackage/'),
    #        context=context
    #    )

    log.info('Workig in %s', os.getcwd())
    os.listdir('.')

    subprocess.call(['git','add','.'], )

    subprocess.call(['git','commit',"-am'initial commit of %s'" % proposal])

    subprocess.call(['git', "push", "origin", "master:master"])