Git Product home page Git Product logo

cookiejar / cookietemple Goto Github PK

View Code? Open in Web Editor NEW
153.0 6.0 8.0 23.07 MB

A collection of best practice cookiecutter templates for all domains and languages with extensive Github support ⛺

Home Page: https://cookietemple.com

License: Apache License 2.0

Makefile 16.18% Python 31.93% Dockerfile 0.24% Java 1.80% Batchfile 0.19% CSS 7.44% CMake 2.11% C++ 0.05% TeX 27.93% Shell 0.54% JavaScript 1.49% SCSS 7.68% HTML 2.42%
python cookiecutter template project java cpp kotlin latex hacktoberfest

cookietemple's Introduction

pic1


Github Workflow Build cookietemple Status

Github Workflow Tests Status

PyPi Status

Apache 2.0 license

Documentation Status

Codecov Status

Zenodo ID

Discord

Twitter Follow

A cookiecutter based project template creation tool supporting several domains and languages with advanced linting, syncing and standardized workflows to get your project kickstarted in no time.

cookietemple overview

Installing

Start your journey with cookietemple by installing it via $ pip install cookietemple.

See Installation.

config

Configure cookietemple to get started.

See Configuring cookietemple

list

List all available cookietemple templates.

See Listing all templates.

info

Get detailed information on a cookietemple template.

See Get detailed template information.

create

Kickstart your customized project with one of cookietemple's templates in no time.

See Create a project.

lint

Use advanced linting to ensure your project always adheres to cookietemple's standards.

image

See Linting your project

bump-version

Bump your project version with many configurable options.

See Bumping the version of an existing project.

sync

Sync your project with the latest cookietemple release to get the latest template features.

See Syncing a project.

warp

Create a self contained executable. Currently, cookietemple does not ship any templates anymore, where this may be required.

See Warping a project.

upgrade

Check whether you are using the latest cookietemple version and update automatically to benefit from the latest features.

See https://cookietemple.readthedocs.io/en/latest/upgrade.html.

Projects using cookietemple

Contributing

cookietemple is a huge open-source effort and highly welcomes all contributions! Join our Discord Channel. Please read contributing to find out how you can contribute.

Authors

cookietemple was initiated and developed by Lukas Heumos (Github) and Philipp Ehmele (Github). A full list of contributors is available on our statistics webpage.

cookietemple's People

Contributors

adlanto avatar conzel avatar dependabot-preview[bot] avatar dependabot[bot] avatar e2jk avatar filipdutescu avatar foarsitter avatar imipenem avatar kianmeng avatar zethson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cookietemple's Issues

[GITHUB CI]

  • Migrate Travis build to Github CI
  • Divide our building and testing stages in the build script

CORE: Similar command implementation for all main commands

Associated Template/Command/Core
CORE (except info command)

Is your feature request related to a problem? Please describe.
Suggest most similar command if the user entered an unknown command (like lit instead of lint)

Describe the solution you'd like
See info command (but its not that easy since were not working with string directly)

Describe alternatives you've considered

Additional context

[TRAVIS]

  • Build cookietemple package
  • Run test suite
  • Run all other subcommands once

[GUI-JAVA]

Let's start with the modularized openjfx samples:

https://github.com/openjfx/samples/tree/master/CommandLine/Modular

For maven:

run them with

mvn clean javafx:run

to package them with a custom JRE using jlink:

mvn clean javafx:jlink

which results in a target folder containing 6 additional folders and a launcher script.
jlink produces platform specific executables! Later down the road we need to automate the inclusion of JREs of other platforms (WIndows, MacOS, Linux) to package for other platforms conveniently.
Next, we need to link the 6 folders together to create a single executable.
We use Warp (https://github.com/dgiagio/warp) for that.
Warp has 3 executables for all major platforms and we need the correct executable for our platform.

We can now either download the require release as a subprocess via wget OR we package all executables already into cookietemple (10mb overall).

Then we can use

./warp-packer --arch linux-x64 --input_dir /home/zeth/tmp/samples/CommandLine/Modular/Maven/hellofx/target/hellofx --exec bin/launcher --output test.bin

to create a test.bin self contained executable.

Can now be run using

test.bin

We should incorporate all that into a makefile make package command.

help command truncated

Associated Template/Command/Core
--help

Describe the bug
all commands' help messages are truncated and not completely readable

To Reproduce
Steps to reproduce the behavior:

  1. cookietemple --help

Expected behavior
all help commands should be readable

python-cli/python-web-website-flask Templates File: setup.py command: make install

Associated Template/Command/Core
Genereal bug for the two mentioned templates above

Describe the bug
the "license" field in the setup.py file is missing (tough valid input has been given).

To Reproduce
Steps to reproduce the behavior:

  1. Run COOKIETEMPLE with command: cookietemple create
  2. Select: cli (or web), python, take all defaults (license = MIT), ...
  3. Open the setup.py file of the generated template -> no license field

Expected behavior
There should a license='MIT' field in the setup.py file

System [please complete the following information]:

  • OS: Ubuntu 18.04
  • Python: 3.7.7
  • Virtual environment: Conda
  • COOKIETEMPLE: Pre-release 0.1.0

Additional context
Add any other context about the problem here.

[DOC]

We could do it like micronaut.
Have a nice looking general website for pretty much everything about the project and us etc and then for the technical documentation just link to a styled readthedocs.

What do you think @Imipenem ?

[TESTS]

  • Design test structure and framework (examine nf-core)
  • Implement unit tests for all subcommands
  • Possibly mock creation of complex templates (with common file copying)
  • Add test/code coverage to CI

QUICK-GUIDE for all Templates

We should provide some "Get started" Guides for each templates.

Maybe a single markdown file with links to our docs.

[CREATE] Github URL in docs not set correctly

Associated Template/Command/Core
Create

Describe the bug
Currently, after a template has been successfully created, the installation.rst still reads git clone git://github.com/homersimpson/project_name since it simply takes the value defined in the .cookiecutter.json file. We are not actually passing the {{ cookiecutter.github_username }}, since we are asking for the Github username AFTER the project has already been created.

To Reproduce
Steps to reproduce the behavior:

  1. Create any cli-python project

Expected behavior
I expect a correct URL to be set if the project has been created with Github support. It may be a good idea to add a postprocessing step, which only runs if Github support was used and only then reads the installation.rst file and fixes it.

[LIST Command] Style Console Output

We should style the output for the LIST command.

Currently using .yaml does not allow us to style output to console.

Consider using a .json file (+ automatic update when a new template is added)

[PREMIUM]

We should discuss which features may go into a premium or paid version of cookietemple.

Ideas are:

  1. Sync
  2. Custom templates
  3. Templates for technologies that are commonly only used in companies (Spring, JEE, ...)

[CORE] unpresented .cookietemple file likely fails with file not found when linting

Associated Template/Command/Core
lint

Describe the bug
if not os.path.isfile(pf(self, '.cookietemple.yml')):
raise AssertionError('.cookietemple.yml not found!! Is this a COOKIETEMPLE project?')

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/Exploding_Springfield/.cookietemple.yml'

To Reproduce
Steps to reproduce the behavior:

  1. Delete the .cookietemple file
  2. lint

Expected behavior
Catch the exception and return

Additional context
Noticed when creating a new template with QUBE

FUCK COALA

'lint' is automatically passed to coala as a commandline parameter. Hence it fails, since it does not know the option 'lint'.

Have to figure out a way to consume that in click or disable that shit in coala somehow.

bump-version doesn't find files

Associated Template/Command/Core
bump-version

Describe the bug
zeth@master /tmp> qube bump-version 1.1.0 Exploding_Springfield/

results in FileNotFoundError: [Errno 2] No such file or directory: 'pom.xml'

zeth@master /tmp> cd Exploding_Springfield/

zeth@master /t/Exploding_Springfield> qube bump-version 1.1.0 . (qube)


( ___ )|\ /|( ___ \ ( ____
| ( ) || ) ( || ( ) )| ( /
| | | || | | || (/ / | (
| | | || | | || __ ( | )
| | /| || | | || ( \ \ | (
| (\ \ || (
) || )) )| (/
(
/)()|/ ___/ (__/

Run qube --help for an overview of all commands

Changing version number.
Current version is 1.0.0.
New version will be 1.1.0

Updating version number in pom.xml

  • 1.0.0-SNAPSHOT
  • 1.1.0-SNAPSHOT

Updating version number in .qube.yml

  • version: 1.0.0-SNAPSHOT
  • version: 1.1.0-SNAPSHOT

Updating version number in docs/conf.py

  • version = '1.0.0'
  • version = '1.1.0'
  • release = '1.0.0'
  • release = '1.1.0'

works

It's a path issue. Wrong CWD or something.

[WEB-PYTHON-WEBSITE]

  • User authentification/database stuff
  • HTML/CSS Templates (check royalties!)
  • Mail config
  • Barebones + fat option
  • Example HTML with all included features and scripts (=generic.html)

[CREATE] Cookietemple exits with error

Associated Template/Command/Core
Cookietemple Create

Describe the bug
When invoking Cookietemple with "cookietemple create" and selecting cli -> python or cli -> c++ and then selecting the defaults, the program terminates with an error.

To Reproduce
Steps to reproduce the behavior:

  1. Run COOKIETEMPLE with command: create
  2. Select: cli -> python or cli -> c++ and then press enter for defaults
  3. Error

Expected behavior
I expect Cookiecutter to create an templated project structure without giving out an error.

System [please complete the following information]:

  • OS: Arch
  • Python: 3.8.1
  • Virtual environment: None
  • COOKIETEMPLE: 0.1.0

Additional context
The folder gets created, but we still see the error.

Screenshot from 2020-03-30 23-34-30

[LICENSE]

We need to determine which license we actually want to use, especially with respect to being able to monetize cookietemple later.

[CORE] Create, build and test every template once on Github Actions

Is your feature request related to a problem? Please describe.
We never know whether a change in a template actually breaks it.

Describe the solution you'd like
It would be awesome if we could create every template once, build it and test it.
So basically a workflow for every template.

echo -e "python Y\nN\nN" | cookietemple create --domain cli
then cd into the template

then build it

then test it

bump-version for pom.xml - whitelisting lines

Associated Template/Command/Core
bump-version

Is your feature request related to a problem? Please describe.
pom.xml have looooots of dependencies with x.x.x versions defined in pom.xml . It's a pain to always blacklist those lines manually. Instead for this file it should work the other way around. Only a single line should be whitelisted.

Describe the solution you'd like
I suggest that we add a way to whitelist lines to bump the version for a specific file. This should be part of the file name in the cookietemple.cfg bump version section somehow.

[CORE] .cookietemple contains template_version without an <<COOKIETEMPLE_NO_BUMP>>

Associated Template/Command/Core
bump-version

Describe the bug
After template creation we are just dumping the TEMPLATE_STRUC into the .cookietemple file. Hence, the template_version property does NOT have a <<COOKIETEMPLE_NO_BUMP>> associated with it. It is therefore not bumped.

To Reproduce
Just create a template.

Expected behavior
The property <<COOKIETEMPLE_NO_BUMP>> should be in the .cookietemple file in the template_version line

LINT COMMAND - Link system

Associated Template/Command/Core
Lint command

Is your feature request related to a problem? Please describe.
Currently links are dead links (when project is linted and an error/warning appears)

Describe the solution you'd like
We should think of a lightweight, flexible and most important SCALABLE link naming system for linting

[CORE] Pytest returns lots of no module named

Describe the bug

==================================================================================== test session starts =====================================================================================
platform linux -- Python 3.8.2, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /home/zeth/PycharmProjects/cookietemple, inifile: setup.cfg
plugins: mock-2.0.0
collected 0 items / 10 errors                                                                                                                                                                

=========================================================================================== ERRORS ===========================================================================================
__________________________ ERROR collecting cookietemple/create/templates/cli/cli_python/{{cookiecutter.project_slug}}/tests/test_{{cookiecutter.project_slug}}.py ___________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/cookietemple/create/templates/cli/cli_python/{{cookiecutter.project_slug}}/tests/test_{{cookiecutter.project_slug}}.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.test_{{cookiecutter'
________________________________________________________________________ ERROR collecting tests/test_info_command.py _________________________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/test_info_command.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.test_info_command'
________________________________________________________________________ ERROR collecting tests/test_list_command.py _________________________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/test_list_command.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.test_list_command'
____________________________________________________________ ERROR collecting tests/bump_version_test_files/bump_version_test.py _____________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/bump_version_test_files/bump_version_test.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.bump_version_test_files'
____________________________________________________________ ERROR collecting tests/bump_version_test_files/test_bump_version.py _____________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/bump_version_test_files/test_bump_version.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.bump_version_test_files'
________________________________________________________________________ ERROR collecting tests/create/test_create.py ________________________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/create/test_create.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.create'
________________________________________________________________ ERROR collecting tests/create/test_create_general_configs.py ________________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/create/test_create_general_configs.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.create'
___________________________________________________________ ERROR collecting tests/create/create_cli/test_cli_template_creation.py ___________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/create/create_cli/test_cli_template_creation.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.create'
_______________________________________________________________ ERROR collecting tests/create/create_gui/test_gui_templates.py _______________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/create/create_gui/test_gui_templates.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.create'
_______________________________________________________________ ERROR collecting tests/create/create_web/test_web_templates.py _______________________________________________________________
ImportError while importing test module '/home/zeth/PycharmProjects/cookietemple/tests/create/create_web/test_web_templates.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ModuleNotFoundError: No module named 'tests.create'
================================================================================== short test summary info ===================================================================================
ERROR cookietemple/create/templates/cli/cli_python/{{cookiecutter.project_slug}}/tests/test_{{cookiecutter.project_slug}}.py
ERROR tests/test_info_command.py
ERROR tests/test_list_command.py
ERROR tests/bump_version_test_files/bump_version_test.py
ERROR tests/bump_version_test_files/test_bump_version.py
ERROR tests/create/test_create.py
ERROR tests/create/test_create_general_configs.py
ERROR tests/create/create_cli/test_cli_template_creation.py
ERROR tests/create/create_gui/test_gui_templates.py
ERROR tests/create/create_web/test_web_templates.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 10 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
===================================================================================== 10 errors in 0.39s =====================================================================================

To Reproduce
Steps to reproduce the behavior:

  1. Run pytest in top level folder of cookietemple

Expected behavior
Tests run and pass

CREATE: Store PAT for GitHub Repo creation secure

Associated Template/Command/Core
Cookietemple create

Is your feature request related to a problem? Please describe.
The user should be authenticated by a PAT. We should configure Cookietemple to automatically look up the PAT (somewhere, thats the issue)

Describe the solution you'd like
TBD

Describe alternatives you've considered
Keyring, credential helper git

Additional context

[LIST] Let's redesign it.

Associated Template/Command/Core
LIST

Describe the solution you'd like
Name Version Frameworks/Libraries Shortdescription Handle

Let's make it tabular

[CLI-PYTHON]

  • Add a mocking framework for tests
  • Write the documentation!
  • Also add a Github CI workflow -> allow the user to choose what he wants to use
  • Verify that the documentation builds and possibly add a rst linter and fix stuff on the fly
  • bump_version works, but the template_version stuff has to be fixed
  • Add a workflow to build the template once

CLI_Python Template linting -- bug summary

Associated Template/Command/Core
Template: python-cli
COOKIETEMPLE lint

Describe the bug
Linting the python cli template (and checking if the versions are consistent across all files)
results in: No such file or directory: 'project_slug/init.py' .

Thats one of the files in the cookietemple.cfg

To Reproduce
Steps to reproduce the behavior:

  1. Run cookietemple create
  2. Select cli, python ...
  3. See error

Expected behavior
Linting (version checking) should just check the versions and not exit with a FileNotFound error

System [please complete the following information]:

  • OS: Ubuntu 18.04
  • Python: 3.7.7
  • Virtual environment: Conda
  • COOKIETEMPLE: development, branch feature/web_template_flask

[KOTLIN]

  • Convert Java-GUI to Kotlin
  • Convert Java-CLI to Kotlin
  • Adapt the programming patterns and possibly test frameworks to something that is more commonly used in the kotlin sphere

autopep8 optional

Associated Template/Command/Core
lint

Is your feature request related to a problem? Please describe.
autopep8 causes lots of issues when applied to COOKIETEMPLE and fucks up all templates.

Describe the solution you'd like
linting should ask whether autopep8 should be run or not and only do so if the user wants

[CORE] linting feedback for bump version success

Associated Template/Command/Core
linting

Is your feature request related to a problem? Please describe.
Would be awesome to get some feedback when the version_consistent lint function passes. Currently it only gives feedback when it fails.

Describe the solution you'd like
A message that it passed.

[INFO-COMMAND]

We should allow a way more flexible syntax style for info command:

  • currently the only "splitter" is -

  • lets add some more separators like spaces, underscore etc

Replace os module with pathlib

We should replace everything we solved using the os module with pathlib module, since it seems to be more platform independent and robust.

[CORE] click 7.0

We want it. We need it.

cookietemple==0.1.0
  - click [required: ==6.6, installed: 6.6]
  - coala-bears [required: ==0.11.1, installed: 0.11.1]
    - autoflake [required: ~=0.6.6, installed: 0.6.6]
      - pyflakes [required: >=0.8.1, installed: 1.4.0]
    - autopep8 [required: ~=1.2, installed: 1.4.4]
      - pycodestyle [required: >=2.4.0, installed: 2.5.0]
    - bandit [required: ~=1.2, installed: 1.6.2]
      - GitPython [required: >=1.0.1, installed: 3.0.5]
        - gitdb2 [required: >=2.0.0, installed: 2.0.6]
          - smmap2 [required: >=2.0.0, installed: 2.0.5]
      - PyYAML [required: >=3.13, installed: 5.3]
      - six [required: >=1.10.0, installed: 1.13.0]
      - stevedore [required: >=1.20.0, installed: 1.31.0]
        - pbr [required: >=2.0.0,!=2.1.0, installed: 5.4.4]
        - six [required: >=1.10.0, installed: 1.13.0]
    - click [required: ==6.6, installed: 6.6]
    - cmakelint [required: ~=1.3, installed: 1.4.1]
    - coala [required: ~=0.11.0, installed: 0.11.0]
      - appdirs [required: ~=1.4, installed: 1.4.3]
      - coala-utils [required: ~=0.6.2, installed: 0.6.7]
        - appdirs [required: ==1.4.*, installed: 1.4.3]
        - pyprint [required: ==0.2.*, installed: 0.2.6]
          - colorama [required: ~=0.3.7, installed: 0.3.9]
          - termcolor [required: ~=1.1.0, installed: 1.1.0]
      - colorlog [required: ~=2.7, installed: 2.10.0]
      - dependency-management [required: ~=0.4.0, installed: 0.4.0]
        - coala-utils [required: ~=0.6, installed: 0.6.7]
          - appdirs [required: ==1.4.*, installed: 1.4.3]
          - pyprint [required: ==0.2.*, installed: 0.2.6]
            - colorama [required: ~=0.3.7, installed: 0.3.9]
            - termcolor [required: ~=1.1.0, installed: 1.1.0]
        - sarge [required: ~=0.1.4, installed: 0.1.5.post0]
      - libclang-py3 [required: ~=3.4.0, installed: 3.4.0]
      - Pygments [required: ~=2.1, installed: 2.5.2]
      - PyPrint [required: ~=0.2.6, installed: 0.2.6]
        - colorama [required: ~=0.3.7, installed: 0.3.9]
        - termcolor [required: ~=1.1.0, installed: 1.1.0]
      - requests [required: ~=2.12, installed: 2.22.0]
        - chardet [required: >=3.0.2, installed: 3.0.4]
        - idna [required: >=2.5, installed: 2.8]
        - urllib3 [required: >=1.21.1, installed: 1.25.7]
      - setuptools [required: >=17.0, installed: 44.0.0]
      - unidiff [required: ~=0.5.2, installed: 0.5.5]
    - cppclean [required: ~=0.12.0, installed: 0.12]
    - cpplint [required: ~=1.3, installed: 1.4.5]
    - dennis [required: ~=0.8, installed: 0.9]
      - click [required: >=6, installed: 6.6]
      - polib [required: >=1.0.8, installed: 1.1.0]
    - eradicate [required: ~=0.1.6, installed: 0.1.6]
    - guess-language-spirit [required: ~=0.5.2, installed: 0.5.3]
    - html-linter [required: ~=0.3.0, installed: 0.3.0]
      - docopt [required: >=0.6.1, installed: 0.6.2]
      - template-remover [required: Any, installed: 0.1.9]
        - docopt [required: >=0.6.1, installed: 0.6.2]
    - isort [required: ~=4.2, installed: 4.3.21]
    - munkres3 [required: ~=1.0, installed: 1.0.5.5]
    - mypy-lang [required: ~=0.4.6, installed: 0.4.6]
    - nbformat [required: ~=4.1, installed: 4.4.0]
    - nltk [required: ~=3.2, installed: 3.4.5]
      - six [required: Any, installed: 1.13.0]
    - proselint [required: ~=0.7.0, installed: 0.7.0]
      - click [required: Any, installed: 6.6]
      - future [required: Any, installed: 0.18.2]
      - six [required: Any, installed: 1.13.0]
    - pycodestyle [required: ~=2.2, installed: 2.5.0]
    - pydocstyle [required: ~=1.1, installed: 1.1.1]
    - pyflakes [required: ~=1.4.0, installed: 1.4.0]
    - pylint [required: ~=1.6, installed: 1.9.5]
      - astroid [required: >=1.6,<2.0, installed: 1.6.6]
        - lazy-object-proxy [required: Any, installed: 1.4.3]
        - six [required: Any, installed: 1.13.0]
        - wrapt [required: Any, installed: 1.11.2]
      - isort [required: >=4.2.5, installed: 4.3.21]
      - mccabe [required: Any, installed: 0.6.1]
      - six [required: Any, installed: 1.13.0]
    - pyroma [required: ~=2.2.0, installed: 2.2]
      - docutils [required: Any, installed: 0.16]
      - setuptools [required: Any, installed: 44.0.0]
    - pyyaml [required: ~=3.12, installed: 5.3]
    - radon [required: ==1.4.0, installed: 1.4.0]
      - colorama [required: >=0.3,<0.4, installed: 0.3.9]
      - mando [required: >=0.3,<0.4, installed: 0.3.3]
    - restructuredtext-lint [required: ~=1.0.0, installed: 1.0.1]
      - docutils [required: >=0.11,<1.0, installed: 0.16]
    - rstcheck [required: ~=2.2, installed: 2.2]
      - docutils [required: Any, installed: 0.16]
      - sphinx [required: >=1.3,<1.5, installed: 2.3.1]
        - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
        - babel [required: >=1.3,!=2.0, installed: 2.8.0]
          - pytz [required: >=2015.7, installed: 2019.3]
        - docutils [required: >=0.12, installed: 0.16]
        - imagesize [required: Any, installed: 1.2.0]
        - Jinja2 [required: >=2.3, installed: 2.10.3]
          - MarkupSafe [required: >=0.23, installed: 1.1.1]
        - packaging [required: Any, installed: 20.0]
          - pyparsing [required: >=2.0.2, installed: 2.4.6]
          - six [required: Any, installed: 1.13.0]
        - Pygments [required: >=2.0, installed: 2.5.2]
        - requests [required: >=2.5.0, installed: 2.22.0]
          - chardet [required: >=3.0.2, installed: 3.0.4]
          - idna [required: >=2.5, installed: 2.8]
          - urllib3 [required: >=1.21.1, installed: 1.25.7]
        - setuptools [required: Any, installed: 44.0.0]
        - snowballstemmer [required: >=1.1, installed: 2.0.0]
        - sphinxcontrib-applehelp [required: Any, installed: 1.0.1]
        - sphinxcontrib-devhelp [required: Any, installed: 1.0.1]
        - sphinxcontrib-htmlhelp [required: Any, installed: 1.0.2]
        - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
        - sphinxcontrib-qthelp [required: Any, installed: 1.0.2]
        - sphinxcontrib-serializinghtml [required: Any, installed: 1.1.3]
    - safety [required: ~=0.5.1, installed: 0.5.1]
      - Click [required: >=6.0, installed: 6.6]
      - packaging [required: Any, installed: 20.0]
        - pyparsing [required: >=2.0.2, installed: 2.4.6]
        - six [required: Any, installed: 1.13.0]
      - requests [required: Any, installed: 2.22.0]
        - chardet [required: >=3.0.2, installed: 3.0.4]
        - idna [required: >=2.5, installed: 2.8]
        - urllib3 [required: >=1.21.1, installed: 1.25.7]
    - scspell3k [required: ~=2.0, installed: 2.2]
    - vulture [required: ~=0.10.0, installed: 0.10]
    - yamllint [required: ~=1.6.1, installed: 1.6.1]
      - pyyaml [required: Any, installed: 5.3]
    - yapf [required: ~=0.14.0, installed: 0.14.0]
  - cookiecutter [required: ==1.6.0, installed: 1.6.0]
    - binaryornot [required: >=0.2.0, installed: 0.4.4]
      - chardet [required: >=3.0.2, installed: 3.0.4]
    - click [required: >=5.0, installed: 6.6]
    - future [required: >=0.15.2, installed: 0.18.2]
    - jinja2 [required: >=2.7, installed: 2.10.3]
      - MarkupSafe [required: >=0.23, installed: 1.1.1]
    - jinja2-time [required: >=0.1.0, installed: 0.2.0]
      - arrow [required: Any, installed: 0.15.5]
        - python-dateutil [required: Any, installed: 2.8.1]
          - six [required: >=1.5, installed: 1.13.0]
      - jinja2 [required: Any, installed: 2.10.3]
        - MarkupSafe [required: >=0.23, installed: 1.1.1]
    - poyo [required: >=0.1.0, installed: 0.5.0]
    - requests [required: >=2.18.0, installed: 2.22.0]
      - chardet [required: >=3.0.2, installed: 3.0.4]
      - idna [required: >=2.5, installed: 2.8]
      - urllib3 [required: >=1.21.1, installed: 1.25.7]
    - whichcraft [required: >=0.4.0, installed: 0.6.1]
  - ruamel.yaml [required: ==0.16.5, installed: 0.16.5]

PULL REQUEST TEMPLATE

Associated Template/Command/Core
Pull Request Template

Describe the bug
The PR template for GitHub does not work like the ISSUE Templates for example

To Reproduce
Steps to reproduce the behavior:

  1. Create PR in this repo
  2. Check, that the PR Template does not work

Expected behavior
PR should be done in a clean template

info

info command shouldn't require --handle but just use the positional argument

think we just have to replace the option with an argument IIRC

[CREATE] Common files copying overwrites already existing folders/files

Associated Template/Command/Core
python-cli / core

Describe the bug
Common files copying overwrites already existing files/directories.
My usecase is:
I want the .github/workflows/*.yml files to be in the respective template and all .github/ISSUE_TEMPLATE and .github/PULL_REQUEST_TEMPLATE files to be copied from the common files folder. Currently, the common files operation just overwrites already existing files in the directory -> it deletes the workflows and just pastes its stuff over it.

To Reproduce
Steps to reproduce the behavior:

  1. Add some files to .github folder of common files & a template
  2. Create a template
  3. Examine the files in the new template

Expected behavior
Common files & template specific files should coexist

Save some configs in environment variables or a .cookietemple folder on the system somewhere

It's very annoying to have to type the name, work email address etc every time one creates a new template.

We can either save them as environment variables the first time cookietemple is used and then always check for them or we save some sort of configuration file in the home folder or something.

@Imipenem The more ideas I have the more I notice that windows support will just never work out. Too much shit is designed for Unix systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.