Documentation
Guidelines for writing and maintaining documentation for the vCon MCP Server project.
Table of Contents
Documentation Types
1. API Reference (docs/api/)
docs/api/)Purpose: Complete reference for all tools, resources, prompts, types, and schemas.
Audience: Developers integrating with or extending the server.
Content:
All input/output parameters
Type definitions
Examples for every function
Error responses
Performance characteristics
2. User Guides (docs/guide/)
docs/guide/)Purpose: Help users accomplish specific tasks.
Audience: End users and developers using the server.
Content:
Step-by-step instructions
Common use cases
Troubleshooting
Best practices
3. Developer Guides (docs/development/)
docs/development/)Purpose: Help developers contribute to the project.
Audience: Contributors and maintainers.
Content:
Architecture explanation
Code standards
Testing procedures
Plugin development
4. Examples (docs/examples/)
docs/examples/)Purpose: Practical code examples and tutorials.
Audience: All users, especially beginners.
Content:
Complete working examples
Real-world scenarios
Copy-paste ready code
5. Reference (docs/reference/)
docs/reference/)Purpose: Technical specifications and standards.
Audience: Advanced developers and spec implementers.
Content:
IETF vCon spec details
Database schema
Protocol specifications
Migration guides
Writing Style
General Principles
Be Clear - Use simple, direct language
Be Concise - Get to the point quickly
Be Consistent - Follow established patterns
Be Complete - Cover all necessary information
Be Accurate - Keep documentation current
Voice and Tone
Use active voice: "The server validates..." not "The vCon is validated by..."
Use second person: "You can create..." not "One can create..."
Be direct: "Set the environment variable" not "You might want to consider setting..."
Be helpful: Include context and reasoning
Examples
✅ Good:
The server validates the structure and returns the UUID.
Markdown Standards
Headings
Use ATX-style headings (with #):
Rules:
Only one H1 per document
Don't skip heading levels
Use sentence case for headings
Add a blank line before and after headings
Lists
Unordered lists:
Ordered lists:
Task lists:
Links
Internal links:
External links:
Emphasis
Tables
Alignment:
Admonitions
Use blockquotes with emoji for callouts:
Code Examples
Code Blocks
Always specify the language:
Complete Examples
Provide complete, working examples:
Inline Code
Use backticks for:
Function names:
createVCon()Variable names:
vconUuidFile names:
config.tsCommand names:
npmType names:
VCon
Terminal Commands
Show commands and expected output:
Multi-Step Examples
Number steps clearly:
API Documentation
Tool Documentation Template
Type Documentation Template
User Guides
Guide Structure
Title - Clear, action-oriented
Introduction - What you'll learn
Prerequisites - What's needed
Steps - Numbered, clear instructions
Verification - How to confirm success
Troubleshooting - Common issues
Next Steps - What to do next
Example Guide Template
Build and Deploy
VitePress Setup
The documentation uses VitePress. To work on docs:
Adding New Pages
Create markdown file in appropriate directory
Add to sidebar in
docs/.vitepress/config.tsLink from index or related pages
Test locally before committing
Example sidebar config:
Documentation Workflow
Create branch for documentation changes
Write/update documentation
Test locally with
npm run docs:devCheck links are working
Build with
npm run docs:buildCommit with appropriate message
Create PR for review
Keeping Docs Updated
When code changes:
When adding features:
Documentation Review Checklist
Before submitting documentation:
Style Guide Summary
Do's ✅
Use clear, simple language
Provide complete examples
Include error handling
Show expected output
Link to related content
Keep content current
Test all examples
Don'ts ❌
Use passive voice excessively
Skip error cases
Assume prior knowledge
Use jargon without explanation
Provide incomplete examples
Leave content outdated
Include untested code
Documentation Templates
New Feature Documentation
When adding a new feature, create:
API Reference - Complete technical specs
User Guide - How to use the feature
Example - Working code example
Changelog Entry - What changed
Bug Fix Documentation
When fixing a bug:
Update relevant docs where bug was documented
Add troubleshooting entry if user-facing
Update changelog with fix details
Deprecation Documentation
When deprecating a feature:
Add deprecation notice to docs
Document migration path to replacement
Update changelog with timeline
Keep old docs with "DEPRECATED" header
Resources
Tools
VS Code with Markdown Preview
Grammarly for spell/grammar checking
markdown-link-check for broken links
VitePress documentation framework
References
Questions?
Check existing documentation for examples
Ask in GitHub Discussions
Review recent PRs for documentation changes
Contact documentation maintainers
Remember: Good documentation is as important as good code! 📚
Last updated