soypak/README.md

79 lines
2.6 KiB
Markdown

![soypak logo](https://git.closedless.xyz/ClosedLess/soypak/raw/branch/11435da41b/assets/soypack-logo.svg)
# soypak
An additional package manager for managing Debian apps on Linux distros.
This branch is an early prototype to demonstrate the CLI interaction with soypak,
and provides a vision of what is to be created. It is not an early prototype which
can perform package management. With that, there may be typos and other bugs.
## Setup & Installation
This branch can be cloned with the following command.
```
git clone --single-branch --branch 11435da41b https://git.closedless.xyz/ClosedLess/soypak.git
cd soypak/
```
Afterwards, a virtual environment should be created to prevent system-wide pip
installation.
```
python3 -m venv <virtualenv>
```
Then the following pip installation commands can be ran
```
pip3 install -e .
pip3 install clog-x.x.xxx-py3-none-any.whl # where x.x.xxx is the latest version release
```
You can fetch the latest version of CLog from
[here](https://git.closedless.xyz/ClosedLess/clog/releases). Either the `.whl` or `tar.gz` file.
## Using soypak
After setting up soypak, the app can be ran using the Python interpreter
```
python3 soypak/soypak-cli.py help
```
This will print the help message to the terminal and exit. Here, the `help` command
is used explicitly, however the same can be achieved by providing no commands (an
additional error message will also be printed at the top in red).
The following is the output printed
```
Usage: soypak [options] <command> [arguments]
A package manager to manage Microsoft apps.
Where <command> is one of:
help Display the help message of the give command(s), or print this message.
Options:
-h, --help show this help message and exit
--version show the program's version number and exit
Author(s): Ethan Smith-Coss.
Contacts: ethan.sc@closedless.xyz
Thanks for using our software 🍪
Copyright (C) ClosedLess 2023. Licensed under GNU GPLv3+
```
As stated in the printed message, `help` provides the help message of a given command.
With this, we can pass 'help' as an argument to `help`
```
python3 soypak/soypak-cli.py help help
```
This will produce the following output
```
help: Display the help message of the give command(s), or print this message.
Usage: Usage: help [<command1>, <command2>, ..., <commandn>]
If no arguments are specified, the general help message is displayed.
```
Help messages are structured in the following format:
- `<command name>: <synopsis>` - the name of the command and its shortest description
- `<usage>` - how to use the command in question
- `<summary>` - an extended description of the command