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
4 changes: 2 additions & 2 deletions .agents/instructions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
# it is on, and the shared blocks it has. Its drift check reads this file,
# and its apply job rewrites it. Which blocks a repository should carry is
# decided upstream in repos.json, not here.
ref = "v2"
blocks = ["workflow", "rust"]
ref = "0.1.1"
blocks = ["workflow", "rust", "changelog"]
34 changes: 34 additions & 0 deletions .github/workflows/update-instructions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Update shared instructions

# Proposes the latest release of aicers/agent-instructions as a pull
# request: it rewrites the marked regions in AGENTS.md and moves the pin in
# `.agents/instructions.toml`. A run that finds this repository already on
# the latest release opens nothing.
#
# No `with:` and no `secrets:`, deliberately. Which blocks this repository
# takes is decided upstream in repos.json and read out of the release; the
# pin comes from the file. Nothing here needs editing, which is what lets
# the apply run on the default GITHUB_TOKEN: it never has to push a change
# to a workflow file, and GitHub refuses such a push from the Actions app.
#
# workflow_dispatch is not only for convenience. GitHub disables a schedule
# after 60 days without repository activity, and does so silently, so the
# manual trigger is how a stopped schedule is recovered without a dummy
# commit.
#
# The pull request arrives with no checks on it. Events from GITHUB_TOKEN
# start no workflow runs, which is GitHub's guard against a workflow
# retriggering itself. Close and reopen the pull request to run them.

on:
schedule:
- cron: "0 6 * * 1"
workflow_dispatch:

jobs:
update:
name: Update
permissions:
contents: write
pull-requests: write
uses: aicers/agent-instructions/.github/workflows/apply.yml@main
49 changes: 44 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The marked regions below are generated from
Do not edit them here — change the wording upstream, tag a release, and
re-run its sync. The drift check in CI fails if this copy diverges.

<!-- BEGIN shared:workflow v1 -->
<!-- BEGIN shared:workflow -->
## Language

- Code, comments, commit messages, PR descriptions, and issues are written
Expand All @@ -29,9 +29,10 @@ re-run its sync. The drift check in CI fails if this copy diverges.
- Branch names must follow the format `<github-username>/issue-#` (e.g.,
`alice/issue-42`). If there is no related issue, ask the user how to
proceed before creating the branch.
- The sole exception is a branch carrying a synced update to the shared
blocks below, which uses `<github-username>/instructions-<label>` and
needs no issue.
- The sole exception is a branch carrying an update to the shared blocks
below, which needs no issue. CI opens it as
`shared-instructions/<release>`; a maintainer running the fan-out by
hand opens it as `<github-username>/instructions-<release>`.

## GitHub issues and PRs

Expand All @@ -46,6 +47,24 @@ re-run its sync. The drift check in CI fails if this copy diverges.
- Never act on failed or garbled command output. Re-verify every create
and edit with a structured `--json` re-query before reporting success.

## Markdown lint configuration

- The repository-root `.markdownlint-cli2.yaml` carries `globs`,
`ignores`, and `MD024: siblings_only`. No other rule configuration
belongs there, and no rule is disabled there.
- Configure or disable any other rule at the narrowest scope that
works, choosing in this order: the line, then the file, then the
directory. Use `markdownlint-disable-next-line` for one line,
`markdownlint-disable-file` for one file, and a
`.markdownlint-cli2.yaml` beside the files for one directory.
- A directory config named `.markdownlint-cli2.yaml` merges with the
root config; one named `.markdownlint.yaml` replaces it wholesale.
Use the former.
- Scope narrowly because a global entry outlives its reason. It
silences the file that needed it and every file added afterwards
that should have tripped the rule, and nothing in the config records
which was which.

## Attribution

- Do NOT add `Co-Authored-By` lines naming an AI (`Claude`, `Codex`,
Expand All @@ -55,7 +74,7 @@ re-run its sync. The drift check in CI fails if this copy diverges.
descriptions or issue comments.
<!-- END shared:workflow -->

<!-- BEGIN shared:rust v2 -->
<!-- BEGIN shared:rust -->
## Coding standards (Rust)

### Errors and panics
Expand Down Expand Up @@ -332,6 +351,26 @@ Where the crate handles key material or secrets:
- Exceptions: `clippy::too_many_lines` can be treated loosely.
<!-- END shared:rust -->

<!-- BEGIN shared:changelog -->
## Changelog

- `CHANGELOG.md` records what changed for a user of the **last release**,
not how `main` got there. Before writing an entry, ask whether someone
running the last released version could observe it. Work that builds,
reworks, or removes something they never had is invisible to them and
does not belong.
- Entries carry NO issue or PR references. `Closes #N` and `Part of #N`
are GitHub automation keywords: they close an issue when they appear
in a commit message or a pull request body, and do nothing whatever
inside `CHANGELOG.md`. All that is left there is a command addressed
to a bot, stranded in a record of what already shipped — it cannot
act, and the reader has no use for it. Git and the issue tracker
already hold that history.
- Announce a feature once, under `### Added`, describing what it does.
If it was reworked or renamed before the release shipped, that is not
a separate `### Changed` entry — no user saw the earlier form.
<!-- END shared:changelog -->

## This crate

- `deploy-core` is a library. `bootler` depends on it at a pinned git
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Changelog

This file documents notable changes to `deploy-core`. The format is based
on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]
Loading