Require Git hygiene for all agents in this workspace.
Bind commit/push/PR safety, gitea_vps-only remote ops, and secret scans in AGENTS.md, with CLAUDE.md and Grok rules so every harness loads them.
This commit is contained in:
+52
-4
@@ -5,6 +5,7 @@
|
||||
1. Read [design/DESIGN_PLAN.md](design/DESIGN_PLAN.md).
|
||||
2. Read [design/use-cases.md](design/use-cases.md), [design/scenarios.md](design/scenarios.md), [design/DECISIONS.md](design/DECISIONS.md).
|
||||
3. Implementation requires an explicit **build** decision for greenfield features; structural and documentation work follows this CONTRIBUTING guide.
|
||||
4. Coding agents must also follow **[AGENTS.md](AGENTS.md)** — especially **Git hygiene (mandatory)**.
|
||||
|
||||
## Platform-first
|
||||
|
||||
@@ -13,15 +14,51 @@
|
||||
|
||||
## Git ops for this product
|
||||
|
||||
- Remote: Gitea **Ty_Tech/Salon_Assistant**.
|
||||
- Agent Git MCP for this product: **gitea_vps** only (`https://giteamcp1.vps1.afterthedemo.com/mcp`, User-Agent `grok-connectors-manager/`).
|
||||
| Item | Value |
|
||||
|------|--------|
|
||||
| Remote | Gitea **Ty_Tech/Salon_Assistant** |
|
||||
| Default branch | `main` |
|
||||
| Agent Git MCP | **`gitea_vps` only** (`https://giteamcp1.vps1.afterthedemo.com/mcp`, User-Agent `grok-connectors-manager/`) |
|
||||
| Forbidden MCP | `gitea_mcp_for_ty`, localhost Git MCP for this product |
|
||||
|
||||
Local `git` on a clone is fine for day-to-day status/diff/commit. Use **gitea_vps** for remote PR/branch operations against the product repo when working as an agent with MCP.
|
||||
|
||||
## Branching
|
||||
|
||||
- Branch from current `main`.
|
||||
- Prefer prefixes: `docs/`, `design/`, `chore/`, `fix/`, `feat/`.
|
||||
- Keep branches focused; one concern per branch when practical.
|
||||
- Do not force-push `main`. Do not rewrite published history without explicit coordination.
|
||||
|
||||
## Commits
|
||||
|
||||
- **No secrets** in trees or messages (see [SECURITY.md](SECURITY.md) and `.gitignore`).
|
||||
- Stage only files that belong to the change; review `git status` and the staged diff.
|
||||
- Prefer small, reviewable commits with imperative subject lines and a short *why* when needed.
|
||||
- Do not skip hooks (`--no-verify`) unless an operator explicitly requires it for a broken-hook emergency.
|
||||
- Agents: commit/push only when the user asks (see AGENTS.md checklists).
|
||||
|
||||
## Pull requests
|
||||
|
||||
- Branch from `main`.
|
||||
- Base: `main`.
|
||||
- Title reflects the change; body includes summary and how it was verified.
|
||||
- Keep use-case SSOT in `design/use-cases.md` (do not duplicate full matrices in README).
|
||||
- Run `make verify` when implementation exists (fixture CI).
|
||||
- No secrets in commits.
|
||||
- Agents open/update PRs via **gitea_vps**; merge only when the user asks.
|
||||
- No secrets, tokens, or production PII in PR text.
|
||||
|
||||
### Suggested PR body shape
|
||||
|
||||
```markdown
|
||||
## Summary
|
||||
- …
|
||||
|
||||
## Verification
|
||||
- [ ] … (e.g. docs-only review / make verify / doctor)
|
||||
|
||||
## Notes
|
||||
- Related design decisions / use cases if any
|
||||
```
|
||||
|
||||
## Code style
|
||||
|
||||
@@ -33,3 +70,14 @@
|
||||
- Tag releases (`vX.Y.Z`).
|
||||
- Pin images and MCP package versions in the release manifest.
|
||||
- `scripts/upgrade.sh` is the operator upgrade entrypoint (see docs/UPGRADE.md).
|
||||
- Changelog: [CHANGELOG.md](CHANGELOG.md) (Keep a Changelog).
|
||||
|
||||
## Hygiene anti-patterns
|
||||
|
||||
| Avoid | Prefer |
|
||||
|-------|--------|
|
||||
| Commit `.env`, keys, OAuth dumps | OpenShell providers / host env; examples only as `.env.example` |
|
||||
| `git add .` without review | Explicit paths after `git status` / diff |
|
||||
| Drive-by refactors in unrelated PRs | Separate branch/PR |
|
||||
| Force-push to shared `main` | Revert commit or forward fix |
|
||||
| Agent “cleanup” that deletes unknown user files | Investigate; ask before destructive clean |
|
||||
|
||||
Reference in New Issue
Block a user