尚未检测到更新。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).