Project Documentation
This project uses VitePress to power its documentation site.
Getting Started
Follow the steps below to install dependencies and run the VitePress dev server.
1. Install dependencies
Ensure you have Node.js installed (version 16 or higher is recommended).
Then run:
npm installStart dev server
npm run docs:devSender setup docs
The sender guides in dmarc-manager/senders/ are authored in Notion and pulled into this repo, then translated into the locale trees (de, es, fr, it, ja, ko, pt_BR, zh_TW).
1. Pull from Notion
Create a .env with a Notion integration token, and share the parent Notion page with that integration:
NOTION_TOKEN=secret_...
# optional overrides
NOTION_PAGE_ID=3c684b281bbf80b59f09d7d1400ee7fc
APP_NAME=DMARC Managernpm run notion:pull-sender-docs -- --dry # preview, writes nothing
npm run notion:pull-sender-docs # write dmarc-manager/senders/*.mdEvery child page of the root page becomes one Markdown file, named from a slug of its title (How to configure SPF and DKIM for MailCamp → mailcamp.md). $APP_NAME in the Notion copy is substituted. Existing files are overwritten, so review the diff before committing.
2. Translate
Translation runs in Claude Code via the project skill in .claude/skills/translate-sender-docs/:
/translate-sender-docs # all senders, all locales
/translate-sender-docs de fr # all senders, those locales
/translate-sender-docs mailcamp # that sender, all locales
/translate-sender-docs mailcamp de # that sender, that localeEach translated file ends with a <!-- translated-from: <git blob sha> --> marker naming the English source it was made from. That marker is the only state: a missing target gets a full translation, a stale marker gets a diff-only translation of the changed passages, a matching marker is skipped. So commit the English source before translating — the sha must be reachable in git for the diff path to work.