Skip to content
git-pull-request

GitHub Action

Automatic Pull Request

v0.2.0 Latest version

Automatic Pull Request

git-pull-request

Automatic Pull Request

Bring your codebase alive

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Automatic Pull Request

uses: irgolic/[email protected]

Learn more about this action in irgolic/AutoPR

Choose a version

AutoPR logo

🌳 AutoPR 🌳

Discord Docs

Breathe life into your codebase

🌟 Features

🌳 Living summaries of your code in nested READMEs
πŸ“ TODOs kept track of in issues
⏳ Keep history of an API call's result in git
πŸ“„ Summarize changes by adding a "summarize" label to a PR
🫡 Custom actions configured in YAML

πŸš€ Getting Started

Please see the installation guide.


Below is an example of AutoPR's Living README:

🌳 Living Summary

This folder contains files and folders related to a workflow automation system. It provides reusable actions, triggers, and workflows for different automation scenarios. The files include configuration files for Docker images, licenses, makefile-like tasks, automatic pull request workflows, shell scripts, project dependencies, workflow schemas, and more. The folder also includes a collection of Python files for defining actions, triggers, and workflows, as well as services for managing and running automated actions. Overall, this folder supports the development and execution of automated workflows with various actions and conditions.

πŸ—οΈ Sets up a Docker image based on the duffn/python-poetry:3.9-bullseye image
πŸ”§ Installs git from the bullseye-backports repository
πŸ“₯ Copies an entrypoint script and makes it executable
πŸ“₯ Copies the pyproject.toml and poetry.lock files
πŸ”§ Activates the virtual environment and installs the project dependencies using Poetry
πŸ“₯ Copies the rest of the files to the /app directory
πŸ”§ Installs the application using Poetry
πŸš€ Sets the entrypoint to /entrypoint.sh for running the app

πŸ“„ This file contains the MIT License.
πŸ”’ The license grants permission to use, modify, and distribute the software.
πŸ“ The license requires the copyright notice and permission notice to be included in all copies.
🚫 The software is provided "as is" without warranty.
πŸ“… The license is valid until 2023.
πŸ’Ό The license is owned by Raphael Francis Ltd.

πŸ“ This file is a makefile-like configuration file.
πŸ”§ It defines various targets and their associated commands.
πŸ’» The targets are: format, type, test, schema, and all.
πŸ”§ The format target runs a command to format code using the black tool.
πŸ”§ The type target runs a command to perform type checking using pyright.
πŸ”§ The test target runs pytest on the autopr/tests directory.
πŸ”§ The schema target runs a command to generate configuration entrypoints using autopr.models.config.
πŸ”§ The all target runs all the targets in sequence: format, type, test, and schema.
πŸ”§ This file is meant to automate common development tasks and ensure code quality.

πŸ“„ This file is a configuration file for an automatic pull request workflow.
πŸ”§ It specifies the details for running the workflow, such as the Docker image to use.
🎨 It also includes branding information, such as the icon and color to use.
πŸ”‘ The file defines inputs required for the workflow, such as the GitHub token and base branch.
πŸŽ₯ It includes a default loading GIF URL to display while the pull request is being generated.
🌿 The file defines a template for the name of the target branch.
πŸ”„ It specifies whether to overwrite existing branches and pull requests when creating from issues.

This folder contains a collection of Python files and folders related to a workflow automation system. It includes files for defining actions, triggers, and workflows, as well as services for managing and running automated actions. There are also files for configuring logging settings, defining data models, and interacting with the GitHub platform. Overall, this folder provides a range of reusable actions, triggers, and workflows for different automation scenarios, along with the necessary services and utilities to support them.

πŸ“ The file is a shell script
πŸ”§ It sets the Git configuration for a specific directory
βœ‰οΈ It sets the user email and name for Git commits
πŸ“¦ It activates a virtual environment
🐍 It runs a Python module called autopr.gh_actions_entrypoint

πŸ“„ This file is an executive summary of a project or report
πŸ” It provides a high-level overview of the main points
πŸ“ It highlights key findings, conclusions, and recommendations
πŸ“Š It may include a summary of data or analysis
πŸ‘₯ It is intended for someone who is new to the project or report
🚫 It does not include trivial details or technical explanations
πŸ’‘ It gives a clear understanding of the purpose and scope of the project
πŸ‘€ It provides a quick glance at the content without going into depth
πŸ’Ό It serves as a starting point for further exploration or discussion
πŸ“Œ It is concise and easy to read, even if the file is empty

πŸ“‹ This file is a configuration file for a Python project using Poetry.
πŸ” It contains information about the project's name, version, and authors.
πŸ“„ The license of the project is specified as MIT.
πŸ“¦ It lists the packages and their dependencies required for the project.
πŸ§ͺ There are separate dependencies for testing and development.
πŸ”§ The build system used is Poetry.
πŸ” The file also includes configuration for the Pyright static type checker.
πŸ” It specifies the line length and target version for the Black code formatter.

πŸ“„ The file is a JSON schema describing a strict workflow definition.
πŸ” It defines various actions that can be performed within the workflow.
πŸ”€ Actions include commenting, setting issue titles, walking files, making API calls, running bash commands, and more.
πŸ“ Each action has its own set of inputs and outputs.
πŸ”„ The workflow steps are defined as an array of actions.
πŸ“š The schema also includes definitions for various data types and declarations used within the actions.
πŸ“ The purpose of the file is to provide a standardized structure for defining and executing strict workflows.
πŸ—‚οΈ The schema can be used to validate and ensure the correctness of workflow definitions.
🧩 It allows for easy integration with other tools and systems that support the schema.
πŸ“š The file can serve as a reference for understanding the structure and capabilities of strict workflows.

πŸ“‹ The file is a JSON schema that describes a configuration for triggers and actions in a workflow.
πŸ”— It includes definitions for various action models such as comment, set_issue_title, walk_files, make_api_call, bash, etc.
πŸ”„ The schema also defines iterable versions of these action models that can be used in a loop.
πŸ•’ The CronTrigger configuration allows for triggering actions based on a cron schedule.
πŸ”€ The TopLevelTriggerConfig is the top-level configuration object that includes an array of triggers.
πŸ’‘ The purpose of this file is to provide a structured and standardized way to define triggers and actions in a workflow.
πŸ“ The file can be used as a reference for understanding the available action models and their properties.
πŸ”§ It can also serve as a template for creating and configuring workflows in a system that supports this schema.
πŸ“„ The file can be extended or modified to add additional action models or customize the behavior of existing ones.
πŸ’» Overall, this file is a powerful tool for defining and configuring automated workflows with various triggers and actions.

πŸ“„ This file is a JSON schema definition for a workflow definition.
πŸ”§ It defines various types and properties for different actions and declarations used in the workflow.
πŸ“ The schema includes definitions for actions like commenting, setting issue title, walking files, making API calls, running bash commands, etc.
πŸ“š It also defines different types of declarations like template, variable, constant, and lambda declarations.
πŸ“‹ The workflow definition includes a name, description, inputs, and outputs.
πŸ”’ It consists of a list of steps which can be actions, workflow invocations, or conditional statements.
πŸ”€ Conditional statements can have if-else branches and support different conditions like lambda expressions and context checks.
πŸ”„ Workflow invocations can be either regular or iterable.
πŸ”‘ Overall, this file provides a structured definition for creating and executing workflows with various actions and conditions.