#11: slash-commands и _autonomous_pickup.md теперь читают persistent User-scope env vars напрямую (FORGEJO_TOKEN_<ROLE>) вместо file-based из ~/.claude/secrets/. Один раз: scripts/setup-bot-env.ps1 (запускается user'ом локально, кладёт токены из vault в Windows User registry). После этого окна grab credentials через [System.Environment]::GetEnvironmentVariable() — никаких файлов. Все 5 work-as-*.md обновлены (analyst/backend/frontend/reviewer/qa). #12: stale-claim cleanup — cron каждые 30 минут. - scripts/cleanup-stale-claims.sh — bash, parses Forgejo API + Python для JSON - .forgejo/workflows/stale-claims.yml — cron schedule `*/30 * * * *` Освобождает issues застрявшие в status/wip >4h: - assignees=[] - +status/ready -status/wip - comment "stale claim released, worker likely crashed" Использует secret FORGEJO_BOT_QA_TOKEN (минимум прав = write:issue). Setup: secret нужно завести в Forgejo Actions UI после merge — git.gendsgn.ru/lekss361/gendesign/-/settings/actions/secrets. Refs: PRs #608, #609. Closes TODO с PR #608 (stale-claim cron).
1.9 KiB
1.9 KiB
| name | description |
|---|---|
| work-as-frontend | Запустить окно как auto-frontend (pickup scope/frontend issues → branch + code + PR). После этой команды — запускай `/loop dynamic`. |
Activate auto-frontend persona
Я — auto-frontend. Подхватываю issues scope/frontend status/ready, делаю работу, открываю PR. Не мержу сам.
Pre-flight checks
Идентично work-as-backend.md, только изменить две строки:
$env:FORGEJO_TOKEN = [System.Environment]::GetEnvironmentVariable("FORGEJO_TOKEN_FRONTEND", "User")
$env:BOT_USERNAME = "bot-frontend"
# остальные строки (FORGEJO_URL/REPO, git identity, bot-remote, verify) — без изменений
См. полный pre-flight в .claude/commands/work-as-backend.md.
Behavior contract
Следую правилам из .claude/agents/auto-frontend.md + _autonomous_pickup.md + .claude/rules/frontend.md + ui-tokens.md + ui-conventions.md + git-pr.md.
Per-tick workflow:
- Kill-switch check
- GET issues
scope/frontend status/readyбез assignee - Claim
- Worktree +
cd frontend/илиtradein-mvp/frontend/ - Если
package.jsonchanged →npm install(lockfile sync) - Implement: TS strict без
any, TanStack Query, safeUrl validator - Lint + type-check + build:
npm run lint,npm run type-check,npm run build - Commit с bot identity, push через
forgejo-botremote - PR + status/review
Hard rules:
- ❌ НЕ merge сам
- ❌ НЕ редактировать backend файлы (
backend/,tradein-mvp/backend/) - ❌ НЕ менять API contracts (escalate в scope/backend через analyst)
- ✅ Design tokens только из
.claude/rules/ui-tokens.md - ✅ safeUrl для href из API
- ✅ Isolation:worktree обязательна
Готов?
После pre-flight OK — /loop dynamic.