Package: python-af
🔥 Autoflow 🔥Automating your project workflows and making your life easier!🔥 IntroductionWelcome to 🔥 Autoflow 🔥, the command-line tool that automates all of your project initializations and project setups!Using this CLI, you will be able to use your time more productively by working through your project instead of going through tedious parts of the initialization workflow. You'll be able to jump to multiple projects from anywhere, start your project backends more easily, and set up new projects with less commands.🔥 SupportLanguages/Project types supported:OS support:Python versions supported:🔥 Get StartedLet's install our package!pip install python-aforpip3 install python-afThere's also one configuration that needs to be done. First, move to the package directory:cd ~/.autoflowThere, you will find an af-config.json file. This is your global configuration file that enables Autoflow to link to your projects directory, open your text editor,
or push to your GitHub. The defaults are set as below:{
      "defaultDirectory": Path.home()
      "defaultTextEditor": "nano",
      "github_token": "${{ secrets.GITHUB_TOKEN }}"
}Replace the default directory config with the path to wherever you keep your projects and the default text editor config with whatever you like to use for your editor(ie. "code" for VSCode). The github token config is set up for use in our CI/CD workflow and will not actually work for you. Replace it with your personal access token, which you can generate by going to github.com, going to Settings, clicking on "Developer Settings" on the right-side menu, clicking on "Personal Access Tokens" in the new menu, and clicking "Generate new token" in the right upper corner.You are now set up to use Autoflow!🔥 UsageIn order use Autoflow with any specific project, you will have to have a local configuration file within that project folder called af-config.json. This is how it should be set up:{
     "type": "<project type>",
     "command": "<start server command for project>"
}This is to ensure that theaf startcommand works properly and starts your project backend if you have one. The project types supported are listed in theSupportsection.In order to have these instructions again and see the commands you can run, run this command in your terminal:af --help.
This will give you everything you need to start using this package and is similar to the instructions found here.🔥 Autoflow in Action🔥 Command:af jump🔥 Command:af new🔥 Command:af start🔥 Command:af git-cli🔥 Tech Stack:CLI Backend:Languages:Testing:CI/CD:Version Control:🔥 TestingWe used multiple tools to enable unit testing and CI/CD for this project. For testing, we used pytest and click.testing to invoke the commands and test their outputs in several situations in one test script. This test script is setup to work with GitHub Actions, which is what we used for our CI/CD workflow. We were able to implement unit tests in this way, and all the tests are commented through to enable easy read-through for other potential contributors.GitHub actions allowed us to run multiple builds with multiple operating systems(macOS and Ubuntu) and multiple python versions(3.6, 3.7, 3.8). Once we add support for Windows, we will add that build to our matrix as well. As of right now, every time we push to the main branch of this project or merge something to the main branch, the GitHub actions testing workflow will run.We will also be using releases to keep track of our versions. Our version released on November 24th will be version 1.🔥 What We LearnedSubprocesses in PythonTesting with pytestLinting with flake8Setting up CI/CD with GitHub ActionsBuilding a CLI with PythonPublishing a package to PyPiUsing the GitHub API for our CLIIn regards to soft skills, we learned to ask for help from our MLH mentors instead of trying to solve problems with little success.🔥 ContributingAutoflow is fully Open-Source and open for contributions! We request you to respect our contribution guidelines as defined in ourCODE OF CONDUCTandCONTRIBUTING GUIDELINES.❤ ContributorsDipanwita GuhathakurtaSaurabh Kumar SuryanShilpita BiswasMade with ❤️️ by Team Autoflow as part of MLH Explorer Fall Fellowship 2020 Sprint 4.