Contribute

Timelake is open source under the Apache 2.0 license, and contributions are welcome: bug reports, questions, ideas, docs, benchmarks, and code. You don't need permission to help. Everything happens on GitHub.

Ways to help

  • Report a bug. Open an issue with what you ran, what you expected, and what happened. Include the version (timelake --version) and the object store you use.
  • Report a security problem privately, not in an issue: report a vulnerability on GitHub. SECURITY.md says what happens next.
  • Ask a question or suggest a feature. Open an issue too. The roadmap shows what is planned, as milestones, and the specs the design behind it, feature by feature, with what is built.
  • Improve the docs. Every page on this site is a file in dashboard/app/(site)/docs. Fix a typo or an unclear sentence straight in a pull request.
  • Run the benchmarks on your hardware or object store and share the results in an issue. See Benchmarks.
  • Write code. Issues labelled good first issue or help wanted are good places to start.

Making a change

  1. For anything bigger than a fix, open an issue first and agree on the approach, so a pull request doesn't need rewriting.

  2. Fork the repository and branch from main. The Development guide sets up the tools: Rust, uv, and Bun.

  3. Change behaviour, docs, and tests together. A pull request that changes what users see also updates the docs and the tests, and adds a line to CHANGELOG.md under Unreleased.

  4. Run the checks before you push. CI runs the same ones on every pull request.

    prek run --all-files --hook-stage pre-push       # formatters, linters, type checkers
    cargo test --workspace                           # Rust
    uv run pytest crates/timelake-py/tests           # Python
  5. Open a pull request against main that says what changed and why. A maintainer reviews it. Small, focused pull requests get merged fastest.

Code guide

CONTRIBUTING.md is the code guide. It covers how code should read in Rust, Python, and TypeScript, how to write tests, commit messages, the changelog, and versions and releases. The Codebase tour explains what each part of the repository does, and How it works explains the design.

Coding agents are welcome too: AGENTS.md points them at the same rules. You are responsible for what you submit, whoever wrote it.

License

Timelake is licensed under the Apache License 2.0. Contributions are licensed under it too.