feat: add gitea-deploy skill, tools, and sdlc foreground service rule

- skills/gitea-deploy/: new skill for Gitea deployment automation
- tools/: shared utility scripts
- skills/sdlc/SKILL.md: add Foreground Service Rule for long-running
  processes (background start + readiness polling pattern)
This commit is contained in:
Team
2026-04-25 14:11:58 +08:00
parent b6e3cef844
commit f20bc770f5
11 changed files with 455 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# gitea-deploy
Automate deploying a self-hosted Gitea Git server on a VPS and pushing the current project to it.
## Architecture
![Architecture](assets/gitea-deploy-architecture.svg)
## Workflow
![Workflow](assets/gitea-deploy-workflow.svg)
## When to Use
- You want to self-host a private Git server on your own VPS
- You need to push a project to a Gitea instance (new or existing)
- You want to migrate away from GitHub/GitLab to a self-hosted solution
Trigger phrases: "deploy gitea", "self-host git", "setup git server", "push to my vps", "搭建git服务器", "部署gitea"
## How It Works
1. Collects VPS connection info and credentials from the user
2. Validates local git repo and SSH connectivity
3. Installs Docker on the VPS if not present
4. Deploys Gitea via `docker compose up -d`
5. Polls until Gitea is healthy, then initializes via REST API
6. Creates the target repository and pushes all local branches
7. Reports the web URL and SSH clone URL
## Requirements
- SSH access to a Linux VPS
- Local project must be (or become) a git repository
- Gitea web port (default `3000`) and SSH port (default `2222`) must be open on the VPS firewall
## File Structure
```
skills/gitea-deploy/
├── SKILL.md
├── README.md
├── assets/
│ ├── architecture.puml
│ ├── gitea-deploy-architecture.svg
│ ├── workflow.puml
│ └── gitea-deploy-workflow.svg
└── evals/
└── evals.json
```
## Evals
```bash
python scripts/run_evals.py gitea-deploy
```