尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Review site for AItunes Reviews, the AI music critic (Pitchfork-style). The editors publish reviews from a password-protected admin panel; visitors browse the archive, the review pages and the rankings. The design matches the AItunes Reviews share cards: white page, bold italic serif titles, scores in black outlined circles and the blue logo.
Built with Next.js 16 (App Router, Cache Components), Tailwind CSS 4, Drizzle ORM and SQLite/libSQL.
Public site
/reviews): search by title or artist, filter by type (album / EP / single), genre and minimum score, sort by newest, oldest, highest, lowest, title or artist./reviews/[slug]): laid out like the share card — title, artist, year, genres, cover and a big score circle (0–10, one decimal) on the left; "Track Scores" with a score per track on the right; "Listen on" buttons for the streaming links; the written review below. Standout tracks get a ★./rankings): highest rated albums & EPs (filterable to albums or EPs only), highest rated songs across all album tracks, EP tracks and singles, and artists by average score. Tied scores share a rank. A single with no rated track counts as one song carrying the review score. The same song (same artist + title, ignoring case and quote style) on several releases — single, album, deluxe — appears once: listed under the album/EP, using the rating from the most recently reviewed release, with "also on …" links to the other releases./artists): leaderboard sorted by average score, review count, name or most recently reviewed. Each artist has a page showing their average, every reviewed release and a ranking of all their rated songs./rss.xml), sitemap.xml, robots.txt, Open Graph tags and schema.org Review JSON-LD on every review. These help with search engines, link previews and an AOTY submission.Admin panel (/admin)
ADMIN_PASSWORD). No accounts or email./reviews/<slug>/image). It is also used as the link preview when a review is shared on X.npm install
cp .env.example .env.local # then set ADMIN_PASSWORD
npm run seed # optional: 6 made-up demo reviews
npm run dev # http://localhost:3000, admin at /admin
npm run seed -- --reset deletes all reviews and re-inserts the demo data. If the server is running, restart it afterwards: pages are cached and are only refreshed automatically when changes come through the admin panel.
ADMIN_PASSWORD, DATABASE_URL (libsql://…), DATABASE_AUTH_TOKEN, NEXT_PUBLIC_SITE_URL.No custom domain is needed: the site runs on the free Vercel address. On Vercel the site detects its own production address automatically; set NEXT_PUBLIC_SITE_URL only to override it.
src/app/ pages (public + /admin) and route handlers (rss, api/itunes)
src/components/ UI pieces (album blocks, score badge and bar, ranking lists, filter form, admin form)
src/lib/db/ Drizzle schema + client (tables auto-created)
src/lib/queries.ts cached public queries and sorting/filtering helpers
src/lib/auth.ts password check + signed session cookie
src/lib/site.ts site name, tagline, social links
src/assets/ logo images and fonts for the share image
src/lib/share-image.tsx share image layout (next/og)
scripts/seed.ts demo data
Only the AItunes editors publish reviews and scores; visitors can only read them.
All editors share one admin password. There are no per-editor accounts or profile pages; the optional byline field on each review is enough.
Scores are out of 10 with one decimal (track ratings too).
Each review has genres and streaming-platform links.
No custom domain; the free .vercel.app address is used.
Design follows the AItunes Reviews share cards (Pitchfork-style).
Covers come from Apple Music import or a pasted image link; no file upload needed.
The official logo is used in the header, footer, favicon and share image (src/assets, src/app/icon.png, src/app/opengraph-image.png).