Contributing

Keep changes focused on the affected integration. Read its documentation and the SDK dependency requirements before changing the build or adding dependencies.

Code and documentation

  • Keep implementation, tests, examples, and usage documentation in the module for the external system.
  • Use an installed TsFile SDK rather than a copy of the core source tree.
  • Follow the integration's build and formatting conventions. Record the commands run, dependency versions, and test results with a change.
  • Keep the English and Chinese root READMEs consistent. Document supported behavior and limitations without overstating compatibility.
  • When adding an integration, follow Adding an integration.

Importing code

Record the source repository and exact commit. Preserve attribution and relevant history, documentation, and tests. Review the license and notice requirements of the files being imported; do not copy notices for unrelated components.

Replace dependencies on the TsFile source-tree layout with the installed SDK interface. Document any remaining use of internal APIs. Keep changes to external distribution systems, such as the DuckDB community registry, separate from source imports.

Files and formatting

Use UTF-8, LF line endings, and a final newline. Follow .editorconfig.

New source, configuration, and Markdown files require the Apache License 2.0 header in the appropriate comment syntax. Keep LICENSE and NOTICE in their standard standalone formats and preserve third-party attribution.

Do not commit SDK installations, build outputs, credentials, or large generated datasets. Small test fixtures may be included with their provenance and purpose.

Commits

Use focused commits describing the change. Do not add a Co-Authored-By trailer.