Open source · MIT · v1.0

Put your GitHub Projects board on autopilot.

Boardly is a free, open-source GitHub Action that automates GitHub Projects (v2) — sprint rollover, stale-card nudges, sub-issue gating, digests, standups, priority sorting, and Slack/email notifications — all from one YAML file.

  • ⚡ No server to run
  • 🔒 Your token, your scopes
  • 📋 Full audit trail

Everything your board needs

Seven automations, one config file

Turn each feature on or off in YAML. Boardly reads your board once, applies your rules, and records every action.

🔁

Sprint rollover

When an iteration ends, unfinished cards move into the next sprint automatically — nothing stranded in a closed iteration.

🔔

Stale-card nudges

@-mention owners when a card sits in a column too long. De-duped, so it never spams the same card twice.

🧩

Sub-issue gating + roll-up

Block a card from staying Done while sub-issues are open, and write live completion % into a progress field.

🏁

Sprint digest

At iteration end, post completed-vs-carried-over counts and velocity to an issue, Slack, or email.

🗓️

Daily standup

A summary of what moved in the last N hours, grouped by assignee — async standup without the meeting.

🔼

Priority auto-sort

Keep the board ordered by your Priority field so the most important work always floats to the top.

📣

Slack & email

Deliver digests, standups, and alerts to a Slack channel and inboxes — not just GitHub comments.

📋

Audit trail + dry-run

Every action lands in the job summary. Preview everything with dry-run before it touches your board.

Live in minutes

How it works

No app to host, no database, no dashboard to babysit. It runs as a scheduled GitHub Action inside your own repo.

  1. 1

    Create a token

    A fine-grained PAT or App token with Projects + Issues access, stored as an encrypted secret.

  2. 2

    Add your config

    Describe your rules in .github/project-automation.yml — start from the example and tweak.

  3. 3

    Add a workflow

    One uses: cdrrazan/Boardly@v1 step on a cron. Run with dry-run first to preview.

  4. 4

    Ship it

    Flip dry-run off. Boardly keeps your board honest on every schedule, and logs what it did.

Copy, paste, done

The whole setup is two files

.github/project-automation.yml
project: { owner: my-org, type: org, number: 5 }
doneStatuses: ["Done", "Released"]
features:
  staleNudge:
    enabled: true
    rules:
      - { status: "In Review", days: 2 }
  prioritySort: { enabled: true, order: ["High", "Low"] }
notifications:
  slack: { enabled: true, webhookEnv: SLACK_WEBHOOK_URL }
.github/workflows/boardly.yml
on:
  schedule: [{ cron: "0 8 * * 1-5" }]
permissions: { contents: read, issues: write }
jobs:
  automate:
    runs-on: ubuntu-latest
    steps:
      - uses: cdrrazan/Boardly@v1
        with:
          token: ${{ secrets.PROJECT_AUTOMATION_TOKEN }}
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

Free & open, forever

No paywall. No telemetry. No lock-in.

Boardly is MIT-licensed and runs entirely inside your GitHub. It only ever uses the token you provide, with the scopes you grant — and every action is auditable.

  • Self-contained GitHub Action driven by a plain YAML file you own
  • Uses your token & scopes — nothing phones home
  • Transparent audit trail on every run
  • 48 unit tests & CI gating every change
7+automations
13use-case recipes
48passing tests
MITlicensed

Automate your board in minutes.

Point Boardly at a project, add a YAML file, and let it keep things tidy while you ship.