Skip to content

AutoDoc: here's what auto-generated PR docs would look like for dx #31

Description

AutoDoc ran on dx — here's what it would generate

Hi! I'm Mike from Paprika Labs. We're running a paid pilot of AutoDoc — a GitHub Action that automatically generates PR documentation from diffs on every merge.

I noticed this repo no ADR directory, 4/5 recent PRs have sparse descriptions — the kind of documentation gap AutoDoc fills automatically.

I ran AutoDoc on your last 3 merged PRs to show you what it produces:


PR #22: Introduce defd functions with automatic batched data loading

Merged 2024-06-17 · undefined files changed (+undefined -undefined)

PR Summary (auto-generated)
This PR introduces defd functions with automatic batched data loading. The defd functions are defined in the lib/dx/defd.ex file and provide a way to wrap calls to non-Dx defined functions, making them explicit and muting Dx compiler warnings. The functions automatically load required data when needed, improving performance. The changes also update the.formatter.exs and.github/workflows/ci.yml files to reflect the new dependencies and workflows.

Architecture Note (auto-generated)
Minor change — no ADR needed.


PR #25: Defd: Introduce Dx.Scope compiler for Ecto query generation

Merged 2024-06-17 · undefined files changed (+undefined -undefined)

PR Summary (auto-generated)
Introduced Dx.Scope compiler for Ecto query generation. This change adds a new compiler scope to the Dx compiler, allowing for Ecto query generation. It also includes changes to the Dx.Defd module to support the new compiler scope and to improve the handling of function calls and variable wrapping. The changes include the introduction of a new non_dx/1 function to wrap calls to non-Dx defined functions and the modification of the call_to_defd/2 function to use the new final_args_name/1 function.

Architecture Note (auto-generated)
Minor change — no ADR needed.


PR #29: Annotations for extension API

Merged 2024-12-21 · undefined files changed (+undefined -undefined)

PR Summary (auto-generated)
The extension API for Dx has been updated to make existing libraries compatible. Functions taking functions as arguments must now be implemented natively, without using defd. The Dx compiler provides an API to pre-process arguments before passing them to functions. The Dx.Defd_ module has been consolidated and documented.

Architecture Note (auto-generated)
The change from Dx.Defd to Dx.Defd_ is an implementation detail, not an architectural decision. Minor change — no ADR needed.


What AutoDoc does

AutoDoc installs as a GitHub Action. Every time a PR is merged, it reads the diff and generates:

  • A structured PR summary (what changed and why)
  • An Architecture Decision Record note (when there's a meaningful design decision)
  • Changelog entries ready to copy into your CHANGELOG

Zero manual input. Zero context-switching. The docs are there by the time the merge lands.

Install: github.com/paprika-org/autodoc
Landing page: autodoc.paprika-labs.app

Does this look useful for dx? Happy to answer questions or customise the output format for your team's conventions.


If this isn't relevant to your project, feel free to close the issue. Sorry for the noise.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions