No description
Find a file
2026-11-13 14:32:29 +07:00
.taste-skill feat: initial Astro ecosystem skeleton and PLAN.md 2026-11-09 22:14:49 +07:00
public fix(telemetry): map canonical service aliases and record verified node latency 2026-11-13 14:32:29 +07:00
scripts fix(telemetry): map canonical service aliases and record verified node latency 2026-11-13 14:32:29 +07:00
src fix(telemetry): map canonical service aliases and record verified node latency 2026-11-13 14:32:29 +07:00
.dockerignore adding Docker for deployment 2026-11-13 07:35:43 +07:00
.editorconfig chore: configure Yarn 2+ and add ecosystem CLI scripts 2026-11-09 22:25:39 +07:00
.gitattributes chore: configure Yarn 2+ and add ecosystem CLI scripts 2026-11-09 22:25:39 +07:00
.gitignore chore: configure Yarn 2+ and add ecosystem CLI scripts 2026-11-09 22:25:39 +07:00
.yarnrc.yml chore: configure Yarn 2+ and add ecosystem CLI scripts 2026-11-09 22:25:39 +07:00
astro.config.mjs feat(astro): align with Astro v7 best practices via Astro Docs MCP 2026-11-10 11:25:03 +07:00
AUDIT.md feat(radar): add animated right side inspector panel with zero-overlap responsive stage 2026-11-13 11:01:24 +07:00
docker-compose.yml chore(deploy): attach to traefik network, fix service port 80, add www redirect 2026-11-13 07:41:02 +07:00
Dockerfile adding Docker for deployment 2026-11-13 07:35:43 +07:00
my-urls.md chore: remove inactive minio s3 and console services from catalog 2026-11-13 08:00:14 +07:00
nginx.conf adding Docker for deployment 2026-11-13 07:35:43 +07:00
package.json feat(blog): add continuous polling mode to sync-blog-cache script 2026-11-13 11:17:51 +07:00
PLAN.md feat(showcase): add *.products.codechovui.dev showcase section & /projects directory 2026-11-09 23:50:30 +07:00
README.md feat(blog): add continuous polling mode to sync-blog-cache script 2026-11-13 11:17:51 +07:00
skills-lock.json feat(astro): align with Astro v7 best practices via Astro Docs MCP 2026-11-10 11:25:03 +07:00
tsconfig.json feat: initial Astro ecosystem skeleton and PLAN.md 2026-11-09 22:14:49 +07:00
yarn.lock feat(astro): align with Astro v7 best practices via Astro Docs MCP 2026-11-10 11:25:03 +07:00

codechovui.dev — Ecosystem Frontpage

Visual frontpage for the *.codechovui.dev software and self-hosting ecosystem (blog.codechovui.dev, *.products.codechovui.dev).

Built with Astro (output: 'static') + Yarn 2+ (Berry) + design-taste-frontend WebGL shaders (bayer-dither, grain-gradient, silk-folds), node-and-line routing diagrams, live browser RTT health checks, hybrid WordPress REST/RSS blog sync, and instant VI | EN bilingual support.

See PLAN.md for full architectural details and visual design specifications.


Quickstart (Yarn 2+ on PC)

corepack enable         # Ensures Yarn Berry (v4) from packageManager is active
yarn install
yarn skills:restore     # Optional: restores .agents/skills from skills-lock.json via yarn dlx
yarn dev                # Starts Astro dev server at http://localhost:4321

Open http://localhost:4321 (Vietnamese default), http://localhost:4321/projects/ (full *.products showcase directory), or http://localhost:4321/en/ & http://localhost:4321/en/projects/ (English routes).


Adding a Project (SHOWCASE_PROJECTS)

All showcased projects live in src/data/projects.ts under SHOWCASE_PROJECTS (which also auto-populates ECOSYSTEM_NODES for the Hero router, Live Status matrix, and yarn project:ping).

# Interactive wizard:
yarn project:add

# Non-interactive CLI:
yarn project:add \
  --id notes \
  --subdomain notes.products.codechovui.dev \
  --kind web-app \
  --live \
  --featured \
  --stack nextjs,react,typescript,docker,traefik-proxy

To use a real screenshot instead of the built-in UI preview window, drop an image into public/images/projects/<slug>.webp and pass --screenshot /images/projects/<slug>.webp (or set preview: { type: 'screenshot', src: '/images/projects/<slug>.webp', alt: { vi: '...', en: '...' } }).


Available Yarn Scripts

Development & Production Build

Command Description
yarn dev Start Astro dev server locally (localhost:4321)
yarn dev:host Expose dev server on LAN (0.0.0.0:4321) for mobile testing
yarn build Build static site into dist/
yarn build:full Sync live blog snapshot -> build dist/ -> verify all static assets
yarn preview Serve dist/ locally
yarn clean Remove dist/, .astro/, and shots/

Ecosystem & Content Management (*.codechovui.dev)

Command Description
yarn project:add Interactive CLI wizard to register a new *.products.codechovui.dev app into src/data/projects.ts
yarn project:ping Terminal health-check table probing all live *.codechovui.dev nodes (--all includes standby slots)
yarn sync:blog Pull latest articles from blog.codechovui.dev/wp-json/wp/v2/posts into src/data/blog-snapshot.json (supports --poll, --interval <sec>)
yarn sync:blog:poll Continuously poll WordPress REST API (default every 60s) and auto-sync on changes
yarn skills:restore Reinstall .agents/skills from skills-lock.json using yarn dlx

Verification & Visual Quality Gates

Command Description
yarn verify Pre-build check: verifies core files, local SVG icons, i18n parity (vi/en), and blog snapshot
yarn verify:dist Post-build check: validates dist/ routes, asset links, and zero placeholder residue
yarn icons:scan Scan built HTML and fetch any newly referenced full-color SVG icons locally
yarn taste:static Run non-browser static copy & moment checks (copy-lint + moments check)
yarn taste:layout Headless Chrome layout check across 1440x900, 1024x768, 820x1180, 768x1024, 390x844
yarn taste:consistency Full system rhythm, edge alignment & contrast check
yarn taste:perf Audit image weights, CLS, and WebGL context count (\le 4)
yarn taste:shoot Capture 1440px screenshot and auto-update public/share.jpg OpenGraph card
yarn taste:all Run static lint + layout + perf suite end-to-end