DEV Community

Cover image for laya-triage is in Hacktoberfest: free, local AI triage for GitHub issues
Ignacio Joaquin Sanga Olmos
Ignacio Joaquin Sanga Olmos

Posted on

laya-triage is in Hacktoberfest: free, local AI triage for GitHub issues

Hacktoberfest: Maintainer Spotlight

Every popular repository has the same problem: new issues pile up faster than maintainers can read them, and many end up mislabeled or go unaddressed.

laya-triage is a GitHub Action that reads each new issue and labels it as a bug, feature request, question, or documentation problem. If a bug report is almost empty, it asks the author for the missing details. It runs a fine-tuned open-weight model inside your own GitHub Actions runner: no API key, no cost, and the issue text never leaves GitHub.

πŸ”— Repo: https://github.com/elnachto/laya-triage
πŸ›’ Marketplace: https://github.com/marketplace/actions/laya-triage
πŸ€— Models: https://huggingface.co/elnachto/laya-triage-en

Try it in one minute

Create .github/workflows/triage.yml:

name: Triage

on:
  issues:
    types: [opened]

permissions:
  contents: read
  issues: write

jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
      - uses: elnachto/laya-triage@v1
Enter fullscreen mode Exit fullscreen mode

It starts in dry-run mode, so it prints decisions only in the workflow log. When you like what you see, set dry-run: "false". There are more ready-to-copy workflows in docs/examples/.

How it was built

  • Fine-tuning: I fine-tuned the open Laya decision model on 1 million real issues from the NLBSE'23 benchmark, on my own GPU.
  • My own dataset: I collected recent issues (2025–2026) from thousands of active repositories and kept only the labels a maintainer applied, not the ones added automatically by issue templates.
  • Honest measurement: separate exams that were never used for tuning.

Results

  • 88.8% accuracy on NLBSE'23, within the margin of the RoBERTa research baseline (89.1%).
  • 79.8% on 10,026 recent issues from 288 active repositories, ahead of Jev (78.1%), a paid commercial API.
  • It adapts to each repository: it reuses your existing label names (type: bug, kind/feature…) and learns how common each issue type is from the issues you labeled in the last year.
  • It never overrides a label you or your issue template already set.

How to jump in

Some good first issue tasks are still open, and none of them needs a GPU:

  • Add a CI workflow for the template tests.
  • Unit tests for the repository-adaptation logic.
  • Translate the README to Spanish.

The most valuable contribution of all: install it in your repo and tell me when it gets a label wrong (there’s an issue form for that). Those reports are the training data for the next model.

Please read the contributing guide and leave a comment on an issue prior to beginning. A big thank you to the first contributors who have already submitted pull requests! Happy Hacktoberfest πŸŽƒ

Top comments (0)