Files
project-manager/README.md
T
2026-08-01 21:06:30 +03:00

59 lines
1.3 KiB
Markdown

# 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/.pm.toml`
- project preset `./.pm.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)