Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 2.52 KB

File metadata and controls

45 lines (31 loc) · 2.52 KB

Contributing to D-MemFS

Thank you for your interest in D-MemFS. To maintain the "bulletproof" nature, "zero-dependency" design, and architectural purity of this project, we have established a stability-first contribution process.

1. Understand the Design Principles

Before proposing any changes, please read the Compatibility and Non-Goals section in the README. Understanding the intentional limitations of D-MemFS is a prerequisite for any contribution.

2. Contribution Flow: Issue-First Policy

To minimize review overhead and ensure alignment with our "Spec-First" development model, we follow a strict Issue-First workflow:

  1. Open an Issue or Discussion first. All bug reports, feature ideas, or documentation improvements must start as an Issue or a GitHub Discussion.
  2. Wait for consensus. We will discuss the proposal and determine if it aligns with the project's design principles and current roadmap.
  3. PRs by invitation. Pull Requests should only be submitted after a consensus has been reached in the corresponding Issue/Discussion. Unsolicited PRs, especially those that bypass the design discussion, may be closed without review to maintain focus.

3. Where to Start?

Directly Welcome (Open an Issue)

  • Bug reports — please include a minimal reproducible example, Python version, and OS.
  • Documentation — improvements to clarity, fixing typos, or adding useful examples.
  • Security concerns — direct reporting of potential vulnerabilities.

Requires Discussion First

For ideas that push the boundaries or involve features currently listed as Non-Goals, please use this dedicated space: 👉 Discussion #2: Boundary-pushing ideas and Non-Goals

4. Core Constraints

Any accepted proposal must adhere to these three pillars:

  1. Zero-dependency — relies only on the Python standard library.
  2. Hard Quota consistency — must not bypass or weaken memory enforcement.
  3. Portability — platform-agnostic, requiring no administrative privileges.

5. Development Setup

git clone https://github.com/<your-username>/D-MemFS.git
cd D-MemFS
uv pip compile requirements.in -o requirements.txt
uvx --with-requirements requirements.txt --with-editable . pytest tests/ -v --timeout=30

D-MemFS is currently in a stability-first phase. We prioritize architectural purity over rapid feature expansion.