type: decision
status: active
timestamp: 2026-06-22
tags: [decision, stats, feeds, versioning, template, ops]

stats.oriz.in family-wide-stats dashboard + per-app feeds + Changesets + single oriz-app-template

oriz-stats-app at stats.oriz.in shows family-wide usage stats \ aggregate metrics (visits, npm downloads, GitHub stars, books sold, Sentry errors).\ \ RSS published from blog app only (not all 26 apps \u2014 too noisy). Package versioning\ \ via Changesets per-package; auto-bump on merge. Single `chirag127/oriz-app-template`\ \ repo used for every new app via `gh repo create --template`."

Family ops: stats + feeds + versioning + template

stats.oriz.in family-wide stats dashboard

New app oriz-stats-app at c:/D/oriz/repos/oriz/own/prod/apps/content/oriz-stats-app/. Publicly accessible at stats.oriz.in. Read-only.

Data sources (all polled by GH Action daily and committed to public/stats.json):

Renders via Apache ECharts + shadcn cards. Single index page. Mobile-responsive.

RSS feeds scope

v0: blog only. RSS 2.0 + Atom 1.0 + JSON Feed 1.1 at blog.oriz.in/feed.{xml,atom,json}.

Deferred to v1+:

Reason for v0 narrow scope: blog is the only frequently-updated content surface. Other apps update content slowly; RSS becomes noise.

Package versioning: Changesets

Every npm package uses Changesets (@changesets/cli).

Per package, in .github/workflows/release.yml:

on:
  push:
    branches: [main]
jobs:
  release:
    uses: changesets/action@v1
    with:
      publish: pnpm publish
    env:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

Already in [email protected]; roll out to all 18 packages.

Single oriz-app-template

New repo chirag127/oriz-app-template. Every new app scaffolds via:

gh repo create chirag127/<new-app-slug> --template chirag127/oriz-app-template --public --description "..."

Template ships with:

After scaffolding, the developer fills in app-specific:

In @chirag127/astro-shell/family-data export:

export const FAMILY_APPS = [...26 entries...]
export const FAMILY_BOOKS = [...5 entries...]
export const FAMILY_PACKAGES = [...18 entries...]
export const FAMILY_APIS = [...2 entries...]

Update on each new app/book/package. Astro-shell version bump triggers all apps to rebuild on next deploy and pick up the new entry. Single SSoT for mega-sitemap footer.

Cross-refs


Edit on GitHub · Back to index