Package: projecteer
ProjecteerThis is a tool for all people doing many projects.This should:configurationhelp you with Project setupGetting startedThe easiest way to install Projecteer is to use pip:pip install projecteerTo get started create aproject.configfile in the root of your project.This will be the last config file I promiseIn it write a format like dotenv:[VARIABLENAME]=[EXPRESSION]But unlike dotenv, theEXPRESSIONcan also be a calculation (any python expression in that regard), thus strings have to be contained in"quotes.After that you can use the|VARIABLENAME|inANYfile, just mark it as.configuredsomewhere in the nameeg:.configured.envmySite.configured.htmldocker-compose.configured.yamlWhen working with git:
add|PROJECTEER_GENERATED_FILES|to your.gitignore, to not check them into source-controlFor your scripts:
add aproject.scriptsfile and add your scripts like so:SCRIPTNAME: SCRIPT-COMMAND WITH |VARIABLES|if you have multiple commands that should be executed from the same working-directory:CWD = ./even/here/|VARIABLES|For a better understanding, please look at theexample.ConfigurationProjecteer helps you to configure yourprojectnot yourapplication.
The difference being that a project can be anything, also multiple applications.Learn about theBest practicesto make the most out of projecteer and not get frustrated.VariablesLets say you have a backend and a frontend, and they should communicate over http.
You set the port to be8080for now. Now later in your development, you decide 8080 is garbage, i need80then you would have to set that value in both frontend and backend. That isnt too bad, but once you have your dockerfiles,
deployment scripts/configs, custom scripts, npm start scripts and what not, it can become tedious.Projecteer allows you to set yourCONFIGVariables inONEplace.ScriptsTake that example, your backend is an nodeJs application and you have some npm-scripts, as well as another project written in dart/flutter:You can create a script to get everything up and running with one command:projecteer setuporprojecteer install, however you like, this can be achieved by:setup: cd |BACKEND_DIR| && npm i && cd ../|FRONTEND_DIR| && flutter pub getYou can set a working directory inside the scripts file for all commands below:CWD=./someWrkdirCWD=./|someVariable|/somethingElseCommandsCleanupYou don't need to worry about projecteer not keeping everything tidy, but if you do have issues, there is this command:projecteer cleanupThis will remove all generated files.Special commandsEver wondered, how many lines of code you have written in 534 files?
Well projecteer can help you with that and more:projecteer statsThis command will use the array of source-folders as specified withSRC_FOLDERS.
You can use and!in front of a folder to exclude it from the calculation
Per default it will use.and exclude.*and.projecteer, which will be always excludedBest practicesProjecteer is designed to update other config formats, not sourcecode, though undoubtedly it will do that.
The reason for not using it to configure sourcecode is that you will end up with many duplicate files in your sourcecode folders.So it is encouraged to let projecteer configure:config-files.env files.config.eslintand what notdockerfilesdocker-composedeployment filesk8s filescustom scripts
this is discuraged, if possible, because you should also use config filesapi-specsdocumentation