Skip to main content

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

Project description


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



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.


  • Windows/ Ubuntu OS
  • Internet connection
  • GitHub account


  • Debian/ Ubuntu using apt:

    • sudo add-apt-repository ppa:castellanidavide/createstructure; sudo apt update; sudo apt install createstructure
  • Windows (using choco):

    • choco install createstructure=7.0
    • createstrucure.exe -l <- for the login
  • Manual by source:

    Attention: replace <SOME_WORDS> with your values

    • install git
    • download the repo git clone
    • 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/ -t=<TOCKEN> -s=<ARRAY_OF_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_TO_BE_IGNORED_FROM_TEMPLATE>


  • Debian/ Ubuntu using apt:
    • sudo apt update; sudo apt upgrade
  • Windows (using choco):
    • choco upgrade createstructure --version=7.0
  • Manual by source:

Attention: replace <SOME_WORDS> with your values - cd <ABSOLUTE_PATH_OF_REPO>; git pull


  • Debian/ Ubuntu using apt:
    • sudo apt remove createstructure
  • Windows (using choco):
    • choco remove createstructure
  • Manual by source:

Attention: replace <SOME_WORDS> with your values - cd <ABSOLUTE_PATH_OF_REPO>; git pull

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 :smile:)
  • 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 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
    • 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
    • set.txt
  • createstructure
    • __init
  • debian
    • createstructure
    • createstructure.1
    • createstructure.c
    • debian
      • changelog
      • compat
      • control
      • copyright
      • createstructure.debhelper.log
      • createstructure.dirs
      • postinst
      • postrm
      • preinst
      • rules
      • source
        • format
    • Makefile
  • docs
    • _config.yml
  • requirements
    • requirements.txt
  • .gitignore



  • Optimized the change method
  • Added the auto-generate token option
  • Unified the createstructure.c files for
    • Debian/ Ubuntu
    • Windows
  • Optimized
  • 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


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


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


  • Added emoji :smile: to the output


  • 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
  • Now the workflows file are loaded at the end
  • Update workflows


  • Add first version of GitHub Actions


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


  • 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


  • Added the website documentation
  • Fixed a bug


  • Fixed a bug
  • Add team selection in runtime execution


  • 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


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


  • optimized the code
  • added requirements.txt


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


  • adjusted some bugs
  • improved the program


  • Initial version

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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

createstructure-7.2.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

createstructure-7.2-py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page