Contributing to Ozwell Documentation
Thank you for your interest in improving the Ozwell documentation! This guide explains how to contribute.
Ways to Contribute
- Fix typos and errors — Small corrections are always welcome
- Improve clarity — Help make explanations clearer
- Add examples — Practical code samples help developers
- Report issues — Found something confusing? Open an issue
- Suggest improvements — Ideas for new content or restructuring
Getting Started
Prerequisites
- Git
- Node.js 18+ (for local preview)
- A GitHub account
Setup
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/ozwellai-api.git
cd ozwellai-api - Create a branch for your changes:
git checkout -b docs/your-change-description
Documentation Structure
docs/
├── overview.md # Main entry point
├── CONTRIBUTING.md # This file
├── SUMMARY.md # Navigation/TOC
│
├── frontend/ # Client-side integration
│ ├── overview.md
│ ├── cdn/
│ │ └── README.md
│ ├── iframe/
│ │ └── README.md
│ └── frameworks/
│ ├── react/
│ ├── nextjs/
│ ├── vue3/
│ ├── vue2/
│ ├── svelte/
│ └── vanilla/
│
├── backend/ # Server-side integration
│ ├── overview.md
│ └── api/
│ ├── README.md
│ └── reference/
│ ├── endpoints.md
│ ├── authentication.md
│ └── examples.md
│
└── assets/ # Images, diagrams, etc.
Writing Guidelines
Style
- Be concise — Get to the point quickly
- Use active voice — "Create a file" not "A file should be created"
- Address the reader as "you" — Makes docs more personal
- Use present tense — "This returns..." not "This will return..."
Formatting
- Use Markdown for all documentation
- Use Mermaid for diagrams (not ASCII art)
- Use fenced code blocks with language hints
- Use tables for structured data
- Use admonitions sparingly (⚠️, ✅, ❌)
Code Examples
- Keep examples minimal but complete
- Show imports where relevant
- Use TypeScript for typed examples
- Include error handling in production examples
- Test your code before submitting
// ✅ Good: Complete, testable example
import { OzwellClient } from '@ozwell/api';
const client = new OzwellClient({
apiKey: process.env.OZWELL_API_KEY,
});
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(response.choices[0].message.content);
Diagrams
Use Mermaid for diagrams:
```mermaid
graph LR
A[Start] --> B[Process]
B --> C[End]
```
Making Changes
Small Changes
For typos, small fixes, or minor improvements:
- Edit the file directly on GitHub
- Submit a pull request with a clear description
Larger Changes
For new sections, significant rewrites, or new features:
- Open an issue first to discuss the change
- Wait for feedback before investing significant time
- Follow the PR process below
Pull Request Process
-
Create a descriptive branch name:
git checkout -b docs/add-python-examples -
Make your changes following the guidelines above
-
Commit with clear messages:
git commit -m "docs: add Python examples to backend section" -
Push to your fork:
git push origin docs/add-python-examples -
Open a Pull Request with:
- Clear title describing the change
- Description of what and why
- Link to any related issues
-
Respond to feedback from reviewers
Commit Message Format
Use conventional commits:
docs: add streaming examples to backend docs
docs: fix typo in React integration guide
docs: improve authentication section clarity
Prefixes:
docs:— Documentation changesfix:— Bug fixes in docsfeat:— New documentation sections
Review Process
All documentation changes go through review:
- Automated checks — Linting, link validation
- Human review — At least one maintainer reviews
- Feedback — Reviewers may request changes
- Merge — Once approved, changes are merged
Local Preview
To preview documentation locally:
# Install dependencies
npm install
# Start local server (if configured)
npm run docs:dev
Reporting Issues
Found a problem? Open an issue with:
- Clear title describing the issue
- Location — Which page/section has the problem
- Description — What's wrong or confusing
- Suggestion — How it could be improved (optional)
Code of Conduct
- Be respectful and constructive
- Focus on the content, not the person
- Welcome newcomers
- Assume good intentions
Questions?
- Open a GitHub Discussion for general questions
- Tag
@maintainersin issues if urgent - Check existing issues before creating new ones
Thank you for helping improve Ozwell's documentation! 🎉