Contributing to SocialDocs
SocialDocs is a community-driven project. We welcome contributions from everyone interested in improving Fediverse developer documentation.
Ways to Contribute
1. Report Issues
Found an error or have a suggestion?
- Open an issue on GitHub
- Describe the problem or suggestion clearly
- Include links to relevant pages
2. Fix Errors
See a typo or mistake?
- Click "Edit this page" at the bottom of any doc
- Make your changes in GitHub
- Submit a pull request
3. Write New Content
Want to add new documentation?
- Fork the repository
- Create your content following our style guide
- Submit a pull request
4. Improve Examples
Code examples can always be improved:
- Add missing language examples
- Fix outdated code
- Add more comments
Content Guidelines
Style
- Be concise: Developers scan documentation
- Use examples: Show, don't just tell
- Be accurate: Test code examples
- Stay current: Update for spec changes
Structure
---
sidebar_position: 1
title: Your Page Title
description: Brief description for SEO
---
# Your Page Title
Introduction paragraph.
## Main Section
Content here.
### Subsection
More detailed content.
## Code Examples
\`\`\`javascript
// Always include comments
function example() {
return 'working code';
}
\`\`\`
## Next Steps
- Link to related pages
- Suggest what to read next
Code Examples
- Include working, tested code
- Use meaningful variable names
- Add comments for complex logic
- Show both success and error cases
- Include multiple language tabs when useful
Development Setup
Prerequisites
- Node.js 18+
- npm or yarn
Local Development
# Clone the repository
git clone https://github.com/socialdocs/socialdocs.org.git
cd socialdocs.org
# Install dependencies
npm install
# Start dev server
npm start
The site will be available at http://localhost:3000.
Building
npm run build
Testing Links
npm run build
npm run serve
File Structure
docs/
├── getting-started/ # Beginner guides
├── specs/ # Protocol specifications
│ ├── activitypub/
│ ├── activitystreams/
│ ├── webfinger/
│ └── http-signatures/
├── guides/ # Implementation guides
├── reference/ # API reference
├── ecosystem/ # Software & libraries
├── tools/ # Developer tools
└── community/ # Community resources
Pull Request Process
- Create a branch:
feature/your-feature-name - Make changes: Follow the style guide
- Test locally: Ensure the site builds
- Submit PR: Describe your changes
- Address feedback: Respond to reviews
PR Checklist
- Content is accurate
- Code examples work
- Links are valid
- Spelling/grammar checked
- Follows style guide
Getting Help
- Questions: Open a GitHub issue
- Discussion: Join SocialHub
- Chat: Find us on the Fediverse
Recognition
Contributors are recognized in:
- GitHub contributors list
- Annual acknowledgments
Code of Conduct
We follow the Contributor Covenant. Be respectful, inclusive, and constructive.
License
All contributions are licensed under MIT, matching the project license.
Thank you for helping make Fediverse development more accessible!