From 38cfc04c97e3dce984b7441d27020a511bd6af91 Mon Sep 17 00:00:00 2001 From: fullsend-code <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Fri, 12 Jun 2026 12:06:36 +0000 Subject: [PATCH] docs(#2215): extend forge abstraction scope to action.yml The forge abstraction rule in CLAUDE.md and AGENTS.md was written with Go-specific examples (exec.Command, net/http) and did not explicitly cover action.yml bash scripts. This led the code agent in PR #2150 to correctly use forge.Client in Go but also add parallel inline gh api calls in action.yml, requiring substantial rework. Both files now state that new GitHub API operations in action.yml steps should be implemented as fullsend CLI subcommands (under internal/cli/) that use forge.Client, not as inline gh api calls. Existing gh api calls are grandfathered but should be migrated when touched. Note: make lint could not run in sandbox due to shellcheck installation failure (network restriction). This is a docs-only change with no code to test. Closes #2215 --- AGENTS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 5620b735f..c16aba0d0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -62,6 +62,8 @@ All git forge operations (GitHub API calls, PR comments, issue creation, workflo **When reviewing PRs:** Flag any direct `exec.Command("gh", ...)`, raw GitHub API calls, or other forge-specific operations outside `internal/forge/github/` as a medium-severity or higher finding. This is an architectural violation, not a style preference. +**Action workflows (`action.yml`):** The forge abstraction extends to `action.yml` bash scripts. New GitHub API operations in action steps should be implemented as `fullsend` CLI subcommands (under `internal/cli/`) that use `forge.Client`, not as inline `gh api` calls. Existing `gh api` calls in `action.yml` that predate this rule are grandfathered but should be migrated when touched. + ## Architecture Decision Records (ADRs) These rules apply whenever you touch `docs/ADRs/` or review a PR that does. Full authoring guidance is in [`skills/writing-adrs/SKILL.md`](skills/writing-adrs/SKILL.md); invoke that skill when writing a new ADR.