Skip to content

Conversation

madvart
Copy link
Contributor

@madvart madvart commented Sep 21, 2025

existing - Daft_CONTRIBUTING.md.pdf
existing-Contributing.pdf

new - subpage -Development Guide.pdf
new - Contributing to Daft.pdf
new - CONTRIBUTING.md - Grip.pdf

Changes Made

  1. Divided CONTRIBUTING.md by moving details on development to a sub page (https://docs.daft.ai/en/stable/contributing/development)
  2. Added Contributor Policy on CONTRIBUTING.md

Related Issues

Checklist

  • Documented in API Docs (if applicable)
  • Documented in User Guide (if applicable)
  • If adding a new documentation page, doc is added to docs/mkdocs.yml navigation
  • [ X] Documentation builds and is formatted properly (tag @/ccmao1130 for docs review)

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Summary

This PR restructures the documentation by reorganizing the contributing guidelines into a more hierarchical and maintainable structure. The changes involve dividing the monolithic CONTRIBUTING.md file into focused, purpose-built documentation pages.

The main changes include:

  1. Documentation Structure Reorganization: The navigation in docs/SUMMARY.md is updated to reflect a new nested structure where "Contributing" becomes a parent section with "Development Guide" as a subsection, replacing the previous flat structure.

  2. Creation of Dedicated Development Guide: A comprehensive new file docs/contributing/development.md is created containing detailed technical instructions for developers, including environment setup, debugging procedures with VSCode configuration, testing workflows, and a complete tutorial for adding new expressions to Daft with Rust implementation and Python bindings.

  3. Streamlined Main Contributing File: The root CONTRIBUTING.md is significantly simplified by removing ~366 lines of technical details and replacing them with a link to the new development guide. A new "Contributor Community" section is added defining four contributor roles (User, Contributor, Committer, Daft Punq) with clear progression paths and responsibilities.

  4. Index Page Conversion: The docs/contributing/index.md file is converted from a symbolic link to actual content, providing a dedicated entry point for documentation contributors with issue reporting guidelines and feature proposal processes.

This restructuring follows common documentation patterns where high-level contributor information is separated from detailed technical instructions, making the content more accessible to different types of contributors and improving overall maintainability.

PR Description Notes:

  • The PR description references external PDF attachments that show before/after views of the documentation
  • The checklist indicates documentation builds properly and requests review from @ccmao1130

Confidence score: 2/5

  • This PR requires careful review due to potential navigation issues and incomplete file cleanup
  • Score lowered due to an empty file (docs/contributing-to-daft.md) that could break existing documentation links and missing navigation updates in mkdocs.yml
  • Pay close attention to docs/contributing-to-daft.md (completely empty) and verify docs/mkdocs.yml navigation is properly updated

5 files reviewed, 5 comments

Edit Code Review Bot Settings | Greptile

(Showing first 3 of 3 rows)
"""
# Get the function frou our global `FUNCTION_REGISTRY`
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: typo in comment: 'frou' should be 'from'

Suggested change
# Get the function frou our global `FUNCTION_REGISTRY`
# Get the function from our global `FUNCTION_REGISTRY`

```py
def to_uppercase(self) -> Series:
return self._eval_expressions("upper")
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: method name mismatch - calls '_eval_expressions("upper")' but function is named 'to_uppercase'

Suggested change
return self._eval_expressions("upper")
return self._eval_expressions("to_uppercase")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Since your fn name returns "to_uppercase" that's how you would need to reference it. But actually I wouldn't want people to add new expression methods to Series, I'm actually planning on removing them in the future.

11. `make build-whl`: recompile your code after modifying any Rust code in `src/` for development, only generate `whl` file without installation
12. `make daft-proto`: build Daft proto sources in `src/daft-proto`
### Daft Committer
A committer is a developer who has consistently made meaningful contributions to the project and has been invited to this role based on the merit of their work. Committers are granted write access to specific parts of the code repository, have a signed committer agreement on file, and receive a daft.ai email address. With the ability to apply patches directly to code or documentation, they can make short-term decisions within their areas of expertise. These changes are then subject to review: the Daft Punks may approve them as permanent or choose to reject them.
Copy link
Contributor

Choose a reason for hiding this comment

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

syntax: Inconsistent naming: 'Daft Punks' is referenced in the Committer section but the actual section title is 'Daft Punqs'

Suggested change
A committer is a developer who has consistently made meaningful contributions to the project and has been invited to this role based on the merit of their work. Committers are granted write access to specific parts of the code repository, have a signed committer agreement on file, and receive a daft.ai email address. With the ability to apply patches directly to code or documentation, they can make short-term decisions within their areas of expertise. These changes are then subject to review: the Daft Punks may approve them as permanent or choose to reject them.
A committer is a developer who has consistently made meaningful contributions to the project and has been invited to this role based on the merit of their work. Committers are granted write access to specific parts of the code repository, have a signed committer agreement on file, and receive a daft.ai email address. With the ability to apply patches directly to code or documentation, they can make short-term decisions within their areas of expertise. These changes are then subject to review: the Daft Punqs may approve them as permanent or choose to reject them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jaychia @ccmao1130 Punks or Punqs?

Copy link
Contributor

Choose a reason for hiding this comment

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

Punq! (no trademark :))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants