Contributing

How to contribute to CloudOpt.

CloudOpt is GNU GPL v3. Pull requests welcome.

Before you open a PR

  1. File an issue for large changes, or claim an existing one.
  2. Fork kernul-io/cloudopt, branch from main.
  3. Keep the diff scoped to the problem.
  4. Run make test and make lint.
  5. In the PR body: what changed, how you tested it.

Contributor docs

Topic Description
Development setup Build, test, lint
Architecture Layout, data flow, constraints
Canonical model Domain types and SQLite
Rule engine Manifest, evaluators, fingerprints
Reporting internals Schema, savings math, redaction
Roadmap Step order and status

Code rules

  • Domain packages: no cloud SDKs, SQLite, HTTP, or AI imports.
  • Adapters implement internal/application/ports; call them only through internal/application/api.
  • Unit tests for math; functional tests per vertical slice.
  • Develop against fixtures under testdata/; live cloud access optional.
  • No secrets, account IDs, or customer data in commits.

License

Contributions ship under GPL v3. Full text: LICENSE.

Kernul

CloudOpt is Kernul tooling. Partnership and consulting: kernul.io, hello@kernul.io.