diff --git a/.sauced.yaml b/.sauced.yaml index 4726374..946586d 100644 --- a/.sauced.yaml +++ b/.sauced.yaml @@ -14,4 +14,3 @@ attribution: - nick@opensauced.pizza zeucapua: - coding@zeu.dev - diff --git a/README.md b/README.md index 9f4b80c..b342b0f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@

- Open Sauced

🍕 Pizza CLI 🍕

- A command line interface and tool for all things OpenSauced! -
+ A Go command line interface for managing code ownership and project insights with OpenSauced! +
+ + CODEOWNERS demo + + +

@@ -104,7 +108,7 @@ patches on the tip of the repository. Go and build with caution! # ✨ Usage -### Codeowners generation +## Codeowners generation Use the `codeowners` command to generate an `OWNERS` file or GitHub style `CODEOWNERS` file. This can be used to granularly define what experts and entities have the @@ -113,8 +117,6 @@ most context and knowledge on certain parts of a codebase. ``` ❯ pizza generate codeowners -h -WARNING: Proof of concept feature. - Generates a CODEOWNERS file for a given git repository. This uses a ~/.sauced.yaml configuration to attribute emails with given entities. @@ -140,7 +142,7 @@ Global Flags: --tty-disable Disable log stylization. Suitable for CI/CD and automation ``` -### Configuration +## Configuration ```yaml # Configuration for attributing commits with emails to individual entities. @@ -168,6 +170,37 @@ attribution: - john@opensauced.pizza ``` +### 🚀 New in v1.4.0: Generate Config + +The `pizza generate config` command has been added to help you create configuration files for your projects. This command allows you to generate configuration files with various options: + +```sh +pizza generate config [flags] +``` + +#### Flags: + +- `-i, --interactive`: Enter interactive mode to attribute each email manually +- `-o, --output-path string`: Set the directory for the output file +- `-h, --help`: Display help for the command + +#### Examples: + +1. Generate a config file in the current directory: + ```sh + pizza generate config + ``` + +2. Generate a config file interactively: + ```sh + pizza generate config -i + ``` + +3. Generate a config file in a specific directory: + ```sh + pizza generate config -o /path/to/directory + ``` + # 🚜 Development ### 🔨 Requirements diff --git a/cmd/generate/config/config.go b/cmd/generate/config/config.go index e5e3e19..1d52e77 100644 --- a/cmd/generate/config/config.go +++ b/cmd/generate/config/config.go @@ -28,8 +28,10 @@ type Options struct { ttyDisabled bool } -const configLongDesc string = `Generates a ".sauced.yaml" configuration file. The attribution of emails to given entities -is based on the repository this command is ran in.` +const configLongDesc string = `Generates a ".sauced.yaml" configuration file for use with the Pizza CLI's codeowners command. + +This command analyzes the git history of the current repository to create a mapping +of email addresses to GitHub usernames. ` func NewConfigCommand() *cobra.Command { opts := &Options{} diff --git a/npm/README.md b/npm/README.md index 2d1a8e9..48777e0 100644 --- a/npm/README.md +++ b/npm/README.md @@ -1,8 +1,8 @@

- Open Sauced + Open Sauced

🍕 Pizza CLI 🍕

- A Go command line interface for all things OpenSauced! + A Go command line interface for managing code ownership and project insights with OpenSauced!

@@ -31,6 +31,7 @@ Usage: pizza [flags] Available Commands: + generate Generate configurations and codeowner files bake Use a pizza-oven to source git commits into OpenSauced completion Generate the autocompletion script for the specified shell help Help about any command @@ -72,4 +73,35 @@ piped into `sh` for conveniently downloading the latest GitHub release of the `pizza` CLI. Once download is completed, you can move the binary to a convenient location in -your system's `$PATH`. \ No newline at end of file +your system's `$PATH`. + +### 🚀 New in v1.4.0: Generate Config + +The `pizza generate config` command has been added to help you create configuration files for your projects. This command allows you to generate configuration files with various options: + +```sh +pizza generate config [flags] +``` + +#### Flags: + +- `-i, --interactive`: Enter interactive mode to attribute each email manually +- `-o, --output-path string`: Set the directory for the output file +- `-h, --help`: Display help for the command + +#### Examples: + +1. Generate a config file in the current directory: + ```sh + pizza generate config + ``` + +2. Generate a config file interactively: + ```sh + pizza generate config -i + ``` + +3. Generate a config file in a specific directory: + ```sh + pizza generate config -o /path/to/directory + ```