Contributing to Docs

PreviousNext

How to contribute to FMMLoader documentation

This documentation site is open source. Contributions to improve clarity, fix errors, or add missing content are welcome.

Repository

GitHub: justinlevinedotme/fmmloader-docs


Tech Stack

  • Framework: Next.js 15 (App Router)
  • Docs Engine: Fumadocs
  • Styling: Tailwind CSS + shadcn/ui
  • Content: MDX

Local Development

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm

Setup

git clone https://github.com/justinlevinedotme/fmmloader-docs.git
cd fmmloader-docs
pnpm install
pnpm dev

Open http://localhost:3000.


Content Structure

content/
├── app/                # User documentation → /docs
│   ├── index.mdx
│   ├── meta.json
│   └── guide/
│       ├── meta.json
│       └── *.mdx
├── modders/            # Mod creator docs → /modders
│   ├── index.mdx
│   ├── meta.json
│   ├── reference/
│   └── contributing/
└── legal/              # Legal pages → /legal
    └── *.mdx

Adding Pages

  1. Create a .mdx file in the appropriate folder
  2. Add frontmatter:
    ---
    title: Page Title
    description: Brief description
    ---
  3. Add the page slug to the folder's meta.json

Ordering Pages

Edit meta.json in each folder:

{
  "title": "Section Name",
  "pages": ["page-one", "page-two", "page-three"]
}

MDX Components

Available components in MDX files:

Callout

<Callout type="info">
Informational note.
</Callout>

<Callout type="warn">
Warning message.
</Callout>

<Callout type="error">
Error/danger message.
</Callout>

Tabs

<Tabs items={["Windows", "macOS", "Linux"]}>
<Tab value="Windows">
Windows content...
</Tab>
<Tab value="macOS">
macOS content...
</Tab>
<Tab value="Linux">
Linux content...
</Tab>
</Tabs>

Steps

<Steps>
<Step>
### Step One
First step content.
</Step>
<Step>
### Step Two
Second step content.
</Step>
</Steps>

Cards

<Cards>
  <Card title="Card Title" href="/link" description="Card description" />
</Cards>

Style Guide

  • Be concise - Users want answers, not essays
  • Use active voice - "Click Apply" not "Apply should be clicked"
  • Code examples - Include when helpful
  • Test your changes - Run locally before submitting

Pull Requests

  1. Fork the repo
  2. Create a branch: git checkout -b docs/improve-xyz
  3. Make changes
  4. Test locally with pnpm dev
  5. Commit with clear message: docs: clarify mod installation steps
  6. Open PR against main

Questions?