Skip to main content

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?

2. Fix Errors

See a typo or mistake?

  1. Click "Edit this page" at the bottom of any doc
  2. Make your changes in GitHub
  3. Submit a pull request

3. Write New Content

Want to add new documentation?

  1. Fork the repository
  2. Create your content following our style guide
  3. 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
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

  1. Create a branch: feature/your-feature-name
  2. Make changes: Follow the style guide
  3. Test locally: Ensure the site builds
  4. Submit PR: Describe your changes
  5. 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!