Sync third-party and MCP marketplace plugins
Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources. Confidence: high Scope-risk: narrow Directive: Keep private/internal skills out of the public marketplace and preserve normal incremental market Git history. Tested: Marketplace validation passed.
This commit is contained in:
@@ -279,6 +279,10 @@
|
||||
"pluginName": "shadcn",
|
||||
"category": "Developer Tools",
|
||||
"skillPath": "skills/shadcn",
|
||||
"sparseCheckout": [
|
||||
"skills/shadcn",
|
||||
"LICENSE.md"
|
||||
],
|
||||
"brandColor": "#09090B",
|
||||
"manifestOverrides": {
|
||||
"version": "0.1.0",
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
"name": "playwright浏览器自动化操作",
|
||||
"version": "20260605",
|
||||
"keySource": "none",
|
||||
"syncedAt": "2026-07-27T03:12:39Z"
|
||||
"syncedAt": "2026-07-27T03:14:35Z"
|
||||
}
|
||||
|
||||
@@ -627,14 +627,30 @@ function Get-Clone {
|
||||
$sparseCheckout = @($Source.sparseCheckout)
|
||||
}
|
||||
$cloneArgs += @($Source.repo, $clonePath)
|
||||
Invoke-CheckedGit $cloneArgs
|
||||
$maxAttempts = 3
|
||||
for ($attempt = 1; $attempt -le $maxAttempts; $attempt++) {
|
||||
Remove-PathIfExists -Path $clonePath -Within $CloneRoot
|
||||
$transportArgs = @()
|
||||
if ($attempt -gt 1) {
|
||||
$transportArgs = @("-c", "http.version=HTTP/1.1")
|
||||
}
|
||||
try {
|
||||
Invoke-CheckedGit -GitArgs ($transportArgs + $cloneArgs)
|
||||
if ($Source.ref) {
|
||||
Invoke-CheckedGit @("-C", $clonePath, "fetch", "--depth", "1", "origin", $Source.ref)
|
||||
Invoke-CheckedGit @("-C", $clonePath, "checkout", "FETCH_HEAD")
|
||||
Invoke-CheckedGit -GitArgs ($transportArgs + @("-C", $clonePath, "fetch", "--depth", "1", "origin", $Source.ref))
|
||||
Invoke-CheckedGit -GitArgs @("-C", $clonePath, "checkout", "FETCH_HEAD")
|
||||
}
|
||||
if ($sparseCheckout.Count -gt 0) {
|
||||
$sparseArgs = @("-C", $clonePath, "sparse-checkout", "set", "--no-cone") + $sparseCheckout
|
||||
Invoke-CheckedGit $sparseArgs
|
||||
Invoke-CheckedGit -GitArgs $sparseArgs
|
||||
}
|
||||
break
|
||||
} catch {
|
||||
if ($attempt -eq $maxAttempts) {
|
||||
throw "Third-party source $($Source.id) clone failed after $maxAttempts attempts: $($_.Exception.Message)"
|
||||
}
|
||||
Start-Sleep -Seconds ([Math]::Pow(2, $attempt - 1))
|
||||
}
|
||||
}
|
||||
$commit = (git -C $clonePath rev-parse HEAD).Trim()
|
||||
return [ordered]@{
|
||||
|
||||
Reference in New Issue
Block a user