Metadata-Version: 2.1
Name: scribes
Version: 0.1.0
Summary: 
Author: Armand Sauzay
Author-email: 35524799+armand-sauzay@users.noreply.github.com
Requires-Python: >=3.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: click (>=8.1.7)
Requires-Dist: pyyaml (>=6.0.1)
Requires-Dist: rich (>=13.6.0)
Requires-Dist: types-pyyaml (>=6.0.12.12)
Description-Content-Type: text/markdown

# Scribes

Scribes enables you to clone repositories and apply sweeping changes.

## Getting started

### Pre-requisites

Scribes relies on git and the [GitHub cli](https://github.com/cli/cli) (gh). You
can follow install instructions for gh [here](https://github.com/cli/cli)

### Usage

Let's say you want to clone all repos in an organization and apply a sed command
to all repos, replacing `bar` by `foo`, commit and create PRs.

1. `pip install scribes`

2. Create a configuration file called configuration.yaml, such as the following:

   ```yaml
   clone:
   organization_name: "armand-sauzay"
   include: "^armand-sauzay/all-repos"
   exclude: "^armand-sauzay/excluded-repo-.*"
   output_directory: "output"
   include_forks: false
   include_archived: false
   include_private: false
   ```

3. Run the following commands
   ```bash
   scribes clone
   scribes sed `s/bar/foo/g`
   scribes commit "branch" "commit message"
   scribes pr "title" --body "body"
   ```

🎉 There it is, you have created PRs in all repos that contain `bar` in their
content and created PRs in all repos with the changes

