From e9af1feea0aa8f2c6f9b9705aefb47fe51ab3434 Mon Sep 17 00:00:00 2001 From: Adam Kostarelas Date: Sun, 9 Aug 2026 00:40:44 +1000 Subject: [PATCH] Add the adamXbot project status hub MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit status.json is the single source of truth for every adamXbot repo's maintenance tier. The badges, STATUS.md and the profile project list are all generated from it by the shared workflow in privacykey/gh-workflows. Replaces the hand-maintained project list on the profile. That list covered 7 of 22 repos, said nothing about whether any of them were still being worked on, and had no mechanism to stay true. Badges are generated for public, listed repos only — the badges directory is browsable, and one file per repo would publish an index of unreleased work. Co-Authored-By: Claude Opus 5 --- .github/workflows/project-status.yml | 22 ++++ STATUS.md | 106 +++++++++++++++++ badges/AUcoverage.json | 8 ++ badges/BananaBlitz.json | 8 ++ badges/ClaudeWatch.json | 8 ++ badges/CyberThing-Trustmark.json | 8 ++ badges/OmegaQuiz.json | 8 ++ badges/homebrew-tap.json | 8 ++ badges/restauranteer.json | 8 ++ badges/trmnl-ptv.json | 8 ++ badges/wwav.json | 8 ++ profile/README.md | 46 ++++++-- status.json | 170 +++++++++++++++++++++++++++ 13 files changed, 409 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/project-status.yml create mode 100644 STATUS.md create mode 100644 badges/AUcoverage.json create mode 100644 badges/BananaBlitz.json create mode 100644 badges/ClaudeWatch.json create mode 100644 badges/CyberThing-Trustmark.json create mode 100644 badges/OmegaQuiz.json create mode 100644 badges/homebrew-tap.json create mode 100644 badges/restauranteer.json create mode 100644 badges/trmnl-ptv.json create mode 100644 badges/wwav.json create mode 100644 status.json diff --git a/.github/workflows/project-status.yml b/.github/workflows/project-status.yml new file mode 100644 index 0000000..f7d8cfc --- /dev/null +++ b/.github/workflows/project-status.yml @@ -0,0 +1,22 @@ +name: 📋 Project status + +on: + workflow_dispatch: # Manual + push: + branches: [main] + paths: ['status.json'] + schedule: + # Saturday 07:00 AEST (08:00 AEDT over summer) — lands before the weekend + # so there's time to act on it. + - cron: '0 21 * * 5' + +jobs: + status: + uses: privacykey/gh-workflows/.github/workflows/project-status.yml@v1 + with: + target: profile/README.md + collapsed: false + secrets: + # Read-only, scoped to adamXbot alone. Without it the drift check is + # skipped and says so, rather than reporting private repos as healthy. + status-token: ${{ secrets.STATUS_TOKEN }} diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 0000000..3e65ddf --- /dev/null +++ b/STATUS.md @@ -0,0 +1,106 @@ +# Project status + +What I promise for each adamXbot project, and what I don't. Every repo's +status badge links here. + +**Tiers last reviewed: 2026-08-08.** Set by hand — it's when I last actually +looked, not when a script last ran. + +| Tier | What it means | +| --- | --- | +| 🟢 **Active** | I'm in this most weeks. Features are landing, so expect breaking changes between releases — read the changelog before you upgrade. I read issues and generally act on them quickly. | +| 🚧 **Building** | Being built. Nothing is released, nothing is supported, and it can change shape or disappear without notice. Don't build on it — watch the repo if you want to know when it ships. | +| 🛡️ **Maintained** | I'm not adding features here. It still gets security patches, dependency bumps and fixes for anything that breaks. Safe to depend on for exactly what it does today. | +| 📦 **Parked** | Finished or paused. It does what the README says and I left it working, but nothing is watching it, so it could rot quietly. I'll answer a question. I'm not promising a fix or a release. | +| ⚠️ **Unmaintained** | I'm not watching this one. Something it advertises may already be broken, and bugs won't be fixed on a schedule. Read it, fork it, vendor it — this says nothing about whether the code is any good. | +| 🍴 **Fork** | Not my project and not maintained by me. The canonical version is upstream — go there for issues, releases and support. | + +Private and pre-announcement projects aren't listed here. + +--- + +## apps + +### restauranteer + +🟢 **Active** — shipping now; installable today and still gaining capability + +I'm in this most weeks. Features are landing, so expect breaking changes between releases — read the changelog before you upgrade. I read issues and generally act on them quickly. + + + +### OmegaQuiz + +🛡️ **Maintained** — feature-complete; kept working and patched, not grown + +I'm not adding features here. It still gets security patches, dependency bumps and fixes for anything that breaks. Safe to depend on for exactly what it does today. + + + +## tools & utilities + +### ClaudeWatch + +🚧 **Building** — under construction; nothing released, nothing promised + +Being built. Nothing is released, nothing is supported, and it can change shape or disappear without notice. Don't build on it — watch the repo if you want to know when it ships. + + + +### BananaBlitz + +🛡️ **Maintained** — feature-complete; kept working and patched, not grown + +I'm not adding features here. It still gets security patches, dependency bumps and fixes for anything that breaks. Safe to depend on for exactly what it does today. + +Feature-frozen since 2026-04-30; hardening and security only. + + + +### AUcoverage + +📦 **Parked** — done or paused; it works, nothing is watching it + +Finished or paused. It does what the README says and I left it working, but nothing is watching it, so it could rot quietly. I'll answer a question. I'm not promising a fix or a release. + + + +### CyberThing-Trustmark + +📦 **Parked** — done or paused; it works, nothing is watching it + +Finished or paused. It does what the README says and I left it working, but nothing is watching it, so it could rot quietly. I'll answer a question. I'm not promising a fix or a release. + + + +### wwav + +📦 **Parked** — done or paused; it works, nothing is watching it + +Finished or paused. It does what the README says and I left it working, but nothing is watching it, so it could rot quietly. I'll answer a question. I'm not promising a fix or a release. + +Its only release is a draft — publish it and this becomes Maintained. + + + +### trmnl-ptv + +⚠️ **Unmaintained** — I'm not watching this one + +I'm not watching this one. Something it advertises may already be broken, and bugs won't be fixed on a schedule. Read it, fork it, vendor it — this says nothing about whether the code is any good. + +Scheduled publish job failing; the data branch the plugin reads is going stale. + + + +## shared infrastructure + +### homebrew-tap + +⚠️ **Unmaintained** — I'm not watching this one + +I'm not watching this one. Something it advertises may already be broken, and bugs won't be fixed on a schedule. Read it, fork it, vendor it — this says nothing about whether the code is any good. + +Cask serves BananaBlitz 0.0.2 against a v0.0.3 release. Bump it and this returns to Maintained. + + diff --git a/badges/AUcoverage.json b/badges/AUcoverage.json new file mode 100644 index 0000000..e096418 --- /dev/null +++ b/badges/AUcoverage.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Parked", + "color": "8b949e", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/BananaBlitz.json b/badges/BananaBlitz.json new file mode 100644 index 0000000..f78ece0 --- /dev/null +++ b/badges/BananaBlitz.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Maintained", + "color": "1f6feb", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/ClaudeWatch.json b/badges/ClaudeWatch.json new file mode 100644 index 0000000..0e8725f --- /dev/null +++ b/badges/ClaudeWatch.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Building", + "color": "8250df", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/CyberThing-Trustmark.json b/badges/CyberThing-Trustmark.json new file mode 100644 index 0000000..e096418 --- /dev/null +++ b/badges/CyberThing-Trustmark.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Parked", + "color": "8b949e", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/OmegaQuiz.json b/badges/OmegaQuiz.json new file mode 100644 index 0000000..f78ece0 --- /dev/null +++ b/badges/OmegaQuiz.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Maintained", + "color": "1f6feb", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/homebrew-tap.json b/badges/homebrew-tap.json new file mode 100644 index 0000000..8085532 --- /dev/null +++ b/badges/homebrew-tap.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Unmaintained", + "color": "d29922", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/restauranteer.json b/badges/restauranteer.json new file mode 100644 index 0000000..f0f55cf --- /dev/null +++ b/badges/restauranteer.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Active", + "color": "2ea043", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/trmnl-ptv.json b/badges/trmnl-ptv.json new file mode 100644 index 0000000..8085532 --- /dev/null +++ b/badges/trmnl-ptv.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Unmaintained", + "color": "d29922", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/badges/wwav.json b/badges/wwav.json new file mode 100644 index 0000000..e096418 --- /dev/null +++ b/badges/wwav.json @@ -0,0 +1,8 @@ +{ + "schemaVersion": 1, + "label": "status", + "message": "Parked", + "color": "8b949e", + "style": "flat", + "cacheSeconds": 3600 +} diff --git a/profile/README.md b/profile/README.md index a472088..fa016f8 100644 --- a/profile/README.md +++ b/profile/README.md @@ -2,14 +2,46 @@ Project account for [@AdamXweb](https://github.com/AdamXweb) — apps, utilities, and experiments. + ## Projects -- [**restauranteer**](https://github.com/adamXbot/restauranteer) — pocket restaurant journal as a self-hosted PWA; imports from Google, TikTok, Instagram, and any URL into markdown files you own. -- [**ClaudeWatch**](https://github.com/adamXbot/ClaudeWatch) — menu-bar history of the system-touching actions Claude Code runs on your machine. -- [**wwav**](https://github.com/adamXbot/wwav) — convert WAV audio to Wwise `.wem` (and back) without proprietary software. -- [**BananaBlitz**](https://github.com/adamXbot/BananaBlitz) — macOS utility to periodically clean telemetry from your device. -- [**OmegaQuiz**](https://github.com/adamXbot/OmegaQuiz) — open-source quiz tool for engaging presentations. -- [**AUcoverage**](https://github.com/adamXbot/AUcoverage) — unofficial Aussie mobile coverage checker. -- [**homebrew-tap**](https://github.com/adamXbot/homebrew-tap) — Homebrew tap for the macOS apps here. +What I promise for every adamXbot project, and what I don't. Reviewed 2026-08-08. + +Each badge links to the full promise. Private and pre-announcement projects aren't listed. + +| | Tier | What it means | +| - | - | - | +| 🟢 | **Active** | shipping now; installable today and still gaining capability | +| 🚧 | **Building** | under construction; nothing released, nothing promised | +| 🛡️ | **Maintained** | feature-complete; kept working and patched, not grown | +| 📦 | **Parked** | done or paused; it works, nothing is watching it | +| ⚠️ | **Unmaintained** | I'm not watching this one | + +**apps** + +| Project | Status | | +| - | - | - | +| [restauranteer](https://github.com/adamXbot/restauranteer) | 🟢 Active | | +| [OmegaQuiz](https://github.com/adamXbot/OmegaQuiz) | 🛡️ Maintained | | + +**tools & utilities** + +| Project | Status | | +| - | - | - | +| [ClaudeWatch](https://github.com/adamXbot/ClaudeWatch) | 🚧 Building | | +| [BananaBlitz](https://github.com/adamXbot/BananaBlitz) | 🛡️ Maintained | | +| [AUcoverage](https://github.com/adamXbot/AUcoverage) | 📦 Parked | | +| [CyberThing-Trustmark](https://github.com/adamXbot/CyberThing-Trustmark) | 📦 Parked | | +| [wwav](https://github.com/adamXbot/wwav) | 📦 Parked | | +| [trmnl-ptv](https://github.com/adamXbot/trmnl-ptv) | ⚠️ Unmaintained | | + +**shared infrastructure** + +| Project | Status | | +| - | - | - | +| [homebrew-tap](https://github.com/adamXbot/homebrew-tap) | ⚠️ Unmaintained | | + +See [STATUS.md](STATUS.md) for what each tier promises. + More at [adam.kostarelas.com](https://adam.kostarelas.com). diff --git a/status.json b/status.json new file mode 100644 index 0000000..5eca708 --- /dev/null +++ b/status.json @@ -0,0 +1,170 @@ +{ + "owner": "adamXbot", + "reviewed": "2026-08-08", + "repos": { + "restauranteer": { + "tier": "Active", + "group": "apps", + "public": true, + "listed": true, + "distribution": "open-source" + }, + "restauranteer-ios": { + "tier": "Building", + "group": "apps", + "public": false, + "listed": false, + "distribution": "private" + }, + "BananaBlitz": { + "tier": "Maintained", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source", + "note": "Feature-frozen since 2026-04-30; hardening and security only." + }, + "OmegaQuiz": { + "tier": "Maintained", + "group": "apps", + "public": true, + "listed": true, + "distribution": "open-source" + }, + "ClaudeWatch": { + "tier": "Building", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source" + }, + "wwav": { + "tier": "Parked", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source", + "note": "Its only release is a draft — publish it and this becomes Maintained." + }, + "AUcoverage": { + "tier": "Parked", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source" + }, + "CyberThing-Trustmark": { + "tier": "Parked", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source" + }, + "trmnl-ptv": { + "tier": "Unmaintained", + "group": "tools", + "public": true, + "listed": true, + "distribution": "open-source", + "note": "Scheduled publish job failing; the data branch the plugin reads is going stale." + }, + "homebrew-tap": { + "tier": "Unmaintained", + "group": "infra", + "public": true, + "listed": true, + "distribution": "open-source", + "note": "Cask serves BananaBlitz 0.0.2 against a v0.0.3 release. Bump it and this returns to Maintained." + }, + ".github": { + "tier": "Maintained", + "group": "infra", + "public": true, + "listed": false, + "distribution": "open-source" + }, + "lyrebird": { + "tier": "Building", + "group": "apps", + "public": false, + "listed": false, + "distribution": "private" + }, + "stickerbook": { + "tier": "Building", + "group": "apps", + "public": false, + "listed": false, + "distribution": "public-pending" + }, + "FrameSplash": { + "tier": "Parked", + "group": "apps", + "public": false, + "listed": false, + "distribution": "public-pending" + }, + "orgorbari": { + "tier": "Building", + "group": "apps", + "public": false, + "listed": false, + "distribution": "appstore-closed" + }, + "akousa": { + "tier": "Parked", + "group": "apps", + "public": false, + "listed": false, + "distribution": "private" + }, + "Icing": { + "tier": "Parked", + "group": "apps", + "public": false, + "listed": false, + "distribution": "private" + }, + "beat-custom-music": { + "tier": "Parked", + "group": "tools", + "public": false, + "listed": false, + "distribution": "private" + }, + "nickandlidia": { + "tier": "Unmaintained", + "group": "sites", + "public": false, + "listed": false, + "distribution": "private" + }, + "gerakona": { + "tier": "Fork", + "group": "archive", + "public": false, + "listed": false, + "distribution": "private", + "canonical": "https://github.com/AdamXweb/gerakona", + "note": "Content duplicate of AdamXweb/gerakona, not a GitHub fork." + }, + "DockerDance-fork": { + "tier": "Fork", + "group": "archive", + "public": true, + "listed": false, + "distribution": "open-source", + "canonical": "https://github.com/AdamXweb/DockerDance", + "note": "Slated for deletion — verified that nothing unique remains." + }, + "privacykey-dotgithub": { + "tier": "Fork", + "group": "archive", + "public": true, + "listed": false, + "distribution": "open-source", + "canonical": "https://github.com/privacykey/.github", + "note": "Wrong org, serves no purpose. Candidate for deletion." + } + } +}