No description
  • JavaScript 99.3%
  • Makefile 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-11-24 10:37:39 -06:00
.github Update .github/dependabot.yml 2025-11-24 09:00:28 -06:00
scripts Add newlines at end of files per code review feedback 2025-09-24 18:36:57 +00:00
tests Add newlines at end of files per code review feedback 2025-09-24 18:36:57 +00:00
.gitignore chore: start prep of repo to be released as a GitHub OSPO GitHub Action 2025-11-24 08:44:09 -06:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2025-05-23 15:38:02 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2025-11-24 09:07:02 -06:00
LICENSE Initial commit 2025-05-04 15:44:01 -07:00
Makefile chore: start prep of repo to be released as a GitHub OSPO GitHub Action 2025-11-24 08:44:09 -06:00
package-lock.json chore: start prep of repo to be released as a GitHub OSPO GitHub Action 2025-11-24 08:44:09 -06:00
package.json chore: start prep of repo to be released as a GitHub OSPO GitHub Action 2025-11-24 08:44:09 -06:00
README.md Remove unnecessary verification step from README 2025-08-26 22:46:11 +00:00
SECURITY.md Create SECURITY.md 2025-05-23 15:37:32 -07:00
SUPPORT.md Create SUPPORT.md 2025-05-23 15:37:04 -07:00

Empty Repos Workflow

A GitHub Actions workflow that scans all repositories in your organization once a month (or on-demand) and files an issue listing:

  • Repos that are completely empty (no files at root)
  • Repos that contain only a README at the root

This helps you spot neglected or placeholder repositories and take action (archive, populate, delete, etc.).

Features

  • Scheduled scan: runs at 00:00 UTC on the 1st of every month
  • Manual trigger: invoke from the Actions tab or via gh workflow run
  • Visibility filter: choose to scan all, public, or private repos
  • Auto-issue creation: opens a new issue with a Markdown table of results
  • Modular design: scanner logic separated into reusable script with comprehensive tests
  • Zero dependencies: uses actions/github-script, built-in scheduling and permissions

Installation

  1. Copy the workflow files from this repo:

    • .github/workflows/empty-repos.yml (main workflow)
    • scripts/empty-repos-scanner.js (scanner logic)
  2. Update the organization name to scan:

    env:
      SCAN_ORG: my-org-name    # ← set this to your GitHub org
    

Development

The scanner logic is separated into scripts/empty-repos-scanner.js for maintainability and testing.

Setting up your environment

  1. Install dependencies:
    npm install
    

Running Tests

npm test

Test Coverage

The test suite covers:

  • Empty repository detection
  • README-only repository detection
  • Visibility filtering (public/private/all)
  • Archived repository filtering
  • Various README file name patterns
  • Report generation
  • GitHub issue creation

Tests run automatically on pull requests via the .github/workflows/test.yml workflow.

License

MIT

More OSPO Tools

Looking for more resources for your open source program office (OSPO)? Check out the github-ospo repository for a variety of tools designed to support your needs.