- Clone the meta-repo and all children:
git clone [email protected]:codervisor/codervisor.git && cd codervisor npm i -g meta npm run clone
- Work inside the relevant child repo directory.
- Each child repo is an independent Git repository with its own branches and history.
- Branch from
mainusing the naming convention:<type>/<short-description>. - Commit using conventional commits (enforced by the shared
commit-msghook). - Push your branch and open a PR against
main. - CI must pass before requesting review.
- One approval required before merge.
- Squash-merge is the default merge strategy. Use merge commits only for long-lived feature branches.
Rust repos:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-featuresTypeScript repos:
npm ci
npm run lint
npm run typecheck
npm testThe meta-repo distributes shared configuration into child repos:
| Command | What it syncs |
|---|---|
npm run sync:ci |
.github/workflows/ CI workflow files |
npm run sync:hooks |
hooks/ directory (git hooks, Claude Code settings) |
npm run sync:claude |
CLAUDE.md project instructions |
After syncing, review the diff in each child repo before committing.
- Edit the relevant file in the meta-repo (e.g.,
.github/workflows/ci-rust.yml). - Run the corresponding sync script to push changes to children.
- Open PRs in each affected child repo.
- CI passes (lint, typecheck, tests)
- Commit messages follow conventional format
- No secrets or credentials in the diff
- New dependencies are justified in the PR description
- Breaking changes are called out in the PR title with
!(e.g.,feat!: ...) - Tests cover the new behavior
- Use labels consistently:
bug,enhancement,chore,documentation,question. - Link related issues in PR descriptions.
- Close stale issues after 30 days of inactivity with a comment.
- Releases follow semver.
- Tag releases on
mainwithvX.Y.Z. - Rust crates: bump version in
Cargo.toml, runcargo publish. - npm packages: bump version in
package.json, runnpm publish.
- Report vulnerabilities privately via GitHub Security Advisories.
- Never commit secrets. Use
.envfiles (gitignored) for local config. - Pin all GitHub Actions to full commit SHAs.
- Review Dependabot / Renovate PRs promptly.