Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ concurrency:
cancel-in-progress: true

jobs:
# The published files (see AGENTS.md) come from the CLI's private source,
# copied by ci-bot's public-releases-sync as of each release: an edit made
# here would be silently overwritten by the next sync. Only that sync's own
# pull requests may change them.
# The published files (see AGENTS.md) come from the CLI's source, copied by
# mergify-ci-bot as of each release: an edit made here would be silently
# overwritten by the next sync. Only that sync's own pull requests may
# change them.
synced-files:
name: synced files only change through the sync
if: github.event.pull_request.user.login != 'mergify-ci-bot'
Expand All @@ -34,7 +34,7 @@ jobs:
run: |
set -euo pipefail
changed="$(git diff --name-only "${BASE_SHA}...HEAD" -- \
README.md install.sh skills .claude-plugin .codex-plugin assets)"
README.md install.sh skills .claude-plugin .codex-plugin assets LICENSE)"
if [ -n "${changed}" ]; then
for file in ${changed}; do
echo "::error file=${file}::${file} is published from the CLI's source and synced here at each release; edit it there (see AGENTS.md)"
Expand Down
20 changes: 9 additions & 11 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
# Agent Instructions

This repository is the public home of the `mergify` CLI. It doesn't hold the
CLI's source: the CLI is developed, built and released from Mergify's private
monorepo, and so are the files this repository publishes.
CLI's source: Mergify develops, builds and releases the CLI elsewhere, along
with the files this repository publishes.

## Published files: don't edit them here

These are copied from the CLI's source (`cli/` in the private monorepo) as of
the Latest release, by a pull request from `mergify-ci-bot` (branch
`public-files-sync`) that ci-bot's `public-releases-sync` opens whenever they
differ:
These are copied from the CLI's source as of the Latest release, by a pull
request from `mergify-ci-bot` (branch `public-files-sync`), opened whenever
they differ:

| Here | What it is |
|---|---|
| `README.md` | the CLI's user documentation (also its PyPI page) |
| `install.sh` | the installer, served from `main` to `curl … \| sh` |
| `skills/` | the agent skills (`npx skills add Mergifyio/mergify-cli`) |
| `.claude-plugin/`, `.codex-plugin/`, `assets/` | the plugin manifests and icon |
| `LICENSE` | the license covering the CLI and these files |

A change made to them here is overwritten by the next sync, so CI's
`synced-files` check fails any pull request that edits them, unless it comes
from `mergify-ci-bot`. Suggestions are welcome as issues, or as pull requests
that Mergify carries over to the CLI's source.
from `mergify-ci-bot`. Suggestions are welcome as issues.

## Owned here

- `.github/workflows/ci.yaml`, `.mergify.yml`, `renovate.json`,
this `AGENTS.md` and `LICENSE`.
- The releases, written by ci-bot's mirror, never by hand. A release carrying
- `.github/workflows/ci.yaml`, `.mergify.yml`, `renovate.json` and this `AGENTS.md`.
- The releases, published by `mergify-ci-bot`, never by hand. A release carrying
the CLI binaries is Latest, which install.sh, `mergify self-update`, the
Homebrew tap and the docs' CLI reference all follow.
- The issue tracker.
Expand Down