This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git
The following commit(s) were added to refs/heads/main by this push:
new b3465fd groovy spike amendments (#145)
b3465fd is described below
commit b3465fdea4ecf639ef4ad1b7bafcb572b14d5b1f
Author: Paul King <[email protected]>
AuthorDate: Thu May 14 05:10:04 2026 +1000
groovy spike amendments (#145)
---
.claude/skills/setup-steward/conventions.md | 23 +++++++++++++++++++++++
AGENTS.md | 4 ++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/.claude/skills/setup-steward/conventions.md
b/.claude/skills/setup-steward/conventions.md
index bbec436..29775f4 100644
--- a/.claude/skills/setup-steward/conventions.md
+++ b/.claude/skills/setup-steward/conventions.md
@@ -29,6 +29,29 @@ For framework symlinks: create them at
`<repo-root>/.claude/skills/<n>` → relative path into
`.apache-steward/.claude/skills/<n>/`.
+**Caveat — `.claude/` already gitignored.** Some adopters (notably
+those that previously used Claude Code with per-user `.claude/`
+settings) have `.claude/` listed in their repo's `.gitignore`.
+This prevents `.claude/skills/setup-steward/` from being committed
+per [`SKILL.md` Golden rule 6](SKILL.md#golden-rules) (which expects
+`setup-steward` itself to be the only committed framework skill).
+
+Three resolution paths:
+
+- **Override the gitignore** — add `!/.claude/skills/setup-steward/`
+ after the broader `.claude/` line. Keeps the rest of `.claude/`
+ gitignored; commits only the framework's bootstrap skill.
+- **Switch to Pattern B** — move skills to `.github/skills/` and use
+ the double-symlinked layout. Sidesteps the `.claude/` gitignore
+ entirely. See *B. Double-symlinked* below.
+- **Defer commit** — treat the whole adoption as a no-commit local
+ experiment until the gitignore is revised. Useful for spike-style
+ evaluation.
+
+The adopt flow surfaces the conflict when it detects `.claude/` is
+gitignored AND Pattern A was selected; the user picks one of the
+three above.
+
### B. Double-symlinked — `.claude/skills/` mirrors `.github/skills/`
```text
diff --git a/AGENTS.md b/AGENTS.md
index 841e672..d7c7721 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -323,9 +323,9 @@ the active configuration before executing any command:
| Placeholder | Resolves to | Source |
|---|---|---|
-| `<project-config>` | The adopting project's `.apache-steward/` directory in
its tracker repo. | Filesystem convention. |
+| `<project-config>` | The adopting project's config directory in its tracker
repo (path is adopter's choice; alongside the gitignored `.apache-steward/`
snapshot, not inside it). Bootstrapped from `projects/_template/`. | Filesystem
convention. |
| `<framework>` | The framework's root — i.e. this repository. In adopting
projects, `.apache-steward/` (the gitignored snapshot path managed by
`setup-steward`); in framework standalone, `.` (the repository root). Used in
`uv run` and other invocations that need to address the framework's
`tools/<name>/` subtrees from a path the agent can resolve at the agent's
current `cwd`. | Filesystem convention. |
-| `<tracker>` | The GitHub slug of the tracker repo (example:
`airflow-s/airflow-s` for the Apache Airflow security team). |
`<project-config>/project.md` → `tracker_repo` |
+| `<tracker>` | The GitHub slug of the (security) tracker repo (example:
`airflow-s/airflow-s` for the Apache Airflow security team). |
`<project-config>/project.md` → `tracker_repo` |
| `<upstream>` | The GitHub slug of the upstream codebase the fixes land in
(example: `apache/airflow`). | `<project-config>/project.md` → `upstream_repo` |
| `<security-list>` | The project's security mailing list (example:
`[email protected]`). | `<project-config>/project.md` →
`mailing_lists.security` |
| `<N>` | An issue or PR number. | The user's input to the skill |