Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.76 KB

File metadata and controls

48 lines (34 loc) · 1.76 KB

Contributing to Caveman

Thanks for helping make the cave bigger. PRs are welcome: new compressors, integrations, agent recipes, bug fixes, docs.

A new content-type compressor can add support for CSV, HTML, SQL dumps, notebook output, or OpenAPI specs. Each one makes Caveman useful to a whole new slice of payloads. Start from an existing one under engine/ and copy its shape.

Sign your commits (DCO)

This project uses the Developer Certificate of Origin. It's a one-line promise that you wrote the code (or have the right to contribute it). Add a sign-off to every commit:

git commit -s -m "your message"

That appends a Signed-off-by: Your Name <your@email> trailer. No CLA, no forms.

Licensing of contributions

Whole repo is Apache-2.0 (see LICENSING.md). Contributions are inbound = outbound: you license your change under the same Apache-2.0 terms. Simple.

Where changes land

Open a pull request against this repository. A maintainer checks license scope, tests, generated artifacts, and security boundaries for affected directory. Profile-only changes follow narrower process in docs/CONTRIBUTING_PROFILES.md.

Keep generated files in same pull request as their source and retain commit authorship and DCO sign-off.

Before you open a PR

  • Build and test the package you touched (go test ./..., pnpm test, or pytest, depending on the directory).
  • Keep it byte-safe: compressors must round-trip or degrade gracefully. Never silently corrupt a payload. On any parse problem, pass the bytes through untouched.
  • Match the surrounding style. Small, focused PRs review fastest.

Questions → open a discussion or ping us at hello@caveman.so.