Contributing to Voiden Documentation
November 1, 2025 ยท View on GitHub
Thank you for your interest in contributing to the Voiden documentation! This guide will help you get started.
๐ Table of Contents
- Code of Conduct
- Getting Started
- How to Contribute
- Documentation Guidelines
- Style Guide
- Submitting Changes
- Review Process
๐ค Code of Conduct
We are committed to providing a welcoming and inclusive environment. Please be respectful and constructive in all interactions.
๐ Getting Started
Prerequisites
- Node.js 18.0 or above
- Git
- A GitHub account
- Basic knowledge of Markdown
Setup
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/docs.git cd docs - Add upstream remote:
git remote add upstream https://github.com/VoidenHQ/docs.git - Install dependencies:
npm install - Start the dev server:
npm start
๐ก How to Contribute
Types of Contributions
We welcome:
- ๐ Documentation improvements - Fix typos, clarify explanations, add examples
- ๐ New documentation - Add missing guides, tutorials, or API references
- ๐ Bug reports - Report broken links, incorrect information, or rendering issues
- โจ Feature suggestions - Propose new documentation sections or improvements
- ๐จ Design improvements - Enhance the documentation site's UI/UX
Finding Something to Work On
- Check open issues labeled
documentation - Look for
good first issuelabels if you're new - Ask in discussions if you're unsure where to start
๐ Documentation Guidelines
File Organization
docs/
โโโ getting-started/ # Installation, quick start guides
โโโ guides/ # How-to guides and tutorials
โโโ api/ # API reference documentation
โโโ concepts/ # Conceptual explanations
โโโ troubleshooting/ # Common issues and solutions
Markdown Basics
All documentation is written in Markdown (.md) or MDX (.mdx) format.
Frontmatter
Every documentation page should have frontmatter at the top:
---
id: unique-page-id
title: Page Title
sidebar_label: Short Label
sidebar_position: 1
description: Brief description for SEO
tags: [tag1, tag2]
---
Headings
Use proper heading hierarchy:
# Page Title (H1 - only one per page, usually from frontmatter)
## Main Section (H2)
### Subsection (H3)
#### Detail Section (H4)
Code Blocks
Use fenced code blocks with language identifiers:
```javascript
const greeting = "Hello, World!";
console.log(greeting);
```
```bash
npm install package-name
```
Links
<!-- Internal link (relative) -->
[Link text](./other-page.md)
<!-- Internal link (absolute) -->
[Link text](/docs/category/page)
<!-- External link -->
[Link text](https://example.com)
Images
<!-- From static folder -->

<!-- Relative to current file -->

Admonitions (Callouts)
:::note
This is a note
:::
:::tip
This is a helpful tip
:::
:::warning
This is a warning
:::
:::danger
This is important/dangerous information
:::
:::info
This is informational content
:::
โ๏ธ Style Guide
Writing Style
- Be clear and concise - Use simple language and short sentences
- Be consistent - Follow existing patterns and terminology
- Be accurate - Ensure technical accuracy and test all code examples
- Be helpful - Anticipate user questions and provide context
Formatting
- Use bold for UI elements: "Click the Save button"
- Use
codefor:- Code, commands, and file names:
npm install - Configuration values: set
debug: true - Keyboard keys: press
Ctrl+C
- Code, commands, and file names:
- Use italics sparingly for emphasis
- Use numbered lists for sequential steps
- Use bullet points for non-sequential items
Code Examples
- Provide complete, working code examples
- Include comments for complex code
- Show expected output when relevant
- Use realistic examples (avoid
foo,barwhen possible)
Tone
- Use second person ("you") to address readers
- Be friendly but professional
- Avoid jargon when possible; explain technical terms
- Use active voice: "Configure the server" not "The server should be configured"
๐ Submitting Changes
Branch Naming
Use descriptive branch names:
docs/add-authentication-guide
docs/fix-installation-typo
docs/update-api-reference
Commit Messages
Follow this format:
Type: Brief description
Longer explanation if needed
Fixes #123
Types:
Add:New documentationUpdate:Changes to existing docsFix:Corrections and bug fixesRemove:Removing contentStyle:Formatting/styling changes
Examples:
Add: Authentication guide for OAuth2
Fix: Broken link in installation guide
Update: API reference with new endpoints
Creating a Pull Request
-
Ensure your fork is up to date:
git fetch upstream git checkout main git merge upstream/main -
Create a new branch:
git checkout -b docs/your-feature-name -
Make your changes and test locally:
npm start -
Commit your changes:
git add . git commit -m "Add: Your descriptive commit message" -
Push to your fork:
git push origin docs/your-feature-name -
Open a Pull Request on GitHub:
- Provide a clear title and description
- Reference any related issues
- Add screenshots if relevant
- Request review from maintainers
Pull Request Checklist
Before submitting, ensure:
- Content is accurate and tested
- Spelling and grammar are correct
- Links work and point to the right locations
- Images are optimized and display correctly
- Code examples are complete and functional
- Frontmatter is properly configured
- The site builds without errors (
npm run build) - Changes look good in both light and dark themes
- Content follows the style guide
๐ Review Process
- Automated checks run on all PRs (build, links, etc.)
- Maintainer review - We'll review your changes and provide feedback
- Revisions - Address any requested changes
- Approval - Once approved, your PR will be merged
- Deployment - Changes are deployed automatically after merge
Review Timeline
- We aim to provide initial feedback within 2-3 business days
- Larger contributions may take longer to review
- Feel free to ping maintainers if you haven't heard back in a week
๐จ Working with Styles
If you need to modify styles (rare for documentation contributions):
- Edit
src/css/custom.css - Test in both light and dark themes
- Ensure changes are responsive (mobile, tablet, desktop)
- Document any new CSS classes or utilities
๐งช Testing
Before submitting:
# Start dev server and check your changes
npm start
# Build for production to catch any errors
npm run build
# Serve the production build
npm run serve
โ Questions?
- General questions: Open a Discussion
- Bug reports: Open an Issue
- Quick questions: Comment on existing issues or PRs
๐ License
By contributing to this project, you agree that your contributions will be licensed under the Apache License 2.0, the same license as the project.
๐ Thank You!
Every contribution, no matter how small, helps make Voiden better for everyone. We appreciate your time and effort!
Happy contributing! ๐