Skip to content

Guidelines for Contributing

In general, code contributions are in the form of GitHub PRs, and require review and approval from maintainers with write access.

Conventional Commits

Lance projects use the Conventional Commits standard for commit messages. This standard helps differentiate between:

  • Breaking changes vs non-breaking changes (using ! and BREAKING CHANGE: footer)
  • Features (feat:), fixes (fix:), documentation updates (docs:), and other change types

Commit messages following this standard are used to automatically generate release notes during each release.

Feature Design Proposals

Designs in Lance evolve naturally with community input and consensus. Major technical changes are discussed organically through the following approach:

  • Start a Discussion: Create a GitHub Discussion to publish your design proposal and gather community feedback. Use discussion threads to explore different aspects and alternatives
  • Iterate on Design: Engage with the community to refine the approach based on their input and expertise
  • Draft PRs for Details: Once the general direction is acceptable to the community, publish draft PRs to help hash out implementation details. Draft PRs are encouraged as they facilitate concrete discussions
  • Break Down Changes: Split large draft PRs into smaller, incremental PRs for easier review and to demonstrate progress
  • Formal Voting: Maintainers with write access can approve code modifications related to the design. If the design requires Lance format spec changes, a separate vote will be conducted on GitHub Discussions following the voting requirements

AI Tooling Integrations

We encourage contributors to continuously improve integrations with AI tools, including:

  • Enhancing coding agent guidelines such as AGENTS.md and CLAUDE.md
  • Providing feedback to AI code reviewers
  • Developing and improving AI-driven GitHub actions

Project Specific Contributing Guidelines

Each project maintains its own detailed contributing guidelines in files named CONTRIBUTING.md.