Back to blog

Saturday, August 30, 2025

Contributing to PenDocs: Join Our Open Source Community

cover

Why Contribute to PenDocs

PenDocs is an open source project aimed at providing comprehensive documentation for penetration testing tools. As security tools and techniques evolve, keeping documentation up-to-date and accurate is crucial for the community. Your contributions, whether big or small, help make PenDocs a valuable resource for security professionals, researchers, and enthusiasts.

Ways to Contribute

There are several ways you can contribute to PenDocs:

  • Documentation Improvements: Fix typos, clarify explanations, or update outdated information
  • New Content: Add documentation for tools or techniques not yet covered
  • Code Improvements: Enhance the website's functionality or fix bugs
  • Design Enhancements: Improve the user interface and experience
  • Feedback: Report issues or suggest improvements

Getting Started

Contributing to PenDocs is straightforward. Here's how to get started:

1. Fork the Repository

Visit the PenDocs GitHub repository and click the "Fork" button to create your own copy of the project.

2. Clone Your Fork

git clone https://github.com/YOUR-USERNAME/PenDocs.git
cd PenDocs

3. Set Up the Development Environment

Install the required dependencies:

npm install
# or
pnpm install

Start the development server:

npm run dev
# or
pnpm dev

4. Create a New Branch

Create a new branch for your contribution:

git checkout -b feature/your-feature-name

Documentation Structure

PenDocs uses MDX (Markdown with JSX) for documentation files. The content is organized in the contents/docs directory, with each tool having its own subdirectory.

Adding a New Tool Documentation

To add documentation for a new tool:

  1. Create a new directory under contents/docs/
  2. Add an index.mdx file with the main documentation
  3. Organize additional content in subdirectories as needed

Using Components

PenDocs includes several React components that you can use in your MDX files to enhance the documentation:

import { Accordion, AccordionItem, AccordionContent, AccordionTrigger } from "@/components/ui/accordion"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { Callout } from "@/components/markdown/callout"

Accordion Example

<Accordion type="single" collapsible>
  <AccordionItem value="item-1">
    <AccordionTrigger>Advanced Configuration</AccordionTrigger>
    <AccordionContent>
      This section covers advanced configuration options...
    </AccordionContent>
  </AccordionItem>
</Accordion>

Callout Example

<Callout type="info">
  Remember to include all necessary imports at the top of your MDX file.
</Callout>

Submitting Your Contribution

Once you've made your changes:

  1. Commit your changes:

    git add .
    git commit -m "Add documentation for XYZ tool"
    
  2. Push to your fork:

    git push origin feature/your-feature-name
    
  3. Create a Pull Request:

    • Go to the PenDocs repository
    • Click "Pull Requests" and then "New Pull Request"
    • Select "compare across forks" and select your fork and branch
    • Click "Create Pull Request"
    • Provide a clear description of your changes

Style Guidelines

To maintain consistency across the documentation:

  • Use clear, concise language
  • Include code examples where appropriate
  • Add screenshots or diagrams for complex concepts
  • Follow the existing structure and formatting
  • Use headings to organize content logically

Need Help?

If you have questions or need assistance with your contribution, you can:

  • Open an issue on GitHub
  • Reach out to the maintainers
  • Join the community discussions

Thank You!

Your contributions help make PenDocs a better resource for everyone. We appreciate your time and effort in helping improve the project.

Happy contributing! 🚀