feat(tools/perforce): Perforce / Helix Core (centralized VCS) support
- Dominant language
- Python
- Stars
- 92
- Forks
- 92
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 104
Description
Add `tools/perforce/` for **Perforce / Helix Core** (`p4`), the dominant **centralized** VCS in games, film/VFX, semiconductor, and large-binary monorepo shops. Unlike every other bridge so far, Perforce is server-centric: changelists instead of local commits, explicit `p4 edit` checkout-before-write, and depot paths instead of branches. The dev-loop skills' distributed-Git assumptions don't map cleanly, so this bridge mostly defines how the fix-workflow behaves in a centralized model.
**Capabilities to provide:**
- Changelist workflow: `p4 edit` / `p4 diff` / `p4 submit` / `p4 describe`, shelving for review hand-off
- History read: `p4 changes`, `p4 annotate`, file-at-revision
- Swarm integration (optional): Helix Swarm reviews as the PR/MR analogue for `pr-management-*`
- Reuse the VCS-capability shim; document the distributed-vs-centralized divergences explicitly
**Why:** Perforce is the standard in domains GitHub never displaced — AAA game studios, Hollywood pipelines, chip design (EDA), and any org versioning huge binary assets. These are real enterprise adopter candidates that a Git-only framework simply cannot serve. Capturing the centralized model now also keeps the VCS abstraction honest (it can't quietly assume distributed semantics).
**Reference:**
- Helix Core / p4: https://www.perforce.com/products/helix-core
- Helix Swarm (code review): https://www.perforce.com/products/helix-swarm
- Depends on the VCS abstraction from the Mercurial bridge issue
Contributor guide
Research direction
Start with the VCS-capability shim and the VCS abstraction from the Mercurial bridge issue, then review the requested tools/perforce/ entry point. Map the changelist, history, shelving, and optional Helix Swarm workflows, including their differences from distributed Git. Done means the Perforce bridge documents and supports the listed capabilities without assuming local commits or branches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100