{"id":15140254,"url":"https://github.com/bfra-me/github-app","last_synced_at":"2026-02-28T16:32:24.775Z","repository":{"id":63359546,"uuid":"561198517","full_name":"bfra-me/github-app","owner":"bfra-me","description":"Template repository for a GitHub App that can be triggered by a GitHub Action","archived":false,"fork":false,"pushed_at":"2026-02-27T02:27:08.000Z","size":24638,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-27T09:45:05.203Z","etag":null,"topics":["actions","github-actions","github-app","probot","probot-app","probot-template","probot-template-repo","template"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bfra-me.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-03T06:58:56.000Z","updated_at":"2026-02-27T02:23:58.000Z","dependencies_parsed_at":"2023-09-27T06:17:26.036Z","dependency_job_id":"e9502ff2-c418-4f26-8679-e2a795d737f9","html_url":"https://github.com/bfra-me/github-app","commit_stats":{"total_commits":123,"total_committers":9,"mean_commits":"13.666666666666666","dds":0.6178861788617886,"last_synced_commit":"5fd2eae8397003c9624438efcfff9eb0c2d3f3fa"},"previous_names":[],"tags_count":37,"template":true,"template_full_name":"probot/example-github-action","purl":"pkg:github/bfra-me/github-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bfra-me%2Fgithub-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bfra-me%2Fgithub-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bfra-me%2Fgithub-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bfra-me%2Fgithub-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bfra-me","download_url":"https://codeload.github.com/bfra-me/github-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bfra-me%2Fgithub-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29942858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","github-actions","github-app","probot","probot-app","probot-template","probot-template-repo","template"],"created_at":"2024-09-26T08:01:47.205Z","updated_at":"2026-02-28T16:32:24.767Z","avatar_url":"https://github.com/bfra-me.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\n  \u003cimg alt=\"transparent\" src=\"https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png\" height=\"30\" width=\"0px\"/\u003e\n  Auto-Approval Bot\n  \u003cimg alt=\"transparent\" src=\"https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png\" height=\"30\" width=\"0px\"/\u003e\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/bfra-me/github-app/actions?query=workflow%3Amain\" title=\"Search GitHub Actions for Main workflow runs\" \u003e\u003cimg alt=\"Main GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/bfra-me/github-app/main.yaml?branch=main\u0026style=for-the-badge\u0026logo=github%20actions\u0026logoColor=white\u0026label=build\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nA GitHub App built with Probot that automatically approves pull requests from specific bots with configured trigger phrases. Perfect for handling Renovate, Dependabot or other automated PRs that can be safely merged without manual review.\n\n## Features\n\n- Automatically approves PRs from configured bot users\n- Configurable approval triggers in PR bodies\n- Option to require all checks to pass before approval\n- Specify particular checks that must pass for approval\n- Exclude PRs with specific labels from auto-approval\n- Re-approves PRs when approvals are dismissed\n- Works as a GitHub App or GitHub Action\n- Fully tested and follows best practices\n\n## Configuration\n\nCreate a `.github/auto-approve.yml` (or `.yaml`) with the following options:\n\n```yaml\n# Bot usernames whose PRs should be auto-approved\nbotUsernames:\n  - renovate[bot]\n  - dependabot[bot]\n  - mend-for-github-com[bot]\n\n# Phrases in PR body that indicate the PR should be auto-approved\napprovalTriggers:\n  - \"**Automerge**: Enabled\"\n\n# Whether to require all checks to pass before approving\nrequirePassingChecks: true\n\n# Specific checks that must pass for auto-approval (if empty and requirePassingChecks is true, all checks must pass)\nrequiredChecks:\n  - build\n  - test\n\n# Labels that will prevent auto-approval if present on the PR\nexcludeLabels:\n  - do-not-merge\n  - wip\n```\n\n## Usage\n\n### As a GitHub Action\n\nCreate a workflow file (e.g., `.github/workflows/auto-approve.yaml`):\n\n```yaml\nname: Auto Approve\n\non:\n  pull_request:\n    types: [opened, reopened, synchronize, labeled, edited]\n  pull_request_review:\n    types: [dismissed]\n  check_run:\n    types: [completed]\n\npermissions:\n  contents: read\n  pull-requests: write\n  checks: read\n\njobs:\n  auto-approve:\n    runs-on: ubuntu-latest\n    name: Auto Approve PRs\n    steps:\n      - uses: bfra-me/github-app@v1\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          # Optional: path to config file\n          config-path: .github/auto-approve.yml\n```\n\n### As a Deployed App\n\nYou can deploy this app as a GitHub App on platforms like Vercel:\n\n1. Create a GitHub App in your organization or account\n2. Set the required permissions:\n   - Pull requests: Read \u0026 Write\n   - Checks: Read\n   - Repository contents: Read\n   - Repository metadata: Read\n3. Subscribe to the webhook events:\n   - Pull request\n   - Pull request review\n   - Check run\n4. Deploy to a serverless platform like Vercel:\n\n   ```bash\n   # Install Vercel CLI\n   npm i -g vercel\n\n   # Deploy\n   vercel\n   ```\n\n5. Set the webhook URL to your deployment URL\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run in development mode\npnpm run dev\n\n# Build\npnpm run build\n\n# Run tests\npnpm test\n\n# Type checking\npnpm run check-types\n\n# Linting\npnpm run lint\n\n# Fix and format code\npnpm run fix\n```\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbfra-me%2Fgithub-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbfra-me%2Fgithub-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbfra-me%2Fgithub-app/lists"}