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
- Create a new Workspace
- Open a Workspace
- Edit a Workspace
- Move a Workspace
- Import a project as a Workspace
- Publish a Workspace to GitHub
- Delete an exiting Workspace
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6256c6e0208225fa60d892edf0bd35dc093b178e1ed66be2d72f2f3ca486f3fe |
|
MD5 | ea01d7b6788406f2bc43efc5a2f98d1d |
|
BLAKE2b-256 | e990bfb28181846c68cba920532b74123b222733c12d60a95fea2ef0234527a3 |
File details
Details for the file WorkSpaceAutomation-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: WorkSpaceAutomation-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67afda88996db943be94cc3031af159bc49dde2a9d4bbf16e61db52820a4ae9b |
|
MD5 | 52d0dd0e9b673add791ae73fc9b0db11 |
|
BLAKE2b-256 | 1a369f636144f2e0eca9d2e89dd29e087d0de3f97e5bdeeed3e9e209a8e1fd53 |