diff --git a/.github/workflows/codeflow-card.yml b/.github/workflows/codeflow-card.yml
new file mode 100644
index 00000000..fa5c3c15
--- /dev/null
+++ b/.github/workflows/codeflow-card.yml
@@ -0,0 +1,45 @@
+name: CodeFlow Card
+
+# Recomputes the codeflow stats card on every merge to main and on every
+# closed PR. The Action commits .github/codeflow-card.svg back to the repo;
+# the README references it via .
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ types: [closed]
+ workflow_dispatch:
+
+permissions:
+ contents: write
+ pull-requests: write
+
+concurrency:
+ group: codeflow-card-${{ github.ref }}
+ cancel-in-progress: false
+
+jobs:
+ card:
+ runs-on: ubuntu-latest
+ # Skip PR-close events that weren't merged (avoids running on closed-without-merge).
+ if: github.event_name != 'pull_request' || github.event.pull_request.merged == true
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 1
+
+ - name: Render CodeFlow Card
+ uses: braedonsaunders/codeflow/card@v1
+ with:
+ # Single SVG that adapts to the viewer's system theme via
+ # prefers-color-scheme — looks native on light and dark READMEs.
+ theme: auto
+ style: compact
+ # Green/blue accent (preset).
+ accent: teal
+ # Public README — show structure, not judgment.
+ show-grade: false
+ show-score: false
+ # Flip to true to enable thermal-receipt PR comments on every merge.
+ receipts: false
diff --git a/README.md b/README.md
index 15d9598b..d3812213 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,10 @@
+