Content sites

Astro standing desk review site with comparison tables

Static Astro site with Markdown desk reviews, specs, stability scores, price history charts, comparison tables, and affiliate links.

astrotypescriptmarkdownzodvitest

Built 1 time, downloaded 0 times.

Install from your terminal

Run this in your project folder. It signs you in, shows what changes and asks before it overwrites a file.

npx claude-lab add astro-standing-desk-review-site-with-comparison-tables-2d93a5
10 filesDownload zip
CLAUDE.md
# Standing desk review site

This is a niche review site for standing desks. A solo author writes desk reviews in Markdown. The site builds to static HTML with fast page loads and earns affiliate revenue. Shoppers use it to compare desks on specs, stability, and price history.

## Commands

Placeholders. Confirm them against package.json after the Phase 1 scaffold.

- `npm run dev`: local dev server
- `npm run build`: static build to dist/
- `npm run preview`: serve dist/ locally
- `npx astro check`: types and content schema
- `npm run lint`: lint (if defined)
- `npm test`: Vitest for helpers and the price script

## Stack

- Astro, static output, zero client JS by default
- Content collections, schema in `src/content.config.ts` (Zod)
- TypeScript strict

## Folder map

- `src/content/desks/*.md`: one review per desk
- `src/data/price-history/<slug>.json`: price entries per desk
- `src/components/`: UI pieces, including AffiliateLink
- `src/pages/`: routes
- `src/layouts/`: page shells
- `public/`: static assets

## Desk frontmatter

Fields: `title`, `brand`, `slug`, `price`, `affiliateUrl`, `specs` (heightMin, heightMax, weightCapacity, motorType, memory presets), `stability` (score 0-10, method, testedOn), `pros`, `cons`, `verdict`, `updatedAt`, `draft`.

## Rules

- Specs and stability scores come only from frontmatter or data files. Never invent or estimate numbers. If a value is missing, ask the user.
- Every affiliate link goes through the AffiliateLink component with `rel="sponsored nofollow noopener"`. Show the disclosure on every page that contains an affiliate link.
- Use `YOUR_AFFILIATE_TAG` placeholders. Never commit real affiliate IDs.
- Performance: no client framework islands unless the user approves. Images go through astro:assets with width and height. The price chart is a build-time inline SVG, not a JS library. Keep pages under the size budget in SPEC.md.
- Never edit the body prose of review Markdown files unless asked. The user writes the reviews. Claude may fix frontmatter, build components, and suggest prose edits in chat.

## Workflow

Explore, plan, code, then run the verify skill before saying a task is done. Give Claude a way to check its work.

## Gotchas

- Collection schema errors fail the build.
- Desks with `draft: true` must be excluded from lists, the sitemap and comparison pages.
- Slugs are permanent URLs. Don't rename a slug without adding a redirect.

## Review checklist

@REVIEW.md

## Token habits

- Run `/clear` between unrelated tasks.
- Use the explorer subagent for wide searches.
Use for my project