Skip to content

Complete and clarify development setup documentation #30

Description

@wdconinc

The current developer setup process for mollerdb is fragmented across several files (README.md, docs/README.md, schema/README.md) and lacks a unified, complete, and easy-to-follow guide. This makes onboarding new contributors and ensuring reproducible development environments difficult.

Summary of missing pieces:

  • No single, comprehensive guide for setting up a C++ and Python dev environment (steps are scattered and sometimes incomplete).
  • Native dependencies (libpqxx, Arrow, pybind11, CMake, compiler versions) are not fully or clearly documented for all platforms.
  • No single step-by-step workflow for cloning, submodule setup, schema generation, building/testing C++ and Python, or validating the environment.
  • Troubleshooting advice for common build errors is missing.
  • No checklist for verifying the setup (running tests, building wheels, schema integration).
  • No reference to Docker-based setup (see issue Add development Dockerfile with all dependencies for mollerdb #27).

Deliverables (Definition of Done):

  • Add a single, discoverable dev setup guide (e.g., docs/DEV_SETUP.md or a section in docs/README.md) that includes:
    • System and Python prerequisites for Linux/macOS (and Windows, if supported)
    • Step-by-step setup: clone, submodules, dependencies, build, test for both C++ and Python
    • Troubleshooting section for common issues
    • Reference to Docker-based setup (link to issue Add development Dockerfile with all dependencies for mollerdb #27)
    • Checklist of commands to verify a working setup
  • Update README.md and docs navigation to point to the new guide
  • Confirm that a new contributor can follow the guide from scratch to a working environment

References:

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationgood first issueGood for newcomers

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions