Contributing To Jidoka

Copy Markdown View Source

Jidoka follows the Jido ecosystem package quality standards:

  • keep library code in lib/;
  • keep example-only app wiring in showcase/;
  • keep public documentation and standalone Livebooks in guides/;
  • keep complete reference agents in examples/;
  • keep local planning and research notes in the ignored docs/ directory;
  • validate public data with Zoi structs;
  • normalize package errors through Jidoka.Error;
  • keep the Runic turn spine deterministic and runtime effects explicit.

Setup

mix deps.get

Quality Gate

Run the package gate before opening a PR:

mix quality
mix test --cover
mix hex.build --unpack

Live provider tests are opt-in and require provider keys in the process environment. Jidoka does not implement dotenv loading. ReqLLM loads .env by default, but this source checkout disables that behavior for deterministic tests. Use your shell or host app config to provide credentials:

mix test --include live test/jidoka/live_req_llm_test.exs

Release Notes

Use conventional commits for changes. The release workflow generates release notes from Git history. Do not edit CHANGELOG.md by hand. Publish through the version-controlled GitHub release workflow, not through an ad hoc local Hex publish.

Jidoka-Specific Exceptions

Jidoka intentionally keeps the public package root as Jidoka, not Jido.Jidoka, because this package is an application layer built on the Jido ecosystem rather than a Jido core subpackage.

The Phoenix companion app lives in showcase/. This name separates UI and system integration from package-level examples in examples/. Showcase-only dependencies stay isolated and do not enter the primary package runtime graph.