Repository navigation
chore: CI lint and docs jobs, Credo, Dependabot, and Hex package polish - #5
Merged
Merged
Conversation
Brings the repo in line with what Ecto, Req and the Jido packages do: - CI: test matrix adds Elixir 1.20 / OTP 29; separate lint job (lockfile checks, format, unused deps, warnings-as-errors, credo --strict) and docs job (docs --warnings-as-errors, hex.build); deps.get --check-locked everywhere - Credo (dev/test) with --strict clean: provider resolution is table-driven, HTTP response classification is split from the retry loop, and the OpenAI question encoder has one clause per type; behaviour unchanged (55 tests) - ex_doc only in a :docs env (preferred for docs and hex.publish) - Hex package links the changelog on hexdocs - Dependabot for mix and GitHub Actions - run.sh moved to scripts/run.sh as an optional Docker helper Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GCRzC1xV9gCW4bf7LzBGcB
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GCRzC1xV9gCW4bf7LzBGcB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #2; GitHub retargets this to
mainonce #2 merges.Borrowed from how Ecto, Req and the Jido packages are set up, so the repo looks familiar to Elixir developers. No public API changes.
CI
mix deps.get --check-locked,mix format --check-formatted,mix deps.unlock --check-unused,mix compile --warnings-as-errors,mix credo --strict.mix docs --warnings-as-errorsandmix hex.build, so a broken release package shows up in the PR.Code
credo --strictis clean. Its complexity checks prompted three refactors, each covered by the existing 55 tests:Provider.resolve/1is table-driven for the three hosted providers (TypeSafe, OpenRouter, OpenAI), with clauses for Cloudflare and compatible.HTTPclassifies each response ({:done, result}or{:retry, retry_after, error}) separately from the retry loop.Wire.OpenAIDecisionsencodes one question type per clause.Packaging and tooling
ex_docis only in a:docsenv, which is preferred formix docsandmix hex.publish.run.shmoved toscripts/run.shand described as an optional Docker helper. It also picks the:docsenv fordocsandhex.publish.Verified locally
Tests 55/55, strict Credo, format, warnings-as-errors,
deps.get --check-lockedin test/dev/docs,deps.unlock --check-unused,docs --warnings-as-errors,hex.build.🤖 Generated with Claude Code
https://claude.ai/code/session_01GCRzC1xV9gCW4bf7LzBGcB