Skip to content

Restructure documentation into docs/ directory #141

@nirs

Description

@nirs

Restructure documentation into docs/ directory

Problem

The README.md is too long (~477 lines) and covers many different topics
making it hard to find specific information. Users need quick start
information, while contributors need detailed technical documentation.

Goals

  1. Keep README.md focused on what users need to get started
  2. Move detailed documentation to docs/ directory
  3. Improve discoverability with clear navigation
  4. Make it easier to maintain and extend documentation
  5. Support integration guides and migration documentation

Proposed README.md structure (~80 lines)

Keep only essential information for new users:

  • Introduction: What vmnet-helper does (current content is good)
  • Installation: How to install (current content)
  • Quick Start: Simple example to get running quickly
  • Documentation: Link to docs/ for detailed information
  • Adopters: Projects using vmnet-helper
  • License: Keep at the bottom

Proposed docs/ directory structure

Core documentation

docs/usage.md - How to use vmnet-helper

Move from README:

  • Starting the interface by passing a file descriptor
  • Starting the helper with a unix socket
  • Connecting to the helper unix socket
  • Using vmnet-client
  • Stopping the interface
  • Logging

docs/options.md - Command line options reference

Move from README:

  • Operation modes (host, shared, bridged)
  • Offloading options
  • All CLI options with descriptions

docs/examples.md - Examples and tutorials

Move from README:

  • Examples section
  • SSH configuration

Integrations

docs/integrations/vfkit.md - Using vmnet-helper with vfkit

  • Configuration examples
  • Recommended options
  • Troubleshooting

docs/integrations/krunkit.md - Using vmnet-helper with krunkit

  • Configuration examples
  • Offloading configuration
  • Troubleshooting

docs/integrations/qemu.md - Using vmnet-helper with qemu

  • Configuration examples
  • Using -netdev dgram
  • Troubleshooting

Migration guides

docs/migration/socket_vmnet.md - Migrating from socket_vmnet

  • Key differences
  • Configuration mapping
  • Step-by-step migration

docs/migration/gvproxy.md - Migrating from gvproxy

  • Key differences
  • Configuration mapping
  • Step-by-step migration

docs/migration/softnet.md - Migrating from softnet

  • Key differences
  • Configuration mapping
  • Step-by-step migration

Performance and comparison

docs/performance.md - Performance testing and results

Move from README:

  • Performance comparison results
  • Comparing to socket_vmnet
  • Comparing different VMs
  • Offloading benchmarks
  • Performance testing instructions
  • Running benchmarks
  • Creating plots

docs/alternatives.md - Comparison with similar tools

Move from README:

  • socket_vmnet comparison
  • softnet comparison

Configuration

docs/sudoers.md - Sudoers configuration

Move content from sudoers.d/README.md or link to it

Adopters

Projects using vmnet-helper:

  • minikube: Used in the vfkit and krunkit drivers

Implementation steps

  1. Create docs/ directory structure
  2. Create docs/usage.md with usage content from README
  3. Create docs/options.md with options reference
  4. Create docs/examples.md with examples content
  5. Create docs/integrations/ with vfkit, krunkit, qemu guides
  6. Create docs/migration/ directory (

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions