Files
wehub-resource-sync 6c9c7fe7f3
CI / integration tests (3.13) (push) Failing after 1s
Commit lint / pull request title (push) Has been skipped
Docs / links (push) Failing after 1s
CI / unit tests (3.13) (push) Failing after 1s
CI / lint (push) Failing after 1s
CI / integration tests (push) Failing after 1s
CI / package build (push) Failing after 1s
Commit lint / commit messages (push) Failing after 1s
CI / unit tests (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 12:24:24 +08:00

157 lines
5.1 KiB
Markdown

# GitHub Sync Guard
This page records the rules for refreshing the public GitHub repository
(EverMind-AI/EverOS) from the internal GitLab source.
## Core Principle
GitLab `dev` is the source of truth. GitHub `main` is the public release
mirror. The two repos have **no shared commit history** — GitHub receives
packaged exports, not git pushes.
---
## 1. Must Delete on GitHub
These files exist on GitHub but are obsolete — delete them during sync:
| File | Reason |
|---|---|
| `docs/locomo_benchmark.md` | Replaced by `benchmarks/README.md` |
| `tests/run_locomo_10x3.sh` | Replaced by `benchmarks/run.py` |
| `tests/run_locomo_batch.sh` | Replaced by `benchmarks/run.py` |
| `tests/run_locomo_full.sh` | Replaced by `benchmarks/run.py` |
| `tests/test_locomo.py` | Replaced by `benchmarks/run.py` |
| `src/everos/memory/strategies/_partition_locks.py` | Wrong path; correct location is `src/everos/memory/_partition_locks.py` |
## 2. Must Preserve on GitHub (Do NOT Overwrite)
These files have GitHub-specific content (branch model, PR workflow,
community-facing text). Keep the GitHub versions:
### Workflow & CI
- `CLAUDE.md` — says `main` branch, not `dev`/`master`
- `CONTRIBUTING.md` — says "curated PR contributions", not "no external PRs"
- `.github/PULL_REQUEST_TEMPLATE.md` — GitHub PR template
- `.github/BRANCH_PROTECTION.md` — GitHub branch protection rules
- `.github/workflows/ci.yml` — targets `main`, uses `actions/checkout@v6`
- `.github/workflows/docs.yml` — GitHub-only doc checks
- `.github/workflows/commits.yml` — GitHub-only commit lint
- `.github/ISSUE_TEMPLATE/**``.yml` format (GitLab uses `.md`)
- `.github/dependabot.yml` — GitHub-only dependency scanning
### Claude Code rules & skills
- `.claude/rules/*.md` — GitHub versions are simplified for contributors
- `.claude/skills/commit/SKILL.md` — Conventional Commits (vs Gitmoji)
- `.claude/skills/new-branch/SKILL.md` — branches from `main` (vs `dev`)
- `.claude/skills/pr/SKILL.md` — GitHub PR (vs GitLab MR)
- `.claude/settings.json` — GitHub permission set (includes `gh pr`)
### GitHub-only scripts & tests
- `scripts/check_commit_messages.py`
- `scripts/check_deprecated_names.py`
- `scripts/check_docs.py`
- `scripts/check_github_contributor_docs.py`
- `scripts/check_pr_title.py`
- `scripts/check_repo_assets.py`
- `tests/unit/test_scripts/test_check_*.py`
### Root docs (GitHub version has different content)
- `README.md` — GitHub version has banner, badges, use-case gallery
- `Makefile` — GitHub version has extra targets (docs-check, package, etc.)
## 3. Overwrite from GitLab
Everything not in sections 1 or 2 should be overwritten from GitLab,
including but not limited to:
- All `src/everos/**` source code
- All `tests/unit/**` and `tests/integration/**` and `tests/e2e/**`
- `pyproject.toml`, `uv.lock`
- `QUICKSTART.md`, `SECURITY.md`
- `CHANGELOG.md`, `CITATION.md`, `ACKNOWLEDGMENTS.md`
- `docs/*.md` (except those listed in Must Delete)
- `docs/openapi.json`
- `benchmarks/**`
- `.gitignore`
- `.gitlab-ci.yml` (harmless on GitHub, good to keep in sync)
## 4. Do NOT Sync to GitHub
These files are GitLab-internal and should not appear on GitHub:
| File | Reason |
|---|---|
| `.gitlab/merge_request_templates/` | GitLab-only |
| `.vscode/` | IDE preference |
| `.claude/skills/release/SKILL.md` | Internal release workflow |
| `local/` | Temporary design docs |
| `evaluation/` | Empty module |
## 5. Do NOT Sync to GitLab
These files are GitHub-only and should stay only on GitHub:
| Category | Files |
|---|---|
| use-cases/ | 90 files (claude-code-plugin, game-of-throne-demo, openher) |
| GitHub CI scripts | `scripts/check_*.py` + tests |
| GitHub CI workflows | `commits.yml`, `docs.yml` |
| Config | `.gitlint`, `.env.example` (root level) |
| Docs | `docs/use-cases.md` |
## Safe Sync Pattern
```bash
# 1. Clone both repos
git clone <gitlab> gitlab-export
git clone <github> github-checkout
# 2. Sync with excludes
rsync -a --delete \
--exclude '.git' \
--exclude 'CLAUDE.md' \
--exclude 'CONTRIBUTING.md' \
--exclude 'README.md' \
--exclude 'Makefile' \
--exclude '.github/' \
--exclude '.claude/rules/' \
--exclude '.claude/skills/' \
--exclude '.claude/settings.json' \
--exclude 'scripts/check_*.py' \
--exclude 'tests/unit/test_scripts/' \
--exclude 'use-cases/' \
--exclude 'local/' \
--exclude 'evaluation/' \
--exclude '.vscode/' \
--exclude '.gitlab/' \
--exclude '.gitlab-ci.yml' \
gitlab-export/ github-checkout/
# 3. Delete obsolete files
cd github-checkout
rm -f docs/locomo_benchmark.md
rm -f tests/run_locomo_10x3.sh tests/run_locomo_batch.sh tests/run_locomo_full.sh
rm -f tests/test_locomo.py
rm -f src/everos/memory/strategies/_partition_locks.py
# 4. Verify
make lint
make test
```
## Review Checklist
Before opening the sync PR on GitHub:
- [ ] `CLAUDE.md` says branches are created from `main`
- [ ] `.claude/skills/pr/SKILL.md` creates PRs with `--base main`
- [ ] `CONTRIBUTING.md` says "GitHub pull request", not internal terminology
- [ ] Obsolete files from section 1 are deleted
- [ ] `make lint` and `make test` pass
- [ ] No `.gitlab-ci.yml`, `.vscode/`, `local/`, `evaluation/` leaked in