Git-скрипты Agent перенесены в ~/.cursor/eventhub/.

This commit is contained in:
2026-07-07 21:22:20 +03:00
parent a2526ffb25
commit 153cc6d29c
3 changed files with 17 additions and 50 deletions
+17 -7
View File
@@ -72,17 +72,26 @@ rebar3 ct --suite=api_admins_SUITE
Коммиты из **Agent Shell / PowerShell** ломаются: Cursor подставляет `--trailer "Co-authored-by: Cursor <cursoragent@cursor.com>"`, а PowerShell падает на `<`. Коммиты из **Agent Shell / PowerShell** ломаются: Cursor подставляет `--trailer "Co-authored-by: Cursor <cursoragent@cursor.com>"`, а PowerShell падает на `<`.
**Решение:** Agent коммитит через WSL-скрипт (в команде нет строки `git commit`): **Решение:** Agent коммитит через WSL-скрипт в `~/.cursor/eventhub/` (в команде нет строки `git commit`):
```bash ```bash
bash scripts/git-commit.sh "сообщение. Refs EventHub/EventHubBack#N" path/to/file ... EH=/mnt/c/Users/alexc/IdeaProjects/eventHub
GIT=/mnt/c/Users/alexc/.cursor/eventhub
bash $GIT/git-commit.sh $EH/EventHubBack \
"сообщение. Refs EventHub/EventHubBack#N" \
path/to/file ...
``` ```
Скрипт лежит в `scripts/git-commit.sh` каждого репо. Ручной коммит — тот же вызов в WSL-терминале. Ручной коммит — тот же вызов в WSL-терминале.
### Push на remote ### Push на remote
**Agent делает `git push` только после явного подтверждения пользователя** («пуш», «отправь», «push»). **Agent делает `git push` только после явного подтверждения пользователя** («пуш», «отправь», «push»):
```bash
bash $GIT/git-push.sh $EH/EventHubBack
```
До подтверждения: коммиты остаются локально; в конце задачи Agent напоминает, что можно пушить. До подтверждения: коммиты остаются локально; в конце задачи Agent напоминает, что можно пушить.
@@ -132,7 +141,7 @@ Attribution в Cursor (Settings → Agent → Attribution) можно выклю
Gitea: https://git.sabilin.com/EventHub Gitea: https://git.sabilin.com/EventHub
Следуй WORKFLOW.md и skills eventhub-gitea / eventhub-workflow. Следуй WORKFLOW.md и skills eventhub-gitea / eventhub-workflow.
Окружение: WSL + asdf (OTP 28). Git: scripts/git-commit.sh, push — только после «пуш». Окружение: WSL + asdf (OTP 28). Git: ~/.cursor/eventhub/git-commit.sh, push — только после «пуш».
Перед CT: scripts/fix-rebar-unit-symlink.sh; logs/data: scripts/wsl-ext4-dirs.sh Перед CT: scripts/fix-rebar-unit-symlink.sh; logs/data: scripts/wsl-ext4-dirs.sh
Задача: EventHubBack#24 — <краткая цель> Задача: EventHubBack#24 — <краткая цель>
@@ -146,7 +155,7 @@ Issue: https://git.sabilin.com/EventHub/EventHubBack/issues/24
### Минимальный вариант (одной строкой) ### Минимальный вариант (одной строкой)
> Берём EventHubBack#24. WORKFLOW.md. WSL, git через scripts/. Варианты — потом утверждение. Пуш — только когда скажу. > Берём EventHubBack#24. WORKFLOW.md. WSL, git через ~/.cursor/eventhub/. Варианты — потом утверждение. Пуш — только когда скажу.
### Что не передавать ### Что не передавать
@@ -175,7 +184,7 @@ Issue: https://git.sabilin.com/EventHub/EventHubBack/issues/24
- Код фичи — в репозитории-владельце; `EventHubSpec` — для документации и процесса. - Код фичи — в репозитории-владельце; `EventHubSpec` — для документации и процесса.
- Метки во всех репозиториях держать одинаковыми (`sync-labels.ps1`). - Метки во всех репозиториях держать одинаковыми (`sync-labels.ps1`).
- Секреты и токены не коммитить; Gitea token — только в env / `~/.cursor/secrets/`. - Секреты и токены не коммитить; Gitea token — только в env / `~/.cursor/secrets/`.
- **Git commit — через WSL** (`scripts/git-commit.sh`); **push — только после подтверждения пользователя** (см. §2.1). - **Git commit/push — через WSL** (`~/.cursor/eventhub/git-commit.sh`, `git-push.sh`); **push — только после подтверждения пользователя** (см. §2.1).
- Новая задача — **отдельный чат** с брифом по §5. - Новая задача — **отдельный чат** с брифом по §5.
--- ---
@@ -184,6 +193,7 @@ Issue: https://git.sabilin.com/EventHub/EventHubBack/issues/24
| Дата | Изменение | | Дата | Изменение |
|------|-----------| |------|-----------|
| 2026-07-07 | Git-скрипты Agent перенесены в `~/.cursor/eventhub/` (не в репозиториях) |
| 2026-07-07 | §5: шаблон передачи контекста в новый чат | | 2026-07-07 | §5: шаблон передачи контекста в новый чат |
| 2026-07-07 | Push на remote — только после подтверждения пользователя | | 2026-07-07 | Push на remote — только после подтверждения пользователя |
| 2026-07-07 | §2.1: WSL, git-коммиты через `scripts/git-commit.sh` | | 2026-07-07 | §2.1: WSL, git-коммиты через `scripts/git-commit.sh` |
-18
View File
@@ -1,18 +0,0 @@
#!/usr/bin/env bash
# Обход: Agent Shell ломает "git commit" в PowerShell (trailer с <).
# Вызов: bash scripts/git-commit.sh "message" [paths...]
set -euo pipefail
if [ $# -lt 2 ]; then
echo "Usage: git-commit.sh \"message\" <paths...>" >&2
exit 1
fi
MSG=$1
shift
REPO_ROOT=$(cd "$(dirname "$0")/.." && pwd)
cd "$REPO_ROOT"
git add "$@"
/usr/bin/git commit -m "$MSG"
git log -1 --oneline
-25
View File
@@ -1,25 +0,0 @@
#!/usr/bin/env bash
# Push master to origin using Gitea token from secrets (no token in shell command line).
set -euo pipefail
SECRETS="/mnt/c/Users/alexc/.cursor/secrets/eventhub-gitea.env"
if [ ! -f "$SECRETS" ]; then
echo "Missing $SECRETS — run eventhub-gitea setup-env.ps1" >&2
exit 1
fi
set -a
# shellcheck disable=SC1090
source <(sed $'s/\xEF\xBB\xBF//' "$SECRETS" | tr -d '\r')
set +a
: "${GITEA_TOKEN:?GITEA_TOKEN not set}"
: "${GITEA_USER:=cursor-ai}"
REPO_ROOT=$(cd "$(dirname "$0")/.." && pwd)
REMOTE_NAME=$(basename "$REPO_ROOT")
PUSH_URL="https://${GITEA_USER}:${GITEA_TOKEN}@git.sabilin.com/EventHub/${REMOTE_NAME}.git"
cd "$REPO_ROOT"
git push "$PUSH_URL" master
echo "Pushed EventHub/${REMOTE_NAME} master"