Commit Graph

15 Commits

Author SHA1 Message Date
Marcos Hernanz 7a5d2f9f32 Allow issue participants to request reopening (#96947)
## Summary

- Let issue authors and people who commented before closure reopen an
issue within 14 days using `Reopen: <reason>`.
- Limit the automation to unlocked issues closed by triage-or-higher
human maintainers, with ordered timeline checks, bot filtering,
idempotency, and state revalidation.
- Align resolved-issue and contributor guidance with the new reopening
window.

## Verification

- `Prettier 3.6.2 --check .github/workflows/issue_reopen.yml
.github/comments/resolved.md contributing/repository/triaging.md`
- Mocked workflow harness covering 19 closure, eligibility, boundary,
bot, idempotency, and race scenarios
- `autoreview --mode local --stream-engine-output` (Codex and Claude
clean)
- Live GitHub API spot-check for ordered same-second `commented` and
`closed` timeline events
- Not run: live issue close/reopen smoke test (issue-triggered workflows
run only from the default branch)
2026-08-12 15:34:54 -07:00
Benjamin Woodruff 0cfc85ceae Clarify AI-assisted contribution policy in PR template and AGENTS.md (#95629)
## Summary

Documents the policy around AI-assisted contributions, for both humans
and agents:

- `.github/pull_request_template.md`: notes that AI use is encouraged
for researching, creating, and reviewing changes, but contributors must
deeply understand their contributions, and PR descriptions from external
contributors must be written by a human.
- `.github/ISSUE_TEMPLATE/1.bug_report.yml`: adds the equivalent note
for bug reports — issue descriptions from external contributors must be
written by a human, though AI may help create reproductions.
- `AGENTS.md`: replaces the old "PR Descriptions" section with two new
sections. "GitHub Pull Requests" distinguishes branch PRs (agents may
write descriptions) from fork PRs targeting `vercel/next.js` (agents may
not). "GitHub Issues, Comments, and Discussions" restricts agent-written
issues, discussions, and comments to members of the
`vercel`/`vercel-labs` GitHub orgs, tells agents how to check membership
via the GitHub API, lists what agents can still help non-members with
(drafting details, reviewing, reproductions, translation, searching for
duplicates), and carves out exceptions (commenting on the user's own PR,
Vercel-operated bots, GitHub/Graphite review bots, and forks of the
repo).
- Renames the LLM watermark marker from `NEXT_JS_LLM_PR` to
`NEXT_JS_LLM` everywhere it appears (`AGENTS.md`,
`contributing/repository/pull-request-descriptions.md`, and the
`create-pr`/`backport-pr` skills), since it now also applies to issues,
discussions, and comments. Nothing in the repo consumes the old marker
name.
- `.agents/skills/create-pr/SKILL.md`: adds a "Fork PRs vs Branch PRs"
section referencing the `AGENTS.md` policy. Assorted typo fixes along
the way.

## Verification

- `gh api /user/memberships/orgs` and `gh api
orgs/vercel/members/<login>` (confirmed the documented membership checks
work and return the documented statuses)
- Not run: no test/build commands (docs-only change; prettier applied
via the pre-commit hook)

<!-- NEXT_JS_LLM -->
2026-07-10 11:27:52 -07:00
Tim Neutkens dd0cae63e0 Align issue triage guidance with automated behavior (#94189)
### What?

- Align the public triage guide with the issue workflows current
response windows and confirmed-team labels.
- Update reproduction and canary response comments to describe automatic
closure separately from the later lock workflow.

### Why?

The documented triage contract had drifted from the active automation:
the guide described 30-day response windows and unsupported triage
labeling, while automated comments implied that timed closure
immediately locks issues. This sets inaccurate expectations for
reporters and maintainers.

### How?

Update the four Markdown surfaces that explain manual triage and
automated follow-up behavior to match the existing stale and lock
workflows.

### Verification

- `pnpm prettier --with-node-modules --ignore-path .prettierignore
--check contributing/repository/triaging.md
.github/comments/invalid-reproduction.md
.github/comments/simplify-reproduction.md
.github/comments/verify-canary.md`
- `git diff --cached --check`
- Not run: `pnpm --filter=next build` (`documentation and GitHub comment
text only; no framework source changes`)

<!-- NEXT_JS_LLM_PR -->
2026-05-28 13:24:18 +02:00
Benjamin Woodruff 124c4000ab docs: Ask AI agents to self-identify themselves in PR descriptions (#92235)
This is inspired by
https://glama.ai/blog/2026-03-19-open-source-has-a-bot-problem#user-content-how-are-these-agents-setup

If agents follow this pattern, we could potentially add labels (this PR
does not touch the labeler) to these PRs which may help with review and
triage. This does not change how we'd deal with these PRs (AI generated
PRs are okay!), but I would like to know if a PR is AI generated when
reviewing it.
2026-04-03 18:55:42 -07:00
Sebastian "Sebbie" Silbermann 3b4e4478d4 Use ESLint Flat Config (#84800) 2025-10-13 10:43:51 +02:00
マルコメ fddd022e1b docs: fix broken link of new comments path (#71674)
# Summary
Add missing comments path to which #61416 changed.

### Improving Documentation

- [x] Run `pnpm prettier-fix` to fix formatting issues before opening
the PR.
- [x] Read the Docs Contribution Guide to ensure your contribution
follows the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2024-10-29 11:54:28 -07:00
Balázs Orbán 90b80faa6f chore: rename 'example bug' label to 'examples' (#64775) 2024-04-19 12:39:44 +02:00
Balázs Orbán 6a9a392059 chore: update labels in workflows/templates (#63713) 2024-04-17 14:28:51 +02:00
Balázs Orbán 3a923d5eda chore: add resolved label (#61416)
### What?

- Add a comment to issues labeled with `resolved`

Note to maintainers: it won't autoclose the issue. (This would need to
be added to [`nissuer`](https://github.com/balazsorban44/nissuer) as a
new feature)

Rendered comment
[here](https://github.com/vercel/next.js/blob/b868cf95f29a305bca1afabdb8db76e64a1cce30/.github/good-first-issue.md)

- I also reorganized the label comments to its own folder since we have
a few now.

### Why?

After verifying if an open issue has been fixed, a common task is to
comment on it and tell people to upgrade or open a new issue if it
persists. (Ideally, PRs would reference every issue they fix, but
sometimes we need to do this chore manually)

### How?

Using `nissuer`'s
[comment-label](https://github.com/balazsorban44/nissuer#label-management).


Closes NEXT-2306
2024-01-31 02:50:23 +01:00
Balázs Orbán c6783adf5d chore: add good first issue label comment (#61215)
### What?

Add a comment to issues labeled with `good first issue`. Rendered
comment
[here](https://github.com/vercel/next.js/blob/b868cf95f29a305bca1afabdb8db76e64a1cce30/.github/good-first-issue.md).

### Why?

We have historically marked issues with this label, but rarely did it
make someone contribute. A few times I have seen people asking for
permission first instead of contributing. This comment will clarify the
fact that they can just do so.

### How?

Using `nissuer`'s
[comment-label](https://github.com/balazsorban44/nissuer#label-management).


Closes NEXT-2256

---------

Co-authored-by: Steven <steven@ceriously.com>
2024-01-30 23:46:04 +01:00
Mayank Kamboj a5d34d53f8 change those->some for clarity (#56688) 2023-10-12 16:14:08 +00:00
Balázs Orbán d5c35a1bbb chore: replace issue triaing actions with nissuer (#55525)
### What?

Moving maintenance to a separate repository.

### Why?

I want to make these actions reusable in other projects as they seem to work well in the Next.js repository.

### How?

The code is moved to https://github.com/balazsorban44/nissuer

I tested it on my fork, and all the following functionality is preserved: https://github.com/balazsorban44/next.js/issues/56

- [x] Close/lock/comment without a valid reproduction link
- [x] Minimize "+1"
- [x] Add labels based on user selection
- [x] Add comment based on the maintainer's label (eg.: "please add a complete reproduction")
2023-09-19 11:11:00 +00:00
Balázs Orbán 7fe1ea50c1 chore: update triaging docs (#54828)
### What?

Follow-up of #54724 and #54826 

### Why?

To correctly reflect how we triage issues

[Slack thread](https://vercel.slack.com/archives/C04DUD7EB1B/p1693321920087959)
2023-08-31 15:38:08 +00:00
Balázs Orbán 16a0e5af32 chore: improve repo templates (#46629)
## What?

- Rendering `next info` output as code in the bug template
- Removed the "Feature Request" issue template, in favor of a more
granular discussion template
- Added a minimal template for Help discussions

## Why?

The main part of this PR is the new Feature Request template.

Anyone can propose a change to Next.js. However adding new features
often requires community discussions - whether to align expectations,
understand the consequences (eg.: backward compatibility/lifetime of a
feature), to look at and understand historical reasons for the current
behavior or lack of the feature -, which [GitHub
discussions](https://github.com/vercel/next.js/discussions) is more
suited for than issues.

## How?

- Utilizing the new discussion templates
https://docs.github.com/en/discussions/managing-discussions-for-your-community/creating-discussion-category-forms
- Adding a link to the [new
issue](https://github.com/vercel/next.js/issues/new/choose) view to make
it easier to discover

[Slack
thread](https://vercel.slack.com/archives/C04DUD7EB1B/p1670874727319809)

Closes NEXT-742

---------
2023-03-01 09:25:51 -08:00
Balázs Orbán 3ff21ed178 refactor: split up CONTRIBUTING.md (#40515)
Continues #39778

Closes #40499

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the
feature request has been accepted for implementation before opening a
PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing
doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-09-16 14:54:58 -07:00