Multilingual, ad-supported online tools site — Next.js 15 + AdSense + next-intl.
cd site
npm install
npm run dev
# → http://localhost:3000 (redirects to /en or /ja)site/— Next.js applicationpipeline/— YAML specs and Claude prompts for mass-producing new toolsdocs/— architecture / AdSense setup / tool pipeline guidesCLAUDE.md— operating rules (read first)
- Copy
pipeline/specs/_template.yamltopipeline/specs/<slug>.yamland fill in - In Claude Code, follow
pipeline/prompts/01_implement.md,02_seo.md,03_translate.mdin order cd site && npm run validate && npm run build
Tool usage events (calculate, copy_result, preset_click) carry the params
tool_slug, locale, category (plus legacy tool). To report on them:
- GA4 Admin > Data display > Custom definitions: register event-scoped custom
dimensions
tool_slug,locale,category(event parameter names identical). Data is only collected from the registration date onwards. - Grant the service account Viewer on the GA4 property, then:
cd site
GA4_PROPERTY_ID=123456789 GOOGLE_APPLICATION_CREDENTIALS=/path/sa.json \
npm run report:calculate -- --days 28 --limit 50 # --by category | --json