docs: update readme

This commit is contained in:
2023-03-31 15:53:43 +03:00
parent b0296053eb
commit a9a78ba43e
+57
View File
@@ -1 +1,58 @@
# Project Manager
## Install
```bash
pip install project-manager -i https://instreamatic.com/nexus/repository/pypi/simple/
```
## Usage
### Show tasks list
```bash
pm [-v] [-vv]
```
### Run task
```bash
pm <task> [-v] [-vv]
```
## Presets locations
- default presets `$PROJECT_MANAGER/project_manager/preset/default/*.toml`
- user preset `$HOME/.preset.toml`
- project preset `./.preset.toml`
## Preset format
### Template
```toml
[presets.<entry_type>.tasks.<task_name>.<tag>]
conditions = ["<condition>"]
commands = ["<command>"]
```
### Copy default config sample
```toml
[presets.config.tasks.setup.config]
conditions = ["file(config/base.yaml)", "file(config/current.yaml) | not"]
commands = ["cp ../../config/admin/dev/localhost.yaml config/current.yaml"]
```
## Condition pipe format
`function_name1(arg1,arg2) | function_name2(arg1)`
### Condition functions
- **file**: `file(filename)` - check file/directory exists or load file content as dict for next pipe
- **get**: `get(keypath)` - get value from dict by key path with dot separator
- **not**: `not` - invert pipe value as bool
- **equal**: `equal(string)` - compare pipe value with string
- **search**: `search(regexp, [index=1])` - match pipe value with regexp and return matched group by index (default 1)