Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pizza

Package Overview
Dependencies
Maintainers
0
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pizza

A command line utility for insights, metrics, and generating CODEOWNERS documentation for your open source projects

  • 2.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
18
increased by20%
Maintainers
0
Weekly downloads
 
Created
Source

Open Sauced

🍕 Pizza CLI 🍕

A Go command line interface for managing code ownership and project insights with OpenSauced!

GitHub code size in bytes GitHub issues GitHub Release Twitter

📦 Install

Homebrew
brew install open-sauced/tap/pizza
NPM
npm i -g pizza

You can also use npx to run one-off commands without installing anything:

npx pizza@latest generate codeowners .

🍕 Pizza Action

Use the Pizza GitHub Action for running pizza operations in GitHub CI/CD, like automated CODEOWNERS updating and pruning:

jobs:
  pizza-action:
    runs-on: ubuntu-latest
    steps:
      - name: Pizza Action
        uses: open-sauced/pizza-action@v2
        with:
          # Optional: Whether to commit and create a PR for "CODEOWNER" changes
          commit-and-pr: "true"
          # Optional: Title of the PR for review by team
          pr-title: "chore: update repository codeowners"

📝 Docs

  • Pizza.md: In depth docs on each command, option, and flag.
  • OpenSauced.pizza/docs: Learn how to use the Pizza command line tool and how it works with the rest of the OpenSauced ecosystem.

✨ Usage

Codeowners generation

Use the codeowners command to generate a GitHub style CODEOWNERS file or a more agnostic OWNERS file. This can be used to granularly define what experts and entities have the most context and knowledge on certain parts of a codebase.

It's expected that there's a .sauced.yaml config file in the given path or in your home directory (as ~/.sauced.yaml):

pizza generate codeowners /path/to/local/git/repo

Running this command will iterate the git ref-log to determine who to set as a code owner based on the number of lines changed for that file within the given time range. The first owner is the entity with the most lines changed. This command uses a .sauced.yaml configuration to attribute emails in commits with the given entities in the config (like GitHub usernames or teams). See the section on the configuration schema for more details

🚀 New in v1.4.0: Generate Config

The pizza generate config command has been added to help you create .sauced.yaml configuration files for your projects. This command allows you to generate configuration files with various options:

pizza generate config /path/to/local/git/repo

This command will iterate the git ref-log and inspect email signatures for commits and, in interactive mode, ask you to attribute those users with GitHub handles. Once finished, the resulting .sauced.yaml file can be used to attribute owners in a CODEOWNERS file during pizza generate codeowners.

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:

    pizza generate config ./
    
  2. Generate a config file interactively:

    pizza generate config ./ -i
    
  3. Generate a config file from the current directory and place resulting .sauced.yaml in a specific output directory:

    pizza generate config ./ -o /path/to/directory
    

OpenSauced Contributor Insight from CODEOWNERS

You can create an OpenSauced Contributor Insight from a local CODEOWNERS file:

pizza generate insight /path/to/repo/with/CODEOWNERS/file

This will parse the CODEOWNERS file and create a Contributor Insight on the OpenSauced platform. This allows you to track insights and metrics for those codeowners, powered by OpenSauced.

Insights

You can get metrics and insights on repositories, contributors, and more:

pizza insights [sub-command]

This powerful command lets you compose many metrics and insights together, all powered by OpenSauced's API. Use the --output flag to output the results as yaml, json, csv, etc.

🎷 Configuration schema

# Configuration for attributing commits with emails to individual entities.
# Used during "pizza generate codeowners".
attribution:

  # Keys can be GitHub usernames.
  jpmcb:

    # List of emails associated with the given GitHub login.
    # The commits associated with these emails will be attributed to
    # this GitHub login in this yaml map. Any number of emails may be listed.
    - john@opensauced.pizza
    - hello@johncodes.com

  # Keys may also be GitHub teams. This is useful for orchestrating multiple
  # people to a sole GitHub team.
  open-sauced/engineering:
    - john@opensauced.pizza
    - other-user@email.com
    - other-user@no-reply.github.com

  # Keys can also be agnostic names which will land as keys in "OWNERS" files
  # when the "--owners-style-file" flag is set.
  John McBride
    - john@opensauced.pizza

# Used during codeowners generation: if there are no code owners found
# for a file within the time range, the list of fallback entities 
# will be used
attribution-fallback:
  - open-sauced/engineering
  - some-other-github-login

FAQs

Package last updated on 11 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc