Skip to content

docs: add Windows platform support section to CONTRIBUTING.md - #75

Merged
kstonekuan merged 6 commits into
Hebbian-Robotics:mainfrom
supercell02:docs/windows-platform-support
Aug 21, 2026
Merged

docs: add Windows platform support section to CONTRIBUTING.md#75
kstonekuan merged 6 commits into
Hebbian-Robotics:mainfrom
supercell02:docs/windows-platform-support

Conversation

@supercell02

Copy link
Copy Markdown
Contributor

Problem

The CONTRIBUTING.md guide currently does not mention Windows platform limitations. Windows users following the setup instructions encounter ModuleNotFoundError: No module named 'fcntl' and ffmpeg compatibility issues that are confusing and frustrating.

Solution

Added a new "Platform Support" section immediately after the "Development setup" prerequisites that:

  • Clarifies that Linux and macOS are fully supported for native development
  • Explains that Windows is not currently supported for native development due to Unix-specific dependencies (fcntl file locking)
  • Provides clear alternatives for Windows users: WSL2 (recommended) or Docker Desktop
  • Includes a note about BIOS virtualization requirements for WSL2

Validation

-Documentation is accurate (Windows indeed lacks fcntl support)
-WSL2 and Docker are viable alternatives for Windows users
-No Markdown syntax errors
-No breaking changes to existing documentation

supercell02 and others added 5 commits August 19, 2026 15:02
-.editorconfig: UTF-8, LF line endings, 4-space Python indent (100 chars), 2-space YAML
-.pre-commit-config.yaml: ruff check/format hooks pinned to v0.16.2 (from uv.lock)
-CONTRIBUTING.md: document optional pre-commit setup

All configs mirror existing pyproject.toml rules and CI gates. Ruff validation
produces no changes (83 files already compliant).
Strip UTF-8 BOMs and double-spacing, use the current ruff-check hook
id, and document uvx for install since pre-commit is not a project
dependency (uv run pre-commit fails without it).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 20, 2026 19:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Windows platform guidance to CONTRIBUTING.md, including native support limitations and development alternatives.

Changes:

  • Documents Linux/macOS support and Windows fcntl limitations.
  • Recommends WSL2 and Docker Desktop.
  • Notes WSL2 virtualization requirements.
  • Review nit: clarify Docker Desktop’s supported scope.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CONTRIBUTING.md Outdated
Comment on lines +31 to +33
Windows users should use one of:
- **WSL2 (Recommended)**: Follow the standard setup steps inside WSL2 with an Ubuntu distribution
- **Docker Desktop**: Run development inside a container with a pre-configured Linux environment
Sentence-case the heading to match the surrounding sections, name HFlow
as the project does elsewhere, state the fcntl mechanism with a file
pointer, and link the runtime prerequisites instead of restating the
WSL2 guidance. Drops the devcontainer suggestion (the repo ships no
devcontainer) and the BIOS note (generic WSL2 setup, not ours).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@kstonekuan kstonekuan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @supercell02, and welcome! CONTRIBUTING.md genuinely had nothing about platforms, and a Windows contributor hitting ModuleNotFoundError: No module named 'fcntl' on their first pytest run has no way to tell whether they broke something or whether it was never going to work. Worth documenting.

What I validated locally:

  • Confirmed the mechanism you named: src/hflow/storage.py has a bare top-level import fcntl, so on native Windows import hflow fails before any test runs. Your claim is exactly right.
  • Confirmed CI is Linux-only (ubuntu-latest), which is why I added a line about running the checks yourself on macOS.
  • lychee reports 231 links with 0 errors, including the new cross-reference.

One fixup pushed to your branch (62e4303), mostly style plus two content trims:

  • Sentence-cased the heading and switched "Linux & macOS" to "and", matching the surrounding sections, and used "HFlow" as the project is named elsewhere in the file.
  • Stated the fcntl mechanism with a file pointer rather than as a general statement, since the repo's style is to point at the code that causes the behavior.
  • Linked the runtime prerequisites instead of restating the WSL2 guidance, because that section already explains why the data root has to live on the Linux filesystem, and I would rather it be explained in one place.
  • Dropped the Docker Desktop option and the BIOS note. The repo ships no devcontainer, so "run development inside a container" is not a path we can actually support today, and enabling virtualization is generic WSL2 setup that Microsoft's own docs cover better than we can.

If you disagree with either trim, say so and we can put it back. Merging now.

If you want another, the open good first issues have plenty left, and several are documentation like this one (issues with an assignee are taken; everything else is fair game). We also hang out on Discord.

@kstonekuan
kstonekuan merged commit bf5b9c3 into Hebbian-Robotics:main Aug 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants