Adoption control plane for GitHub repos.
Forking is one click. Adoption is everything else. forkctl assesses readiness, picks fork vs template, executes the copy as a tracked async operation, leaves the result runnable, and keeps it synced.
Assess
npx @mcptoolshop/forkctl assess octocat/hello-world
Choose path
npx @mcptoolshop/forkctl choose-path octocat/hello-world --goal contribute_upstream
Sync a fork
npx @mcptoolshop/forkctl sync myhandle/my-fork
Fleet health
npx @mcptoolshop/forkctl fleet-health
Seven layers, one product
Forkctl is not a fork wrapper. It is end-to-end adoption infrastructure.
Assessment
Score a repo's adoption-readiness across legal, setup, contribution, hygiene, template, and sync. Get blockers with fixes.
Execution
Async-aware fork or template generation with a real operation state machine. Surfaces enterprise/org policy blockers before the call.
Bootstrap
Five profiles (contributor, starter-kit, internal-seed, client-delivery, experiment). Idempotent — never overwrites existing files.
Sync
Real GitHub merge-upstream API. Cross-repo divergence diagnosis. Diverged forks route to a PR — never force-pushes.
Fleet
List, health-check, and batch-sync your forks. Conflicts surface as conflicts, not errors. Rate-limit-friendly.
Receipts
Append-only SQLite audit log. Every operation has a machine-readable receipt. Tokens are redacted at write time.
Rename · new in v1.1.0
AST-aware polyglot rename. Identity files, code symbols (tree-sitter, 26 languages), textual surfaces, lockfile regen. Reviewable diff, snapshotted apply, one-command rollback.
Quick start
Audit a repo
npx @mcptoolshop/forkctl assess octocat/hello-world Pick the right path
npx @mcptoolshop/forkctl choose-path octocat/hello-world \
--goal contribute_upstream Fork it (async, tracked)
npx @mcptoolshop/forkctl create-fork octocat/hello-world \
--destination-org my-org Sync your fork
npx @mcptoolshop/forkctl sync myhandle/my-fork Bootstrap with a profile
npx @mcptoolshop/forkctl bootstrap myhandle/my-fork \
--source octocat/hello-world \
--profile contributor Use as an MCP server
{
"mcpServers": {
"forkctl": {
"command": "npx",
"args": ["-y", "@mcptoolshop/forkctl", "mcp"],
"env": { "GITHUB_TOKEN": "ghp_..." }
}
}
} The twenty-two tools
Every tool is schema-validated, audit-logged, and exposed through both MCP and CLI.
Assessment · 3
forkctl_assess · forkctl_choose_path · forkctl_make_forkable
Execution · 4
forkctl_preflight_policy · forkctl_create_fork · forkctl_create_from_template · forkctl_check_operation
Bootstrap · 4
forkctl_bootstrap · forkctl_configure_upstream · forkctl_scan_drift · forkctl_emit_handoff
Sync · 3
forkctl_sync · forkctl_diagnose_divergence · forkctl_propose_sync_pr
Fleet · 3
forkctl_list_forks · forkctl_fleet_health · forkctl_batch_sync
Receipts · 2
forkctl_receipt · forkctl_audit_log
Rename · 3 · new
forkctl_rename_plan · forkctl_rename_apply · forkctl_rename_rollback