createstructure

With this program, you can easily create a repository on GitHub :octocat: with a basic template, personalized for your use.


Keywords
github, template, automation, python3, pypi-package, createstructure
License
GPL-3.0
Install
pip install createstructure==7.9

Documentation

createstructure

GitHub license Author Version Language Python sys.platform supported On GitHub PyPI

Contents

Description

This is the magic :octocat: bot :octocat: by Castellani Davide With this program, you can easily create a repository on GitHub :octocat: with a basic template, personalized for your use.

Required

  • Windows/ Ubuntu OS
  • Internet connection
  • GitHub account

Installation

  • Debian/ Ubuntu using apt:
    • sudo add-apt-repository ppa:castellanidavide/createstructure; sudo apt update; sudo apt install createstructure
  • Linux using snap:
    • snap install createstructure; echo "alias createstructure='/snap/createstructure/current/bin/createstructure'" > ~/.bashrc
    • Refresh terminal
  • Windows (using choco):
    • choco install createstructure=7.0
    • createstrucure.exe -l <- for the login
  • Manual by source:
    • install git
    • download the repo git clone https://github.com/createstructure/createstructure.git
    • install python3
    • install pip3
    • install requirements.txt (in the core of the project): pip3 install -r requirements/requirements.txt
    • create an alias
      • name: createstructure
      • attribute: python3 <ABSOLUTE_PATH_OF_REPO>/bin/createstructure.py -t=<TOCKEN> -s=<ARRAY_OF_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_TO_BE_IGNORED_FROM_TEMPLATE>

Attention: replace <SOME_WORDS> with your values

Update

  • Debian/ Ubuntu using apt:
    • sudo apt update; sudo apt upgrade
  • Linux using snap:
    • snap refresh createstructure
  • Windows (using choco):
    • choco upgrade createstructure --version=7.0
  • Manual by source:
    • In the repo core git pull
    • pip3 install --update createstructure

Attention: replace <SOME_WORDS> with your values

Delate

  • Debian/ Ubuntu using apt:
    • sudo apt remove createstructure
  • Linux using snap:
    • snap remove createstructure
    • delate alias createstructure='/snap/createstructure/current/bin/createstructure' in the ~/.bashrc file
  • Windows (using choco):
    • choco remove createstructure
  • Manual by source:
    • Remove the repository on your PC
    • Remove alias
    • pip3 uninstall createstructure

Attention: replace <SOME_WORDS> with your values

How to use

  • First time
    • createstructure -l
    • Follow the passages
  • createstructure
    • Follow the passages

How to create your own template

1. Install createstructure

2. Use template option

  • createstructure -t

3. Personalize it

  • You can clone on your PC and choose what and how to change (it's not a problem if you want to change all the structure 😄)
  • Take attention to che .castellanidavide\change.json file
    • You can see some change examples => ... "from": "to", ...
    • Make attention to this special alias
      • sol<question_tag>sol -> the result of your answer in the form you made at the beginning
      • time__now -> Datetime (format yyyy-mm-dd)
      • time_now -> Datetime (format yyyymmdd)
      • (Do you have any idea? You can say me on the help email help@castellanidavide.it and I could add it to newer versions)
  • Remember to push your changes

4. Add your account into research

  • Add your name into the sources, if not I suggest you to do the login again

5. Try it

  • Try to execute this programm and check correct use

Directories structure

  • .github
    • ISSUE_TEMPLATE
      • bug_report.md
      • feature_request.md
    • workflows
      • on-push.yml
      • on-release.yml
  • choco
    • tools
      • chocolateybeforemodify.ps1
      • chocolateyinstall.ps1
      • chocolateyuninstall.ps1
      • createstructure.c
      • createstructure.exe
      • createstructure-setup.c
      • createstructure-setup.exe
      • LICENSE.txt
      • VERIFICATION.txt
    • createstructure.nuspec
    • ReadMe.md
    • set.txt
  • createstructure
    • __init __.py
  • debian
    • createstructure
    • createstructure.1
    • createstructure.c
    • debian
      • changelog
      • compat
      • control
      • copyright
      • createstructure.debhelper.log
      • createstructure.dirs
      • postinst
      • postrm
      • preinst
      • rules
      • source
        • format
    • Makefile
    • requirements.in
  • docs
    • _config.yml
    • LICENSE
    • README.md
  • requirements
    • requirements.txt
  • snap
    • snapcraft.yaml
  • snap-bin
    • CMakeLists.txt
    • createstructure.c
  • setup.py
  • .gitignore

Changelog

08.04_2021-05-05

08.03_2021-04-17

  • fixed a bug on ".github/workflows" folder scanning

08.02_2021-04-17

  • On release push snap package as stable

08.01_2021-04-15

  • Added the download option
  • Minor changes

7.9_2021-04-04

  • Fixed a bug in the python code
  • Optimized choco package
  • Added envirorments for GitHub Action on every release

7.8_2021-03-13

  • Fixed a bug

7.7_2021-03-13

  • Added snap package
  • Optimized README.md
  • Optimized wiki

7.6_2021-03-13

  • Optimized launcher (createstructure.c)

7.5_2021-03-07

  • Fixed a bug
  • Added the avariability for not-texual files

7.4_2021-03-07

  • Fixed a minor bug

7.3_2021-03-07

  • Fixed few bugs

7.2_2021-03-04

  • Optimized the change method
  • Added the auto-generate token option
  • Unified the createstructure.c files for
    • Debian/ Ubuntu
    • Windows
  • Optimized README.md
  • Created wiki
  • Automate Ubuntu package push to launchpad server
  • Optimized choco package
  • Uniformed all to use private templates or the once on createstructure organization
  • create_structure => createstructure

7.1_2021-02-13

  • Change internal team variable (team pointer => team name)
  • Adjust emoji
  • Add a parameter to create a template eg. -temp --template
  • Optimized multithreading on push

7.0_2021-01-11

  • Added Debian package
  • Added Choco package
  • Automate Choco package publishing

6.2_2021-01-04

  • Added emoji 😄 to the output

6.1_2021-01-03

  • Fixed a bug
  • Adjusted variable names
  • Added a method to understand when an answer is positive, this for a more centralized control
  • Added developer/ verbose setting
  • Update .gitignore
  • Added the possibility to add automatically the answers
  • Optimized README.md
  • Now the workflows file are loaded at the end
  • Update workflows

5.5_2020-12-13

  • Add first version of GitHub Actions

5.4_2020-12-12

  • Fixed some bugs
  • Changed the README.md
  • Create a setup method <= easier to use
  • Changed the way to give the tocken, ... => now by CLI

5.3_2020-11-29

  • removed some untils lines
  • accelerated the code
  • parametrized the folder to be ignored
  • start to use multitreading (41 sec. -> 10 sec.) (I made this test using this template)
  • optimized imports
  • optimised variables

5.2_2020-11-28

  • Added the website documentation
  • Fixed a bug

5.1_2020-11-28

  • Fixed a bug
  • Add team selection in runtime execution

5.0_2020-11-21

  • Fixed a bug
  • Made a better documentation
  • Optimized the question structure
  • Optimized the questions
  • Added some variables
    • Template sources list
    • Organization name (if you want to save into an Organization)
  • Removed some ununtil variables

4.0_2020-09-25

Changes
  • Fixed a bug
  • Remove the necessity of insert credentials any time
  • Download in any case, before only if public repo
  • removed unused files

3.1_2020-08-18

Changes
  • optimized the code
  • added requirements.txt

3.0_2020-08-15

Changes
  • add GitHub support with a lot of options (eg. repo private or public)

2.0_2020-03-24

Changes
  • adjusted some bugs
  • improved the program

1.0_2020-03-24

  • Initial version

Made by Castellani Davide If you have any problem or ask please contact me: