githubnext / githubnext/autoloop
Autoloop template should exclude language-specific dev files from protected-files by default
- 主要语言
- Python
- 星标
- 71
- 派生
- 6
- PR 合并指标
- 30 天内没有已合并 PR
描述
## Problem
The default `protected-files` list in the autoloop workflow template blocks common dev files that autoloop programs legitimately need to modify:
- **Go**: `go.mod`, `go.sum`
- **JS/TS**: `package.json`, `package-lock.json`, `bun.lockb`, `bunfig.toml`, `yarn.lock`, `pnpm-lock.yaml`, `tsconfig.json`
- **Python**: `requirements.txt`, `pyproject.toml`, `setup.py`, `setup.cfg`, `Pipfile`, `Pipfile.lock`
- **Ruby**: `Gemfile`, `Gemfile.lock`
When an autoloop iteration modifies any of these, the push silently falls back to creating an issue instead of a PR (`protected_files_policy: fallback-to-issue`). The iteration's code is effectively lost.
This has blocked autoloop on:
- `githubnext/apm` — Go migration, `go.mod`/`go.sum` blocked every iteration
- `githubnext/tsikit-learn` — TS project, `package.json`/`bunfig.toml` blocked
- `githubnext/tsessebe` — same pattern
## Fix
The autoloop workflow template (`workflows/autoloop.md`) should use the `exclude` form for `protected-files` to remove language-specific dev files from the default list:
```yaml
create-pull-request:
protected-files:
policy: fallback-to-issue
exclude:
- go.mod
- go.sum
- package.json
- package-lock.json
- bun.lockb
- bunfig.toml
- yarn.lock
- pnpm-lock.yaml
- tsconfig.json
- biome.json
- requirements.txt
- pyproject.toml
- setup.py
- setup.cfg
- Pipfile
- Pipfile.lock
- Gemfile
- Gemfile.lock
```
Same for `push-to-pull-request-branch`.
Files that should STAY protected: `CODEOWNERS`, `README.md`, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `DESIGN.md`, and `.github/` (via `protect_top_level_dot_folders`).
## Affected repos
- [x] `githubnext/tsikit-learn` — fixed in PR #13, #15
- [x] `githubnext/apm` — fixed in PR #37
- [x] `githubnext/tsessebe` — already had `max-patch-files` but should also get the exclude list
- [ ] `githubnext/autoloop` — template itself needs updating so new installs get this by default
贡献指南
这个仓库没有索引到贡献指南
调研方向
打开 workflows/autoloop.md,检查 create-pull-request 和 push-to-pull-request-branch 两者的受保护文件配置。将列出的特定语言开发文件添加到每个排除列表中,同时保留指定的文档、所有权和顶层点文件夹保护。模板在两个部分中都包含匹配的排除项即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- go, javascript, python, ruby, typescript
- 领域
- devops, tooling
- Issue 类型
- 缺陷
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 冷清
- 描述清晰度
- 描述清楚
- 新手友好度
- 72/100