Skip to content

Auto generate JavaDoc for changed files using AI on main branch pushes #14

Description

@nilskntl

Introduce a GitHub Actions workflow that automatically generates or updates JavaDoc comments for changed Java files in minerva-api using AI.

The workflow should run on pushes to the main branch and only target files that were modified in the commit.

The goal is to:

  • Keep documentation up to date
  • Reduce manual documentation effort
  • Avoid undocumented code slipping into main

Workflow Behavior

  • Trigger on push to main

  • Detect changed .java files inside minerva-api

  • For each changed file:

    • Generate or update JavaDoc comments using AI
    • Do not modify logic or formatting unnecessarily
  • Regenerate JavaDoc output after updates


Constraints

  • Only process files that actually changed

  • Do not overwrite existing meaningful JavaDoc blindly

  • Generated comments must:

    • Be syntactically valid JavaDoc
    • Match existing code behavior
  • Workflow must be idempotent


Requirements

  • GitHub Actions workflow definition
  • AI based JavaDoc generation step
  • Safe handling of partial or repeated runs
  • Clear logging of modified files
  • Fail the workflow if JavaDoc generation fails

Acceptance Criteria

  • JavaDoc is automatically added or updated for changed files
  • No unrelated files are modified
  • JavaDoc generation runs reliably on main
  • Backend documentation stays consistently up to date

Activity

  1. self-assigned this
    on Jan 28, 2026
  2. nilskntl commented on Mar 20, 2026

    @nilskntl
    OwnerAuthor

    JavaDoc is now enforced via mvn verify checks on Pull Requests (see #107 and #103). This ensures that JavaDoc is always up to data on master branch

  3. pinned this issue on Mar 20, 2026
  4. unpinned this issue on Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions