Added base of CONCEPT
This commit is contained in:
parent
61effffff4
commit
0e137f49e5
1 changed files with 80 additions and 0 deletions
80
CONCEPT.md
Normal file
80
CONCEPT.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# CLI Concept
|
||||
|
||||
------------------------------------------------------
|
||||
## Welche Features soll das Programm am Ende besitzen?
|
||||
- Installation von Paketen
|
||||
- Checksum Verification
|
||||
- Suchen von Paketen
|
||||
- Liste von installieren Paketen
|
||||
- Verwaltung von installierten Paketen
|
||||
- Update
|
||||
- Uninstall
|
||||
- etc.
|
||||
- Dependencies von Paketen
|
||||
- Portable Version
|
||||
- Managed und Community package registries
|
||||
- Self-hosted package registries
|
||||
- Latest Package direkt vom Herstellt
|
||||
|
||||
------------------------------------------------------
|
||||
## Welche Techonologien werden verwendet?
|
||||
|Technologie | Verwendungszweck |
|
||||
|:--------------:|-----------------------------------------|
|
||||
| gRPC | Kommunikation zwischen Server un Client |
|
||||
| Golang | Programmiersprache |
|
||||
| urfrace/cli/v2 | Library für CLI |
|
||||
|
||||
------------------------------------------------------
|
||||
## Welche Befehle wird die cli haben?
|
||||
**Usage:** ```lpm <Option> [Args]```
|
||||
|
||||
|
||||
### Options:
|
||||
- ``push``: Pusht das angegebene Package
|
||||
- Syntax: ``lpm push <registry>/<package>:<version>``
|
||||
- Rules:
|
||||
- Falls keine Registry angegeben ist, wird zur community Registry gepusht
|
||||
- Wird keine Versionsnummer angegeben, wird ``latest`` benutzt
|
||||
<br><br>
|
||||
- ``pull``: Pullt das angegebe Package
|
||||
- Syntax: ``lpm pull <registry>/<package>:<version>``
|
||||
- Rules:
|
||||
- Falls keine Registry angegeben ist, wird zur community Registry gepusht
|
||||
- Wird keine Versionsnummer angegeben, wird ``latest`` benutzt
|
||||
<br><br>
|
||||
- ``list``: Zeigt alle installierten pakete an
|
||||
- Syntax: ``lpm list``
|
||||
- Rules:
|
||||
- n/a
|
||||
|
||||
<div style="color: red"><center><b>↓↓↓↓↓ @[06/11/21] ↓↓↓↓↓</b></center></div>
|
||||
|
||||
- ``search``: Schickt eine suchanfrage an (an alle registry)
|
||||
- Syntax: ``lpm search [flags] [registry/]<package>``
|
||||
- Flags:
|
||||
- ``l``,``--list-versions`` - Zeigt alle verfügbaren versionen an
|
||||
- ``c``,``--checksum`` - Zeigt die checksumme der gefundenen pakete an
|
||||
- Rules:
|
||||
- Werden keine Pakete gefunden wird dies dem User berichtet.
|
||||
- Falls keine registry angegeben, dann werden alle registries in der RegsitryListe abgefragt
|
||||
|
||||
<div style="color: red"><center>--------------------------------------------------------------------------------</center></div>
|
||||
|
||||
**More coming soon...**
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## TODO Talk [06/11/21]
|
||||
- **Wie sollen Versionsnummern aufgebaut sein?**
|
||||
- Mein Vorschlag: ``Major.Minor.Patch.Hotfix_Channel``
|
||||
- Major: Für Große Updates (e.g BC 17->18)
|
||||
- Minor: Für kleinere **Feature** Updates (e.g BC18.2->18.3)
|
||||
- Patch: Für Bugfixes die nicht schnell erfolgen müssen
|
||||
- Hotfixes: Für **notwendige** fixed die nicht lange warten dürfen
|
||||
- Channel: ``stable``. ``beta``, ``dev``,``alpha``, etc.
|
||||
<br><br>
|
||||
- **Suchanfragen: Werden diese an alle geschickt, oder nur an eine angegebene registry?**
|
||||
Reference in a new issue