> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Documenting

> Learn how to contribute to our documentation.

<Info>
  **Prerequisite**: You should have [Docker](https://www.docker.com/) and Bun
  installed, and the [Tuturuuu
  Monorepo](https://github.com/tutur3u/platform) cloned locally.
</Info>

Step 1. Start the docs site from the repo root:

```bash theme={null}
bun dev:docs
```

This uses the repo-managed Docker docs stack, which runs Mintlify inside a
Node.js 24 container instead of relying on a globally installed CLI.

The documentation website is now available at `http://localhost:3000`.

To stop the stack:

```bash theme={null}
bun dev:docs:down
```

### Custom Ports

The docs stack exposes port `3000` by default through `${DOCS_PORT:-3000}` in
`docker-compose.docs.yml`. You can use the `--port` flag to customize the
host-side port binding. For example:

```bash theme={null}
bun dev:docs -- --port 3333
```

If the chosen port is already taken, Docker will fail to bind the host port.

## Runtime Details

* The docs image is defined in `apps/docs/Dockerfile`.
* The development stack is defined in `docker-compose.docs.yml`.
* The root command wrapper lives in `scripts/docker-docs.js`.
* The container pins the runtime to Node.js 24 and installs Mintlify inside the
  image.

## Writing Documentation

### File Structure

Each documentation file should follow this structure:

```mdx theme={null}
---
title: "Page Title"
description: "Brief description of the page content"
updatedAt: "YYYY-MM-DD"
---

# Page Title

Content goes here...
```

### Content Guidelines

1. **Use clear headings** to structure your content
2. **Include code examples** with proper syntax highlighting
3. **Add cross-references** to related documentation
4. **Keep content up-to-date** by updating the `updatedAt` field
5. **Use consistent formatting** throughout

### Code Examples

When including code examples:

* Use proper syntax highlighting
* Include TypeScript types
* Show both server and client examples
* Include error handling
* Test examples before committing

### Images and Assets

* Store images in the `images/` directory
* Use descriptive filenames
* Optimize images for web
* Include alt text for accessibility

## Contributing

### Before You Start

1. Check if documentation already exists
2. Look for similar patterns in existing docs
3. Follow the established structure
4. Read the [Organization Guide](../organization-guide) for structure

### Making Changes

1. **Create a branch** for your documentation changes
2. **Write clear, concise content** that's easy to understand
3. **Include practical examples** that developers can use
4. **Update related documentation** if needed
5. **Test your changes** locally with `bun dev:docs`

### Review Process

1. **Self-review** your changes for clarity and accuracy
2. **Check links** to ensure they work correctly
3. **Verify code examples** are correct and complete
4. **Update the table of contents** if adding new sections
5. **Submit a pull request** with a clear description

## Best Practices

### Writing Style

* **Be concise** but comprehensive
* **Use active voice** when possible
* **Write for your audience** (developers)
* **Include context** for complex topics
* **Use consistent terminology** throughout

### Organization

* **Group related content** together
* **Use clear section headings**
* **Include a table of contents** for long pages
* **Cross-reference** related documentation
* **Keep examples practical** and realistic

### Maintenance

* **Update documentation** when APIs change
* **Remove outdated information** promptly
* **Keep examples current** with latest versions
* **Review documentation regularly** for accuracy
* **Ask for feedback** from other developers
