The Public Editable Wiki for pokebedrock.com
- TypeScript 79.2%
- MDX 20.8%
Staff edit posts in this repo. The site renders published files at /blog. Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .github | ||
| assets | ||
| build | ||
| docs | ||
| posts | ||
| schemas | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| .markdownlint.json | ||
| .markdownlintignore | ||
| .nvmrc | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| DOCUMENTATION.md | ||
| LICENSE | ||
| linkinator.config.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| SECURITY.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
PokéBedrock Wiki
Central content repository for PokéBedrock documentation. This repo stores Markdown/MDX pages, media assets, lint rules, and CI workflows that keep the docs consistent before syncing to the public website.
Quickstart
- Install Node 20+.
- Run
npm cifrom the repository root. - Create/edit docs under
docs/en/ordocs/es/. - Run
npm run cilocally before opening a PR.
Repository Layout
docs/– localized Markdown/MDX source (docs/en/**,docs/es/**) organized by category with required frontmatter and locale-scoped_meta.json.posts/– update log rendered at/blogon the site. Staff guide:posts/README.md.assets/– shared media (webpimages, diagrams, videos) and tracked datasets underassets/content/<locale>/{pokemon,moves}/. The search build warns and continues when a locale content directory is missing.docs/<locale>/snippets/– components used by name (InfoCallout,WarningCallout,ShellBlock,EarlyReturnExample). The website MDX renderer registers those names.docs/<locale>/_partials/– fragments imported with a relative path, such asReleaseChecklist.mdx.schemas/– JSON Schema for validating doc frontmatter.scripts/– Node utilities for linting, validation, search indexing..github/– issue templates, PR template, CI workflows (linting, link checks, search indexing).
Writing Docs
- Every page must include the schema defined in
schemas/frontmatter.schema.json. - Use MDX when you need components, tabs, or callouts; plain Markdown is fine for simple prose.
- Prefer admonitions (
:::note) for tips and warnings. Shared callouts are the snippet componentsInfoCalloutandWarningCallout. - Images should live inside
assets/and be referenced with relative paths. Always supply descriptive alt text. - Keep docs slugs aligned across locales, for example
docs/en/getting-started/new-player-guide.mdanddocs/es/getting-started/new-player-guide.md.
Tooling & Scripts
| Command | Description |
|---|---|
npm run lint:md |
markdownlint checks + formatting rules |
npm run lint:frontmatter |
Validates doc and update-post metadata using JSON Schema |
npm run new-post -- <slug> |
Creates a draft file under posts/ |
npm run lint:images |
Ensures relative assets exist, are webp/svg, include alt text, and relative MDX imports resolve |
npm run lint:links |
Crawls docs, asset Markdown, and root Markdown for broken links |
npm run lint |
Runs markdownlint + frontmatter + image checks |
npm run check |
Authoring checks (lint + link check) |
npm run ci |
CI gate (lint, links, search build, generated-file drift check) |
npm run build |
Default build entrypoint (aliases build:search) |
npm run audit:prod |
Audits production dependency graph |
npm run build:search |
Generates search payloads plus frontend content manifests in build/content/<locale>/ |
npm run check:generated |
Builds search/manifests and fails if tracked JSON drifts from the repo copies |
npm run content:split |
Splits legacy monolithic content JSON into per-item files under assets/content/<locale>/ |
Search fallback artifacts (build/search-index.json, build/search-indices.json, and
build/content/<locale>/*-manifest.json) are tracked in git so npm run check:generated
can catch drift. Re-run the check after editing docs and commit the updated JSON if
required.
CI & Deployment
ci.ymlrunsnpm run ciplusnpm run audit:prodfor every pull request and for pushes tomain.search-index.ymlbuilds the search payloads on pushes tomain, uploads both the search JSON files and generated frontend content manifests as the workflow artifact, and postsbuild/search-indices.jsonto the website backend's protected sync endpoint so the backend can reindex Meilisearch from inside the cluster.- The same build writes content manifests used by the frontend for fast wiki content
list/detail navigation:
build/content/en/pokemon-manifest.jsonandbuild/content/es/pokemon-manifest.jsonbuild/content/en/moves-manifest.jsonandbuild/content/es/moves-manifest.jsonbuild/content/en/move-learners-manifest.jsonandbuild/content/es/move-learners-manifest.json
- A webhook notifies the website backend when docs change. The website fetches raw
Markdown via the Git API and caches using ETags. See
DOCUMENTATION.md.
Contributing
Read CONTRIBUTING.md for branching strategy, review expectations, localization
workflow, and content guidelines. Issue templates cover bugs and content requests, while
CODEOWNERS ensures the docs team reviews every change.
Release checklist: docs/en/_partials/ReleaseChecklist.mdx