Metadata-Version: 2.4
Name: ymvas
Version: 1.5.12
Summary: Ymvas - handle your life like a developer!
Author-email: Vasyl Yovdiy <vas@ymvas.com>
License: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: PyYAML
Requires-Dist: croniter
Requires-Dist: python-dateutil
Requires-Dist: Markdown
Requires-Dist: CairoSVG>=2.7.1
Requires-Dist: pdfkit>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: ruff; extra == "dev"

# Ymvas — handle your life like a developer!

`ymvas` turns every git repository into a self-contained "life project". It
ships a lightweight CLI (`ym`) for scaffolding repos, managing servers,
browsing tasks and syncing — plus per-repo custom commands written in Python or
shell.

## Installation

```bash
pip3 install ymvas
```

Or via the system base installer:

```bash
curl -sL https://docs.ymvas.com/vas/ymvas/install-unix.bash | bash
```

## Usage

```
ym <command> [action] [flags]
```

| command | actions | notes |
|---|---|---|
| `init` | - | scaffold a repo: templates `local`/`main`/`account`; `--template`, `--bare`, `--access` (json), `--into-parent` |
| `config` | `show`, `designate`, `set`, `get`, `del`, `completions` | manage `~/.config/ymvas/config.json`; `completions <bash|zsh|fish>` prints a shell completion script |
| `server` | `setup`, `backup`, `ping`, `restore`, `compile` | user auth, backups, static compilation |
| `task` | `get`, `list` | browse project tasks |
| `sync` | - | push submodules then the current repo |

Global flags: `-h/--help`, `-v/--version`, `-w/--workspace`, `-s/--src`.

Both `--flag=value` and `--flag value` are accepted.

## Custom commands

Drop an executable script into `.ymvas/commands/` (`.py`, `.bash`, `.sh`) and
it becomes a top-level `ym <cmd>`. Exec-only commands (no script file) can be
declared in `.ymvas/settings/commands.yaml`:

```yaml
custom:
  drop-env:
    exec: 'rm -r "$HOME/.config/ymvas"'
```

Scripts receive everything typed after the command name as extra arguments and
flags:

```bash
ym mycommand --verbose extra-arg
```

They also get the repository root exported as an environment variable,
`ROOT_DIRECTORY` (legacy alias: `YMVAS_DIRECTROY`).
