Skip to main content

A project to help all fellow devs to not waste time in doing the boring and repetitive stuff

Project description

:computer: WorkspaceAutomation :computer:

WorkspaceAutomation is a CLI tool designed to simplify and automate the process of setting up development workspaces. With this program, you can create, edit, delete, and manage customized workspaces, streamlining your daily workflow and boosting your productivity.

Features

  • Automated Workspace Creation: Automates the creation of a complete development environment with a single command.
  • GitHub Integration: Publish any workspace as a GitHub repository on creation or later on.
  • Application and URL Management: Save APPs and URLs associated with a workspace so they automatically open when reopening the workspace.
  • Workspace Editing and Relocating: Easily modify workspace settings ot move it to another directory on your PC
  • Project Importation: Import an existing project on your machine and transform it into a workspace.
  • Pleasing CLI: If typing parameters for a command is not for you, you can always enter the parameters through our beautiful prompts.

:arrow_down: App Installation

Using built application

You can download the installer for your Operating System in the releases tab.
It's preferable to download the latest version always for many reasons. Download it here.

Using it as a Python Package

If you're a python enjoyer 🗿 you can install it with pip from pypi.org to your main python installation so you can use it automatically from the terminal.

For doing this, just open a terminal and run: pip install WorkspaceAutomation

Building the python package yourself

You can always download the source version either from latest release and build it yourself. To do so follow the next steps:

Download the Repo
  • First go to the latest release on the releases page
  • Scroll to the bottom and download the source.zip file
  • Unzip the file where you desire
Install the dependencies
  • Now make sure you're running on python 3.12.4 (run python --version)
  • Now run python -m pip install -r requirements_dev.txt
Install app via pip
  • Now run python -m pip install -e .
  • Your CLI app is now working and you can call it via command line whenever you want

Usage

:bookmark_tabs: INDEX

Other Flares and Commands

There are additional commands, which are:

  • -v, --version: Will display the current version of your WorkSpaceAutomation App.
  • -h, --help: Will display the help message of the App.
  • --update: Will update your program to the latest released version. (Only works if the app is installed as a python module)
  • --uninstall: Will uninstall the program, but this will not errase your WorkSpaces.

There is an additional flare which is:

  • -y, --yes: Will stop confirmation prompts.

SetUp the application

This will only be run only one time, and the command will be: Workspace-auto + -i or --init

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace
  • --add-apps: Flare to activate the app adding prompt form
  • --del-apps: Flare to activate the app deleting prompt form
  • --add-urls: Flare to activate the url adding prompt form
  • --del-urls: Flare to activate the url deleting prompt form

Required flares

There are two required flares at all times, and these are: -c, --command COMMAND: Contains the command to run -k, --key KEY: Contains the password to encrypt/decrypt the API-KEY

Create a New Workspace

In order to create a new Workspace you will use the next command: Workspace-auto -c create

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To set the name of the WorkSpace
  • --directory DIRECTORY: To set where the WorkSpace will be located
  • --language LANGUAGE: To set the main language of the project
  • --github: Flare to use if you want to create a GitHub repo
  • If --github was used:
    • --owner: To set the owner of the repo
    • --private: Flare to use if want to create a private repo
    • --license: To set the license for the repo

Import a project as a Workspace

In order to import a Workspace you will use the next command: Workspace-auto -c import

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To set the name of the WorkSpace
  • --directory DIRECTORY: Directory where the WorkSpace is located
  • --github: Flare to use if you want to create a GitHub repo
  • If --github was used:
    • --owner: To set the owner of the repo
    • --private: Flare to use if want to create a private repo
    • --license: To set the license for the repo

Delete an existing Workspace

In order to import a Workspace you will use the next command: Workspace-auto -c delete

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace

Open a Workspace

In order to open a Workspace you will use the next command: Workspace-auto -c open

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace

Publish a Workspace to GitHub

In order to import a Workspace you will use the next command: Workspace-auto -c publish

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace
  • --owner: To set the owner of the repo
  • --private: Flare to use if want to create a private repo
  • --license: To set the license for the repo

Edit a Workspace

In order to import a Workspace you will use the next command: Workspace-auto -c import

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace
  • --add-apps: Flare to activate the app adding prompt form
  • --del-apps: Flare to activate the app deleting prompt form
  • --add-urls: Flare to activate the url adding prompt form
  • --del-urls: Flare to activate the url deleting prompt form

Move a Workspace

In order to import a Workspace you will use the next command: Workspace-auto -c import

You can also specify optional parameters instead of using the CLI prompted form. The command will be able to use all of the next optional arguments:

  • --name NAME: To select by the name of the WorkSpace
  • --new-directory: To set the new directory to move the WorkSpace to.

Re-Config the APP

In order to reconfigure the app you will use the next command: Workspace-auto -c config -sc SUBCOMMAND

Aviable SUBCOMMANDS are with they're respective optional arguments are:

  • -sc vscode --vscode VSCODE: VSCODE being the VSCODE type
  • -sc languages --set-up-languages SET_UP_LANGUAGES: SET_UP_LANGUAGES being the languages you will use.
  • -sc directories which has two flares:
    • --custom-dir CUSTOM_DIR: The main directory where the rest will be stored
    • --create-directories: A flare that determines if the directories will be created or selected.
  • -sc github-user --github-user GITHUB_USER: Your GitHub username.
  • -sc api-key --api-key API_KEY: Your GitHub API-KEY.

:memo: Working on

Currently working on the first release for the application (0.1.0 following the convention of Mayor.Minor.Patch)

Already planned releases

VERSION INCLUDES
0.1.0 First Version
0.2.0 Multilingual support
0.3.0 Up/Un for every installation type
0.4.0 Reestructure help message
0.5.0 Code Review and Refactoring
1.0.0 First Release Version

On consideration

Right now we have three main things in consideration for future updates for this Application, which are:

  • URL/APP saving on the go, making it easier to manage your workspaces
  • GitLab support
  • More editors support (like JetBrains IDE's and VisualStudio)
  • Custom .gitignore adding all folders and files that are not usually wanted in your Repo's like tests or editor configurations.
  • Notion support
  • Multilingual support (May make the project collaborative)

Feel free to open Feature Requests issues to request things related to this concepts such popular IDE's, popular Git services with REST API's (API needed for being able to give support), unwanted types of files and folders generated by WorkSpace creations, etc.

:open_file_folder: Known Issues

Right now there are no known issues or vulnerabilities, if you encounter one, please use the Issues page to make me aware. We are knowledgeable that theres no way to update and uninstall the program via CLI itself if its not installed as a python module, this is not an error, it's jut not implemented yet.

:scroll: License

WorkspaceAutomation is distributed under the GPL v3.0+ license.
See the LICENSE file for more information.

:money_with_wings: Sponsor this project

You can support me and the project with a donation to my Ko-Fi

ko-fi

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

workspaceautomation-0.1.0.tar.gz (58.8 kB view details)

Uploaded Source

Built Distribution

WorkSpaceAutomation-0.1.0-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file workspaceautomation-0.1.0.tar.gz.

File metadata

  • Download URL: workspaceautomation-0.1.0.tar.gz
  • Upload date:
  • Size: 58.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for workspaceautomation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6256c6e0208225fa60d892edf0bd35dc093b178e1ed66be2d72f2f3ca486f3fe
MD5 ea01d7b6788406f2bc43efc5a2f98d1d
BLAKE2b-256 e990bfb28181846c68cba920532b74123b222733c12d60a95fea2ef0234527a3

See more details on using hashes here.

File details

Details for the file WorkSpaceAutomation-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for WorkSpaceAutomation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67afda88996db943be94cc3031af159bc49dde2a9d4bbf16e61db52820a4ae9b
MD5 52d0dd0e9b673add791ae73fc9b0db11
BLAKE2b-256 1a369f636144f2e0eca9d2e89dd29e087d0de3f97e5bdeeed3e9e209a8e1fd53

See more details on using hashes here.

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