Skip to content

Conversation

@LunaStev
Copy link
Member

@LunaStev LunaStev commented Dec 9, 2025

Restructure contribution guidelines to support both GitHub PRs and email-based patch submissions with automated verification.

Changes:

  • Update .mailmap to use unified email address (luna@lunastev.org):
    • Consolidate all contributor identities under single canonical address
    • Maintain historical attribution for previous email addresses
  • Rewrite CONTRIBUTING.md with kernel-style workflow:
    • Add dedicated development setup section (references wavfnd/setup)
    • Document dual contribution methods (GitHub PR + email patches)
    • Require DCO (Developer Certificate of Origin) for all commits
    • Add patch submission instructions with git format-patch/send-email
    • Simplify project scope section (no builtin functions philosophy)
    • Remove verbose "beginner-friendly" content and community fluff
    • Focus on technical requirements and maintainer workflows
  • Add MAINTAINERS file with subsystem ownership:
    • Define maintainers for frontend (lexer, parser)
    • Assign error system, LLVM backend, and CLI ownership
    • Use email addresses for patch routing
    • Follow F: (file pattern) and M: (maintainer) format
  • Implement get_maintainer.py script:
    • Parse MAINTAINERS file to extract subsystem information
    • Match file paths to appropriate maintainer email addresses
    • Support batch file input for patch series
    • Print CC list for manual patch submission
  • Add verify_patch.sh automated verification script:
    • Apply patch with git am in temporary branch
    • Verify DCO signature presence
    • Run cargo fmt --check for style compliance
    • Execute cargo build, cargo test, and cargo clippy
    • Clean up temporary branch on success or failure
    • Exit with error code if any check fails

This establishes a professional contribution workflow similar to Linux kernel and LLVM projects, enabling both GitHub-based and email-based patch submission with maintainer-driven review process.

Restructure contribution guidelines to support both GitHub PRs and
email-based patch submissions with automated verification.

Changes:
- Update .mailmap to use unified email address (luna@lunastev.org):
  - Consolidate all contributor identities under single canonical address
  - Maintain historical attribution for previous email addresses
- Rewrite CONTRIBUTING.md with kernel-style workflow:
  - Add dedicated development setup section (references wavfnd/setup)
  - Document dual contribution methods (GitHub PR + email patches)
  - Require DCO (Developer Certificate of Origin) for all commits
  - Add patch submission instructions with git format-patch/send-email
  - Simplify project scope section (no builtin functions philosophy)
  - Remove verbose "beginner-friendly" content and community fluff
  - Focus on technical requirements and maintainer workflows
- Add MAINTAINERS file with subsystem ownership:
  - Define maintainers for frontend (lexer, parser)
  - Assign error system, LLVM backend, and CLI ownership
  - Use email addresses for patch routing
  - Follow F: (file pattern) and M: (maintainer) format
- Implement get_maintainer.py script:
  - Parse MAINTAINERS file to extract subsystem information
  - Match file paths to appropriate maintainer email addresses
  - Support batch file input for patch series
  - Print CC list for manual patch submission
- Add verify_patch.sh automated verification script:
  - Apply patch with git am in temporary branch
  - Verify DCO signature presence
  - Run cargo fmt --check for style compliance
  - Execute cargo build, cargo test, and cargo clippy
  - Clean up temporary branch on success or failure
  - Exit with error code if any check fails

This establishes a professional contribution workflow similar to Linux
kernel and LLVM projects, enabling both GitHub-based and email-based
patch submission with maintainer-driven review process.

Signed-off-by: LunaStev <youngjae681@gmail.com>
@LunaStev LunaStev self-assigned this Dec 9, 2025
@LunaStev LunaStev merged commit 321012b into wavefnd:master Dec 9, 2025
2 checks passed
@LunaStev LunaStev deleted the mail_patch branch December 13, 2025 11:33
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.

1 participant