Package: nester-struct
Building the nest for youWelcome to Nester!A small command line tool to set up the basic structure for your Python, C#, C++, Java or Ruby project.IndexIntroductionOur GoalInstallationGet it from PyPi!Get it as an.rpmpackage (wip)Build it from sourceUsageCLI ModeInteractive / GUI - ModeSupported LanguagesDocumentationRead the DocsTowncrier (wip)ContributingIntroductionWhen you are reading this, you are probably thinking "what?", "how?" and "why?".Nesterwas born out of the desire to have an easier way to set up new projects without having to check what file or folder goes where.Just run a command, select a language and everything will be set up for you ready to go.Now, you might say "but <Your IDE HERE> can do this all on its own!", yes I realize that many modern IDEs will set up a new project perfectly fine for you. And some languages, such as GoLang, have their own CLI utilites to set everything up where it belongs.Let me tell you though, who cares?Our GoalOur goal withNesteris to provide developers a quick and easy way to set up and manage new projects adhearing to the given language's standard giving you more time to actually build your application without having to deal with mkdir-hell.One simple cli-Command and Nester will do the rest for you, optionally even initializing a new git-repository for you.Nester, by default, also logs all projects you create with it which allows you to easily view and clean up your projects and avoid creating duplicate projects. Never loose your overview over your projects again!InstallationGet it from PyPi!Nesteris released onPyPi!To do so, make sure you have at leastPython 3.10andpipinstalled.To getNestersimply run:pipinstallnester-structYour done! Have fun withNester!Note: At least on openSUSE,pipdoes no longer allow packages to be installed system-wide. At least not without using the--break-system-packagesflag.To install the most recent Nester version from PyPi, you can usepipx.Simply downloadpipxusing your distribution's package manager and install Nester just like you would withpip.pipxinstallnester-structGet it as an.rpmpackage (wip)We can now offer a.rpmpackage!To do so follow these steps (on openSUSE):Add the repositorysudozypperaddrepohttps://download.opensuse.org/repositories/home:kodymo/openSUSE_Tumbleweed/home:kodymo.repoRefresh your repositoriessudozypperrefInstall Nestersudozypperinstallpython3-nesterNote: The repository contains three builds for nester for Python 3.9, 3.10 and 3.11.zypperwill automatically decide which version to use when running the command above.You can visit the repository on thepackage maintainer's OBS account.Build it from sourceIf you want to contribute toNesteror just prefer building it yoursef, refer to theContributing Guideto find out how.UsageNesterstrives to be easy to use and will have to modes of operation:CLI ModeThis mode will be the default and howNesteris supposed to be used.Simply callnester, hand it the operation and the language you want and whether you want to initialize a git repository alongside it. Done!nester <OPERATION> <OPTIONAL FLAGS> <LANGUAGE> <PROJECT_NAME>The following operations will be available:OperationFlagsArgumentArgumentEffectcreate-g/--git,--no-logLanguageProject_NameCreates the project structure for the selected lanugage inthe current directory. IF-gitis set it will also callgit initin this directory.--no-logWill prevent Nester from creating a log entry for this project. You can find the log in your home directory at~/nester.logvalidaten/ALanguageProject_NameChecks the current directory and its sub-directories if it corresponds to the schema provided for the languagerenamen/AOld_Project_NameNew_Project_NameRenames your chosen project and its corresponding log entry.Only works for logged projects.log--cleann/An/APrints out allloggedprojects that have been created previouslyIf the--cleanflag is set, orphaned log entries (projects which had their directory deleted) will be purged from the logclean-y/--yesProject_Namen/ADeletes the content of the specified projectInteractive / GUI - ModeThis is considered to be the fallback mode. IfNesteris called without any arguments you will be asked to enter all parameters manually.The parameters themselves will stay the same though.nesterSupported LanguagesCurrently planned support for the following languages is planned.LanguageParameterSupported yet?Pythonpy:heavy_check_mark:Cc:heavy_check_mark:C++cpp:heavy_check_mark:C#cs:heavy_check_mark:Rubyrb:heavy_check_mark:Javajava:heavy_check_mark:Note:Python will be set up with thesrc-Layoutwhich currently seems to be the standard for Python projects and was the stone that started it all.For the future we are also looking into supporting languages with built-in set up features simply by calling them aswell as other languages with standardized structure layouts, but for now this list is all which will be supported.DocumentationGood documentation is very important to us, even with such a small project like Nester. To this end we have two methods in place to build documentation for us:Read the DocsOn ourRead the Docswe build the documentation for the project. You can find the installation and usage guides there, aswell as an overview over the languages we support or want to support.Also there is the automatically build documentation of functions and modules that make Nester go.Towncrier (wip)Towncrier is used to build changelogs for us. It is required that Pull Requests, which change Nesters behaviour, include a changelog file.ContributingWe are happy to welcome you to the group of Nester contributors. Please check theContributing Guideto find out how you can help achieve our goal.If you are curious on what we next need help with,check the issues page.