Metadata-Version: 2.1
Name: config-keeper2
Version: 1.0.0a1
Summary: CLI tool for keeping your personal config files in repository
Home-page: https://github.com/Quatters/config-keeper
License: GPL-3.0-only
Author: Vladislav Korenkov
Author-email: vladnfs3@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: Flake8
Classifier: Framework :: Pytest
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: rich (>=13.5.3,<14.0.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Project-URL: Issue Tracker, https://github.com/Quatters/config-keeper/issues
Project-URL: Repository, https://github.com/Quatters/config-keeper
Description-Content-Type: text/markdown

# config-keeper

User-friendly CLI for keeping your personal files or directories in
a repository.

In a few words **config-keeper** does following:

* Collects information about what files on current machine it should keep
* Makes a temporary copy of all these files and pushes it to specified
repository
* Pulls files from a repository later and puts them to the right places

Typical **use cases** are:

1. You spend a lot of time writing launch/build tasks or making config files
for a project you develop, but these stuff cannot be placed along with the
project itself.
1. You have to switch between work computers from time to time while you
working on same project and you have to send yourself archives with
bunch of updated files.
1. You want to save some system-wide config (like .bashrc) to use
it later or quickly restore if something goes wrong.

Finally, you want to **automate** these stuff.

## Key features

* Create projects as logical groups of files to sync and a repository
* All configuration in a single YAML file - update it using CLI or by hands
using ``validate`` command
* Terminal auto-completion
* User-friendly error messages if something goes wrong

## Install

### Using pip

```shell
pip install --user config-keeper2
```

### Usage

Run

```shell
config-keeper --help
```

to see what commands are available.

