ClaudeMods
☰
JA
● 0 人がオンライン ・閲覧 0 回
スポンサー作品を投稿
GitHub リポジトリ · 投稿者 mrd1030

where-are-we

プロジェクトごとの状態カード(Done / In progress / Waiting on your OK)をプロンプトの上に表示し、hooks でセッションをまたいで保持する Claude Code mod です。

mrd1030@mrd1030

mrd1030/beastlyfactss/tree/main/.claude/mods/where-are-we

翻訳済み

この mod について

.claude/mods/where-are-we にインストールする Claude Code plugin です。検証済みの .claude-plugin/plugin.json と hooks モジュール(hooks/register.tsx)を備えています。プロンプトの上にカードを描画し、タスク状態を Done / In progress / Waiting on your OK としてまとめます。状態はプロジェクトごとの台帳に保存され、セッションをまたいで復元されます。実装は台帳とカードのファイルを読み書きし、Write/Edit ツールをインターセプトします。完了したスキャンでは、ネットワークアクセスやその他の昇格された機能は見つかりませんでした。

インストール

まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。

claude plugin marketplace add mrd1030/beastlyfactss
claude plugin install where-are-we
原文 / README

BeastlyFacts

BeastlyFacts is a content site with honest, practical, well sourced information about pets and animals, weighted toward reptiles, amphibians, small mammals, and invertebrates. It ships as a prerendered React app on Cloudflare, with every article stored as MDX in this repo.

New session here? Read READMEFIRST.md for current state and what to work on, CLAUDE.md for the working rules, and docs/RULES.md before writing or editing any content. This file is the map of the codebase; those three win over it.

Tech stack

  • Frontend: Vite 6 + React 18, React Router, framer-motion
  • Styling: Tailwind CSS + shadcn/ui components
  • Content: MDX files in content/, compiled by @mdx-js/rollup
  • Data: plain JS modules in src/lib/data/ (facts, encyclopedia, Beastlypedia, guides, affiliate products, legal status)
  • Backend: Supabase for auth, favorites, push notifications, and the social feed queue; Stripe for care package checkout
  • Hosting: Cloudflare, with public/_worker.js serving the API routes, the RSS feeds, and the care package checkout and download endpoints
  • Prerendering: prerender.mjs plus scripts/generate-fact-pages.mjs, so every article and fact page is static HTML before hydration

Project structure

├── content/                  # every article, as MDX
│   ├── guides/               # species guides (cost / handling / health / tank setup / feeding / enrichment)
│   ├── fun-facts/            # numbered list articles
│   ├── blog/                 # standalone posts
│   ├── short-story/          # the Chronicles
│   └── CAREPACKAGE Guides/   # printable care package sources and PDFs
├── src/
│   ├── components/
│   │   ├── mdx/              # components usable inside article bodies
│   │   ├── blog/             # article page furniture (Deep Dive, TOC, FAQ)
│   │   ├── beastlypedia/ encyclopedia/ guides/ home/ pack/ legal/
│   │   ├── layout/ shared/ ui/
│   ├── pages/                # route components
│   ├── lib/
│   │   ├── data/             # the content data layer
│   │   ├── generated/        # build output, do not hand edit
│   │   └── seo/ hooks/ utils/
│   └── api/supabaseClient.js
├── scripts/                  # content checks and index generators
├── docs/                     # rulebook, plans, runbooks, logs
├── supabase/                 # SQL schema and edge functions
├── templates/                # MDX starter templates
├── tools/                    # image audit, keyword finder, legal research
└── public/                   # static assets and _worker.js

Getting started

npm install
npm run dev

dev regenerates thumbnails and the article, guide, encyclopedia, Beastlypedia, and legal indexes before starting Vite, so a new MDX file shows up without extra steps.

Supabase is optional locally. Without VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY, auth and favorites degrade gracefully and everything else runs.

Content checks

npm run build runs the full gauntlet before Vite ever starts, so a content mistake fails the build instead of shipping. Each check also runs on its own:

| Command | What it enforces | |---|---| | npm run check:links | every article carries 1 to 2+ in-body internal links, to valid targets | | npm run check:voice | the voice rules in docs/RULES.md, against scripts/voice-baseline.json | | npm run check:costs | cost guides cover the required line items | | npm run check:affiliate | affiliate articles pair affiliate: true with the disclosure | | npm run check:related | new articles are wired into relatedArticles.js, no dead slugs | | npm run check:seo | seoTitle and seoDescription length and presence | | npm run check:images | every referenced image exists and has dimensions | | npm run check:sources | source URLs in Sources blocks still resolve | | npm run check:numbers | species numbers stay consistent across guides | | npm run check:encyclopedia | encyclopedia entries match their guides | | npm run check:legal-sync | the legal map matches legalStatus.json | | npm run check:link-depth | internal link depth across the whole site |

npm run lint and npm run typecheck cover the code side.

Content and infographic work stops at the image and internal-link checks. Do not run npm run build unless you have a reason to.

Writing content

Start from templates/GUIDE_TEMPLATE.mdx or templates/FUN_FACT_TEMPLATE.mdx and read templates/README.md for the frontmatter schema. The frontmatter is the structured data: BlogPosting, BreadcrumbList, and FAQPage JSON-LD are all generated from it, so never hand write a schema block in an article.

The non-negotiables, in full in docs/RULES.md:

  • No em or en dashes, anywhere.
  • US spelling in prose, "grey" preferred.
  • Species guides keep their split structure (cost / handling / health / tank setup). They do not become long form pillar pages.
  • Never renumber facts. Removing one leaves an id gap, because favorites are keyed by id.
  • Never share one photo across multiple facts.
  • Every article needs 1 to 2+ in-body internal links, written by hand, never to the same species' sibling guides or its care guide hub.
  • Date an article the day it ships, never ahead; ship a batch 4 to 5 per day at most. Articles written ahead wait in content/_scheduled-*.
  • Dates use US Eastern, not the container clock.

MDX components

Located in src/components/mdx/:

  • <Figure /> images with captions and alt text
  • <FunFact /> highlighted callouts
  • <KeyTakeaway /> the one thing a reader should leave with
  • <ProsCons /> pros and cons blocks
  • <ComparisonTable /> comparison tables
  • <AffiliateLink /> and <AffiliateDisclosure /> affiliate links and the disclosure that has to accompany them
  • <Sources /> and <AlsoConsulted /> references
  • <VetDisclaimer /> and <LegalDisclaimer /> for medical and legal content
  • <CarePackageBlock /> care package promo block
  • <MdxLink /> and <DemotedH1 /> internal link and heading handling

Care packages

The printable PDF packages sold through Stripe. Sources live in content/CAREPACKAGE Guides/source/*.html, one self contained HTML file per package rendered to PDF with headless Chrome. The older care-packages/ folder is superseded; see its README before touching it. Checkout, the Stripe webhook, and signed downloads are handled in public/_worker.js.

Goals

  • High quality, trustworthy pet care information, researched from real sources
  • Excellent SEO and reading experience, with static HTML for every page
  • Transparent affiliate monetization and a small paid product line

Built with care for animals and the people who love them.

関連作品