/** * CLI / hub: install or update skills from git or archive (zip / tar.gz) into ~/.xopc/skills. */ import type { SkillHubKind } from './hub-lock.js'; export interface HubPullOptions { skillId?: string; ref?: string; subpath?: string; force?: boolean; /** Destination skills root. Defaults to the global managed skills directory. */ installRoot?: string; /** Hub lock path. Defaults to the global skills-lock.json. */ lockPath?: string; /** When true, critical scanner findings fail the install. */ strictScan?: boolean; } export interface HubPullResult { skillId: string; path: string; contentHash: string; kind: SkillHubKind; source: string; } interface GitHubSkillSource { owner: string; repo: string; cloneUrl: string; sourceLabel: string; ref?: string; subpath?: string; treePathParts?: string[]; } export declare function parseGitHubSkillSource(raw: string, options?: Pick): GitHubSkillSource | undefined; export declare function classifyHubSource(raw: string): 'git' | 'archive'; export declare function findSkillRoot(repoRoot: string, subpath?: string): string; /** * Install or replace a skill from a git URL, http(s) archive URL, file:// URL, or local archive path. */ export declare function pullSkillFromSource(source: string, options?: HubPullOptions): Promise; /** Re-install from the source recorded in ~/.xopc/skills-lock.json for this skill id. */ export declare function updateSkillFromLock(skillId: string, options?: Pick): Promise; export {};