Integrations
Task tracker @devintern/code @devintern/pm

DevIntern + GitHub Issues

Run your whole loop inside GitHub. @devintern/pm files well-specified issues, and @devintern/code implements them and opens the PR in the same repository.

Get started Setup guide Free for interactive use · FSL source-available

How it works

What DevIntern does with GitHub Issues

Each product path keeps GitHub Issues as the handoff surface. No rip-and-replace, no new dashboard.

@devintern/pm

Create GitHub Issues from AI drafts

  1. 1 Set TASK_TRACKER=github with a fine-grained or classic token.
  2. 2 Run devpm --interactive with your source material.
  3. 3 Review the draft and open the issue on your repository.
@devintern/code

Implement GitHub Issues end-to-end

  1. 1 Run devintern against an issue number, URL, or a search-qualifier batch query.
  2. 2 Agent fetches the issue body, labels, comments, and embedded attachments.
  3. 3 Creates a branch, implements, self-reviews, opens a PR in the same repo, and comments back on the issue.

Capabilities

Built for real GitHub Issues workflows

GitHub REST API for issue creation and implementation

Issue type selection in the interactive flow

Same-repo context for engineering handoff

Status transitions via repo labels configured in settings.json

Search-qualifier batch runs (is:open label:bug) scoped to your repo

One GITHUB_TOKEN shared with PR creation

A single run

From GitHub Issues ticket to reviewed pull request

A single run takes a GitHub issue from number to reviewed pull request in the same repository. GitHub has no built-in workflow states, so DevIntern tracks progress with the status labels you configure.

  1. 1

    Fetch the issue

    DevIntern accepts an issue number, #number, or full URL and pulls the body, labels, and comments. GitHub has no attachment API, so images and files embedded in the issue body are downloaded for the agent.

  2. 2

    Feasibility gate

    The agent judges whether the issue is actionable as filed. Vague issues get the blocking questions posted right in the thread, where the reporter already is, instead of a wrong-guess pull request.

  3. 3

    Status label flips to In Progress

    If the issue passes the gate, DevIntern applies your in-progress label. List your status labels in GITHUB_STATUS_LABELS and each transition removes the previous one, so statuses stay mutually exclusive.

  4. 4

    Implement and self-review

    The change lands on a feature branch in the same repository as the issue. The agent then self-reviews the diff and patches problems before opening the pull request.

  5. 5

    Deliver in the same repository

    With --create-pr, DevIntern opens a pull request next to the issue, applies your review label, and posts an implementation summary comment. Transitioning to closed or done closes the issue instead of applying a label.

What gets written back to GitHub Issues

Every outcome lands on the issue as a comment, with status labels tracking progress. Use --skip-comments to run without comments or label changes.

Feasibility check

Assessment comment with the questions blocking implementation

Successful implementation

Implementation summary comment linking the pull request in the same repository

Incomplete run or max turns

Incomplete-run comment explaining what remains

Estimation run

Comment-only estimate with suggested points, reasoning, risks, and unclear areas

Batch runs

Work through GitHub Issues in batches

Batch selection uses the GitHub search qualifiers you already know. Queries are automatically scoped to your repository with repo:owner/repo is:issue, and the first 100 matches are processed in sequence.

Single issue, PR included

$ devintern 123 --create-pr

Drain open bugs

$ devintern --query "is:open label:bug" --create-pr

Open issues matching a phrase

$ devintern --query 'is:open "login flow"' --create-pr

GitHub's search API allows 30 requests per minute; large batches pace themselves accordingly.

GitHub Issues specifics at a glance

API

GitHub REST API; the same GITHUB_TOKEN used for pull request creation

Query language

GitHub search qualifiers via --query, auto-scoped to your repo

Status updates

Repo labels from settings.json; GITHUB_STATUS_LABELS keeps them mutually exclusive

Estimation

Comment-only; GitHub Issues has no estimation field

Attachments

Images and files embedded in the issue body downloaded for the agent

Same-repo loop

Issue, branch, and pull request all live in one repository

Get connected

Setup guides and configuration

Credentials stay in project-local .env files. DevIntern runs on your machine or server, not a shared implementation cloud.

TASK_TRACKER= github

FAQ

Common questions about GitHub Issues

Can @devintern/code implement GitHub Issues directly?

Yes. Set TASK_TRACKER=github with GITHUB_REPO, then run devintern against an issue number or URL. It implements the change, opens a PR in the same repository, moves status labels, and posts a summary comment on the issue. Batch selection works with GitHub search qualifiers via --query.

What token scopes are required?

Issues read and write on the target repository. Use a fine-grained PAT limited to the repos DevIntern should touch.

How do status labels stay clean?

List all status label names in GITHUB_STATUS_LABELS. When a status changes, DevIntern adds the target label and removes the others in that list, so old statuses never pile up on an issue. The labels must already exist in the repository.

Does story point estimation work with GitHub Issues?

In comment-only mode. GitHub Issues has no estimation field, so --estimate posts (or updates) a comment with the suggested points, reasoning, risks, and unclear areas rather than writing to a field.

Related

Teams also connect these tools

GitHub Issues ready

Try DevIntern with GitHub Issues

Connect GitHub Issues, run your first workflow, and keep the trackers, repos, and reviewers your team already trusts.

Free for interactive use · FSL source-available · BYO model keys