Add docs
This commit is contained in:
parent
0beb309e74
commit
0276f41ae8
36
README.md
36
README.md
|
@ -3,3 +3,39 @@
|
|||
> **WARNING**: still in prototype stage...
|
||||
|
||||
Automate your mass typo updates.
|
||||
|
||||
## CLI
|
||||
|
||||
- **--reset**: run `git-checkout` on all of your glob matches and exit
|
||||
- **--validate**: ensure your `Migration` sub-class is valid
|
||||
- **--yaml**: tell `tyop` that it should try to load the YAML with [ruamel.yaml](https://yaml.readthedocs.io/en/latest/)
|
||||
- **--debug**: enable debug logging
|
||||
|
||||
## Logic
|
||||
|
||||
- Match all files specified by the `GLOB` pattern and apply the following
|
||||
- Check out main/master, `git-pull` and `git-checkout` for clean branch
|
||||
- Feed matched file contents into `Migration` sub-class and show the diff
|
||||
- Show a few diffs to make sure things are running smoothly and then apply to all matches
|
||||
- Iterate through all matches and `git-commit`/`git-push` changes (Use `s` to skip changes)
|
||||
|
||||
## Example migration
|
||||
|
||||
```python
|
||||
from tyop import Migration
|
||||
|
||||
|
||||
class InternalTrueMigration(Migration):
|
||||
GLOB = "~/.abra/apps/**/compose*.yml"
|
||||
|
||||
def migrate(self, compose):
|
||||
try:
|
||||
if "internal" in compose["networks"]:
|
||||
compose["networks"]["internal"] = {"internal": True}
|
||||
return compose
|
||||
except Exception:
|
||||
return compose
|
||||
|
||||
|
||||
InternalTrueMigration()
|
||||
```
|
||||
|
|
Reference in New Issue