agent-skill-manager 1.16.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.backup.md +1 -1
- package/README.md +41 -19
- package/data/skill-index/Affitor_affiliate-skills.json +1 -1
- package/data/skill-index/Eronred_aso-skills.json +1 -1
- package/data/skill-index/GPTomics_bioSkills.json +26 -2
- package/data/skill-index/Galaxy-Dawn_claude-scholar.json +1 -1
- package/data/skill-index/Imbad0202_academic-research-skills.json +57 -0
- package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +165 -9
- package/data/skill-index/Leonxlnx_taste-skill.json +1 -1
- package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +1 -1
- package/data/skill-index/MiniMax-AI_skills.json +50 -2
- package/data/skill-index/affaan-m_everything-claude-code.json +1 -1
- package/data/skill-index/alirezarezvani_claude-skills.json +5421 -0
- package/data/skill-index/anthropics_skills.json +1 -1
- package/data/skill-index/bytedance_deer-flow.json +2 -2
- package/data/skill-index/coreyhaines31_marketingskills.json +1 -1
- package/data/skill-index/github_awesome-copilot.json +99 -3
- package/data/skill-index/himself65_finance-skills.json +3 -3
- package/data/skill-index/kemiljk_fluid-design.json +1 -1
- package/data/skill-index/kepano_obsidian-skills.json +1 -1
- package/data/skill-index/luongnv89_skills.json +37 -37
- package/data/skill-index/mattpocock_skills.json +14 -2
- package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +1 -1
- package/data/skill-index/obra_superpowers.json +1 -1
- package/data/skill-index/sickn33_antigravity-awesome-skills.json +223 -7
- package/data/skill-index/slavingia_skills.json +14 -2
- package/data/skill-index-resources.json +19 -1
- package/dist/agent-skill-manager.js +298 -254
- package/dist/{chunk-6n912478.js → chunk-33wmae4f.js} +1 -1
- package/dist/{chunk-6cfm11vm.js → chunk-d3ed4n6q.js} +3 -3
- package/dist/chunk-q3gm2x0a.js +3 -0
- package/dist/chunk-v3wdjh4r.js +3 -0
- package/package.json +1 -1
- package/dist/chunk-t6myftbf.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{N as V,T as K}from"./chunk-v3wdjh4r.js";import{readdir as a,stat as J$,lstat as B$,readlink as G$,readFile as U$,realpath as Q$}from"fs/promises";import{join as n,resolve as N$}from"path";function d($){let L={},j=$.split(`
|
|
2
2
|
`),S=!1,A=!1,z=null,G=[],J="none",X=-1,Y=null;function B(){if(z){let U=G.join(" ").trim();if(U)L[z]=U;z=null,G=[],J="none",X=-1}}for(let U of j){if(U.trim()==="---")if(!A){A=!0,S=!0;continue}else{B();break}if(!S)continue;if(J!=="none"&&z){let Q=U.replace(/^\s*/,""),O=U.length-Q.length;if(O>0&&Q.length>0){if(X===-1)X=O;G.push(Q);continue}else if(Q.length===0)continue;else B()}if(Y!==null){let Q=U.match(/^\s+(\w[\w-]*):\s*(.*?)\s*$/);if(Q){let O=Q[1],F=Q[2].replace(/^["']|["']$/g,"");if(F)L[`${Y}.${O}`]=F;continue}if(U.trim().length>0)Y=null;else continue}let H=U.match(/^(\w[\w-]*):\s*(.*?)\s*$/);if(H){B();let Q=H[1],O=H[2];if(O==="|"||O===">")z=Q,G=[],J=O==="|"?"literal":"folded";else if(O==="|+"||O===">+"||O==="|-"||O===">-")z=Q,G=[],J=O.startsWith("|")?"literal":"folded";else{let D=O.replace(/^["']|["']$/g,"");if(D)L[Q]=D;else Y=Q}}}return B(),L}function t($){return $["metadata.version"]||$.version||"0.0.0"}function o($){let L=$["allowed-tools"]||"";if(!L.trim())return[];return L.split(/[\s,]+/).map((j)=>j.trim()).filter(Boolean)}function I$($,L){let j=[];for(let S of $.providers){if(!S.enabled){V(`scan: skipping disabled provider "${S.name}"`);continue}if(L==="global"||L==="both"){let A=K(S.global);V(`scan: adding location ${A} (${S.label}, global)`),j.push({dir:A,location:`global-${S.name}`,scope:"global",providerName:S.name,providerLabel:S.label})}if(L==="project"||L==="both"){let A=K(S.project);V(`scan: adding location ${A} (${S.label}, project)`),j.push({dir:A,location:`project-${S.name}`,scope:"project",providerName:S.name,providerLabel:S.label})}}for(let S of $.customPaths)if(L===S.scope||L==="both"){let A=K(S.path);V(`scan: adding custom location ${A} (${S.label}, ${S.scope})`),j.push({dir:A,location:`${S.scope}-custom`,scope:S.scope,providerName:"custom",providerLabel:S.label})}return j}async function g($){try{return(await a($,{recursive:!0})).length}catch{return 0}}async function D$($){let L=[];V(`scanning: ${$.dir} (${$.location})`);let j;try{j=await a($.dir)}catch{return V(`scanning: ${$.dir} — not found, skipping`),L}for(let S of j){let A=n($.dir,S);try{if(!(await J$(A)).isDirectory()){V(` skip: "${S}" — not a directory`);continue}}catch{V(` skip: "${S}" — stat failed`);continue}let z=n(A,"SKILL.md"),G;try{G=await U$(z,"utf-8")}catch{V(` skip: "${S}" — no SKILL.md`);continue}let J=d(G),X=!1,Y=null;try{if((await B$(A)).isSymbolicLink())X=!0,Y=await G$(A)}catch{}let B=N$(A),U;try{U=await Q$(A)}catch{U=B}L.push({name:J.name||S,version:t(J),description:(J.description||"").replace(/\s*\n\s*/g," ").trim(),creator:J["metadata.creator"]||"",license:(J.license||"").trim(),compatibility:(J.compatibility||"").trim(),allowedTools:o(J),effort:J.effort||J["metadata.effort"]||void 0,dirName:S,path:B,originalPath:A,location:$.location,scope:$.scope,provider:$.providerName,providerLabel:$.providerLabel,isSymlink:X,symlinkTarget:Y,realPath:U})}return V(`found ${L.length} skill(s) in ${$.dir}`),L}async function n$($,L){let j=I$($,L);return(await Promise.all(j.map(D$))).flat()}function a$($,L){if(!L.trim())return $;let j=L.toLowerCase();return $.filter((S)=>S.name.toLowerCase().includes(j)||S.description.toLowerCase().includes(j)||S.creator.toLowerCase().includes(j)||S.effort&&S.effort.toLowerCase().includes(j)||S.location.toLowerCase().includes(j)||S.providerLabel.toLowerCase().includes(j))}function H$($,L){let j=$.split("."),S=L.split("."),A=Math.max(j.length,S.length);for(let z=0;z<A;z++){let G=parseInt(j[z]??"0",10),J=parseInt(S[z]??"0",10);if(isNaN(G)||isNaN(J))return $.localeCompare(L);if(G!==J)return G-J}return 0}function r$($,L){let j=[...$];switch(L){case"name":j.sort((S,A)=>S.name.localeCompare(A.name));break;case"version":j.sort((S,A)=>H$(S.version,A.version));break;case"location":j.sort((S,A)=>S.location.localeCompare(A.location));break}return j}import{rm as m,readFile as i,writeFile as F$,access as T$,lstat as O$,symlink as V$}from"fs/promises";import{join as r,resolve as _,dirname as l,relative as K$}from"path";import{homedir as _$}from"os";var q$=_$();function M$($,L){let j={directories:[],ruleFiles:[],agentsBlocks:[]};j.directories.push({path:$.originalPath,isSymlink:$.isSymlink});let S=$.dirName;if($.scope==="project")j.ruleFiles.push(_(".cursor","rules",`${S}.mdc`),_(".windsurf","rules",`${S}.md`),_(".github","instructions",`${S}.instructions.md`)),j.agentsBlocks.push({file:_("AGENTS.md"),skillName:S});if($.scope==="global"){for(let G of L.providers){if(!G.enabled)continue;let J=K(G.global),X=r(l(J),"AGENTS.md");j.agentsBlocks.push({file:X,skillName:S})}let A=r(q$,".codex","AGENTS.md");if(!j.agentsBlocks.some((G)=>G.file===A))j.agentsBlocks.push({file:A,skillName:S})}return j}function LL($,L,j){let S=L.filter((X)=>X.dirName===$);if(S.length===0)return{directories:[],ruleFiles:[],agentsBlocks:[]};let A={directories:[],ruleFiles:[],agentsBlocks:[]},z=new Set,G=new Set,J=new Set;for(let X of S){let Y=M$(X,j);for(let B of Y.directories)if(!z.has(B.path))z.add(B.path),A.directories.push(B);for(let B of Y.ruleFiles)if(!G.has(B))G.add(B),A.ruleFiles.push(B);for(let B of Y.agentsBlocks){let U=`${B.file}::${B.skillName}`;if(!J.has(U))J.add(U),A.agentsBlocks.push(B)}}return A}async function M($){try{return await T$($),!0}catch{return!1}}async function R$($,L){if(!await M($))return;let j=await i($,"utf-8");for(let S of["agent-skill-manager","skill-manager","pskills"]){let A=`<!-- ${S}: ${L} -->`,z=`<!-- /${S}: ${L} -->`,G=j.indexOf(A),J=j.indexOf(z);if(G===-1||J===-1)continue;let X=G;if(X>0&&j[X-1]===`
|
|
3
3
|
`)X--;let B=J+z.length;if(B<j.length&&j[B]===`
|
|
4
4
|
`)B++;j=j.slice(0,X)+j.slice(B)}await F$($,j,"utf-8")}async function SL($,L){let j=[];for(let S of $.directories)try{if(S.isSymlink)await m(S.path),j.push(`Removed symlink: ${S.path}`);else await m(S.path,{recursive:!0,force:!0}),j.push(`Removed directory: ${S.path}`);if(L&&_(S.path)!==_(L)){let A=l(S.path),z=K$(A,L);await V$(z,S.path,"dir"),j.push(`Created symlink: ${S.path} -> ${z}`)}}catch(A){j.push(`Failed to remove ${S.path}: ${A.message}`)}for(let S of $.ruleFiles)if(await M(S))try{await m(S),j.push(`Removed rule file: ${S}`)}catch(A){j.push(`Failed to remove ${S}: ${A.message}`)}for(let S of $.agentsBlocks)try{await R$(S.file,S.skillName),j.push(`Cleaned AGENTS.md block in: ${S.file}`)}catch(A){j.push(`Failed to clean AGENTS.md block: ${A.message}`)}return j}async function jL($){let L=[];for(let j of $.directories)if(await M(j.path)){let A=(await O$(j.path)).isSymbolicLink()?"symlink":"directory";L.push(`${j.path} (${A})`)}for(let j of $.ruleFiles)if(await M(j))L.push(j);for(let j of $.agentsBlocks)if(await M(j.file)){let S=await i(j.file,"utf-8");if(S.includes(`<!-- agent-skill-manager: ${j.skillName} -->`)||S.includes(`<!-- skill-manager: ${j.skillName} -->`)||S.includes(`<!-- pskills: ${j.skillName} -->`))L.push(`${j.file} (AGENTS.md block)`)}return L}var N=()=>{if(process.env.NO_COLOR!==void 0)return!1;if(globalThis.__CLI_NO_COLOR)return!1;if(!process.stdout.isTTY)return!1;return!0},Z={bold:($)=>N()?`\x1B[1m${$}\x1B[0m`:$,cyan:($)=>N()?`\x1B[36m${$}\x1B[0m`:$,green:($)=>N()?`\x1B[32m${$}\x1B[0m`:$,yellow:($)=>N()?`\x1B[33m${$}\x1B[0m`:$,dim:($)=>N()?`\x1B[2m${$}\x1B[0m`:$,white:($)=>N()?`\x1B[37m${$}\x1B[0m`:$,red:($)=>N()?`\x1B[31m${$}\x1B[0m`:$,blue:($)=>N()?`\x1B[34m${$}\x1B[0m`:$,blueBold:($)=>N()?`\x1B[34;1m${$}\x1B[0m`:$,magenta:($)=>N()?`\x1B[35m${$}\x1B[0m`:$,bgDim:($)=>N()?`\x1B[48;5;236m${$}\x1B[0m`:$,bgRed:($)=>N()?`\x1B[41m\x1B[37m\x1B[1m${$}\x1B[0m`:$,bgYellow:($)=>N()?`\x1B[43m\x1B[30m\x1B[1m${$}\x1B[0m`:$,bgGreen:($)=>N()?`\x1B[42m\x1B[30m\x1B[1m${$}\x1B[0m`:$,bgCyan:($)=>N()?`\x1B[46m\x1B[30m\x1B[1m${$}\x1B[0m`:$};function R($){if(!$)return"";switch($.toLowerCase()){case"low":return Z.green($);case"medium":return Z.yellow($);case"high":return Z.red($);case"max":return Z.magenta($);default:return $}}var s={claude:Z.blueBold,codex:Z.cyan,openclaw:Z.yellow,agents:Z.green,custom:Z.magenta,cursor:Z.blue,windsurf:Z.cyan,cline:Z.green,roocode:Z.magenta,continue:Z.yellow,copilot:Z.white,aider:Z.red,opencode:Z.cyan,zed:Z.blue,augment:Z.green,amp:Z.yellow};function p($,L){return(s[$]||Z.dim)(L)}function k($,L){if(!N())return`[${L}]`;return(s[$]||Z.dim)(`[${L}]`)}function q($){let L=process.env.HOME||process.env.USERPROFILE||"";if(L&&$.startsWith(L))return"~"+$.slice(L.length);return $}function XL($){if($.length===0)return"No skills found.";let L=["Name","Version","Creator","Effort","Tool","Scope","Type","Path"],j=$.map((X)=>[X.name,X.version,X.creator||"—",X.effort||"—",X.providerLabel,X.scope,X.isSymlink?"symlink":"directory",q(X.path)]),S=L.map((X,Y)=>Math.max(X.length,...j.map((B)=>B[Y].length))),A=(X,Y)=>X.padEnd(Y),z=L.map((X,Y)=>A(X,S[Y])).join(" "),G=S.map((X)=>"-".repeat(X)).join("--"),J=j.map((X)=>X.map((Y,B)=>A(Y,S[B])).join(" "));return[N()?Z.bold(z):z,G,...J].join(`
|
|
@@ -10,5 +10,5 @@ import{J as V,P as K}from"./chunk-t6myftbf.js";import{readdir as a,stat as J$,ls
|
|
|
10
10
|
`)}var $$=new Set(["Bash","Write","Edit","NotebookEdit"]),P$=new Set(["WebFetch","WebSearch"]);function c$($){if($$.has($))return Z.red($);if(P$.has($))return Z.yellow($);return Z.green($)}function L$($){if($.length===0)return"";return $.map(c$).join(" ")}function S$($){let L=$.filter((S)=>$$.has(S));if(L.length===0)return null;let j=[];if(L.includes("Bash"))j.push("execute shell commands");if(L.includes("Write")||L.includes("Edit")||L.includes("NotebookEdit"))j.push("modify files");return`This skill can ${j.join(" and ")}`}async function w$($){let L=[],j=(A,z)=>`${N()?Z.bold(A+":"):A+":"} ${z}`;if(L.push(j("Name",$.name)),L.push(j("Version",$.version)),L.push(j("Creator",$.creator||"—")),L.push(j("License",$.license||"—")),$.compatibility)L.push(j("Compatibility",$.compatibility));if($.effort)L.push(j("Effort",R($.effort)));if(L.push(j("Tool",$.providerLabel)),L.push(j("Scope",$.scope)),L.push(j("Location",$.location)),L.push(j("Path",q($.path))),L.push(j("Type",$.isSymlink?"symlink":"directory")),$.isSymlink&&$.symlinkTarget)L.push(j("Symlink Target",$.symlinkTarget));let S=$.fileCount??await g($.path);if(L.push(j("File Count",String(S))),$.description)L.push(""),L.push(j("Description",$.description));if($.allowedTools&&$.allowedTools.length>0){L.push(""),L.push(N()?Z.bold("Allowed Tools:"):"Allowed Tools:"),L.push(` ${L$($.allowedTools)}`);let A=S$($.allowedTools);if(A)L.push(` ${N()?Z.yellow("⚠"):"!"} ${A}`)}if($.warnings&&$.warnings.length>0){L.push(""),L.push(N()?Z.bold("Warnings:"):"Warnings:");for(let A of $.warnings)L.push(` ${N()?Z.yellow("!"):"!"} [${A.category}] ${A.message}`)}return L.join(`
|
|
11
11
|
`)}async function BL($){if($.length===0)return"No skills found.";if($.length===1)return w$($[0]);let L=[],j=(Y,B)=>`${N()?Z.bold(Y+":"):Y+":"} ${B}`,S=$[0],A=S.name;if(L.push(""),L.push(N()?Z.blueBold(` ${A}`):` ${A}`),L.push(N()?Z.dim(" "+"-".repeat(A.length+2)):" "+"-".repeat(A.length+2)),L.push(""),L.push(j(" Version",S.version)),L.push(j(" Creator",S.creator||"—")),L.push(j(" License",S.license||"—")),S.compatibility)L.push(j(" Compatibility",S.compatibility));if(S.effort)L.push(j(" Effort",R(S.effort)));let z=S.fileCount??await g(S.path);L.push(j(" File Count",String(z)));let G=$.map((Y)=>k(Y.provider,Y.providerLabel)).join(" ");if(L.push(j(" Installed in",G)),S.description){L.push(""),L.push(N()?Z.bold(" Description:"):" Description:");let Y=j$(S.description,72);for(let B of Y)L.push(" "+B)}if(S.allowedTools&&S.allowedTools.length>0){L.push(""),L.push(N()?Z.bold(" Allowed Tools:"):" Allowed Tools:"),L.push(` ${L$(S.allowedTools)}`);let Y=S$(S.allowedTools);if(Y)L.push(` ${N()?Z.yellow("⚠"):"!"} ${Y}`)}L.push("");let J=` Installations (${$.length})`;L.push(N()?Z.bold(J):J);for(let Y=0;Y<$.length;Y++){let B=$[Y],U=p(B.provider,B.providerLabel),H=B.isSymlink?"symlink":"directory",Q=Z.dim(B.scope);if(L.push(` ${U} (${Q}, ${H})`),L.push(` ${Z.dim("Path:")} ${q(B.path)}`),B.isSymlink&&B.symlinkTarget)L.push(` ${Z.dim("Target:")} ${B.symlinkTarget}`)}let X=$.flatMap((Y)=>{if(!Y.warnings||Y.warnings.length===0)return[];return Y.warnings.map((B)=>({...B,provider:Y.providerLabel}))});if(X.length>0){L.push("");let Y=` Warnings (${X.length})`;L.push(N()?Z.bold(Y):Y);for(let B of X){let U=N()?Z.yellow("!"):"!";L.push(` ${U} [${B.category}] ${B.message}`)}}return L.push(""),L.join(`
|
|
12
12
|
`)}function j$($,L){let j=$.split(/\s+/),S=[],A="";for(let z of j)if(A.length+z.length+1>L&&A.length>0)S.push(A),A=z;else A=A?A+" "+z:z;if(A)S.push(A);return S}function GL($){return JSON.stringify($,null,2)}function NL($){let L=[],j=new Set,S=new Map,A=[];for(let X of $){let Y=S.get(X.realPath);if(Y){if(X.isSymlink)continue;if(Y.isSymlink)A[A.indexOf(Y)]=X,S.set(X.realPath,X);else A.push(X)}else S.set(X.realPath,X),A.push(X)}let z=new Map;for(let X of A){let Y=z.get(X.dirName)??[];Y.push(X),z.set(X.dirName,Y)}for(let[X,Y]of z)if(new Set(Y.map((U)=>U.location)).size>=2){L.push({key:X,reason:"same-dirName",instances:Y});for(let U of Y)j.add(U.path)}let G=new Map;for(let X of A){if(!X.name)continue;let Y=G.get(X.name)??[];Y.push(X),G.set(X.name,Y)}for(let[X,Y]of G){if(new Set(Y.map((Q)=>Q.dirName)).size<2)continue;let U=Y.filter((Q)=>!j.has(Q.path));if(U.length<2)continue;if(new Set(U.map((Q)=>Q.dirName)).size<2)continue;L.push({key:X,reason:"same-frontmatterName",instances:U})}L.sort((X,Y)=>{if(X.reason!==Y.reason)return X.reason==="same-dirName"?-1:1;return X.key.localeCompare(Y.key)});let J=L.reduce((X,Y)=>X+Y.instances.length,0);return{scannedAt:new Date().toISOString(),totalSkills:$.length,duplicateGroups:L,totalDuplicateInstances:J}}function C$($){return[...$].sort((L,j)=>{if(L.scope!==j.scope)return L.scope==="global"?-1:1;let S=L.providerLabel.localeCompare(j.providerLabel);if(S!==0)return S;return L.path.localeCompare(j.path)})}function x$($){return $==="same-dirName"?"same dirName":"same name"}function IL($){if($.duplicateGroups.length===0)return Z.green("No duplicate skills found.");let L=[];L.push(""),L.push(Z.bold(` Found ${$.duplicateGroups.length} duplicate group(s) (${$.totalDuplicateInstances} total instances):`)),L.push("");for(let j of $.duplicateGroups){L.push(` ${Z.yellow(`"${j.key}"`)} ${Z.dim(`(${x$(j.reason)})`)}`);let S=C$(j.instances);for(let A=0;A<S.length;A++){let z=S[A],G=p(z.provider,z.providerLabel),J=A===0?Z.green(" [keep]"):Z.dim(" "),X=Z.dim(`(${z.scope})`);L.push(` ${J} ${G} ${X} ${Z.dim(q(z.path))}`)}L.push("")}return L.push(Z.dim(` Run ${Z.bold("asm audit -y")} to auto-remove duplicates`)),L.push(""),L.join(`
|
|
13
|
-
`)}function DL($){return JSON.stringify($,null,2)}function FL($){let L=$.trim();if(!L)return["vi",[]];let j=[],S="",A=!1,z=0;while(z<L.length){let G=L[z];if(G==='"'){A=!0,z++;while(z<L.length&&L[z]!=='"'){if(L[z]==="\\"&&z+1<L.length){let J=L[z+1];if(J==='"'||J==="\\"){S+=J,z+=2;continue}}S+=L[z],z++}z++}else if(G==="'"){A=!0,z++;while(z<L.length&&L[z]!=="'")S+=L[z],z++;z++}else if(G===" "||G==="\t"){if(S.length>0||A)j.push(S),S="",A=!1;z++}else S+=G,z++}if(S.length>0||A)j.push(S);if(j.length===0)return["vi",[]];return[j[0],j.slice(1)]}import{readFileSync as v$}from"fs";import{resolve as W$,dirname as y$}from"path";import{fileURLToPath as b$}from"url";import{execSync as h$}from"child_process";var f$=y$(b$(import.meta.url)),A$="1.
|
|
14
|
-
export{d as
|
|
13
|
+
`)}function DL($){return JSON.stringify($,null,2)}function FL($){let L=$.trim();if(!L)return["vi",[]];let j=[],S="",A=!1,z=0;while(z<L.length){let G=L[z];if(G==='"'){A=!0,z++;while(z<L.length&&L[z]!=='"'){if(L[z]==="\\"&&z+1<L.length){let J=L[z+1];if(J==='"'||J==="\\"){S+=J,z+=2;continue}}S+=L[z],z++}z++}else if(G==="'"){A=!0,z++;while(z<L.length&&L[z]!=="'")S+=L[z],z++;z++}else if(G===" "||G==="\t"){if(S.length>0||A)j.push(S),S="",A=!1;z++}else S+=G,z++}if(S.length>0||A)j.push(S);if(j.length===0)return["vi",[]];return[j[0],j.slice(1)]}import{readFileSync as v$}from"fs";import{resolve as W$,dirname as y$}from"path";import{fileURLToPath as b$}from"url";import{execSync as h$}from"child_process";var f$=y$(b$(import.meta.url)),A$="1.19.0";try{let $=v$(W$(f$,"../../package.json"),"utf-8");A$=JSON.parse($).version}catch{}var u="3548a49";try{u=h$("git rev-parse --short HEAD",{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()||u}catch{}var g$=A$,m$=u,qL=`v${g$} (${m$})`;
|
|
14
|
+
export{d as e,t as f,o as g,g as h,n$ as i,a$ as j,r$ as k,M$ as l,LL as m,SL as n,jL as o,Z as p,R as q,p as r,q as s,XL as t,YL as u,ZL as v,JL as w,$$ as x,P$ as y,BL as z,j$ as A,GL as B,NL as C,C$ as D,x$ as E,IL as F,DL as G,qL as H,FL as I};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{N as z,Q as B}from"./chunk-v3wdjh4r.js";import{readFile as J,writeFile as K,mkdir as M,copyFile as N}from"fs/promises";import{execFile as O}from"child_process";import{promisify as Q}from"util";import{dirname as R}from"path";var S=Q(O);function G(){return{version:1,skills:{}}}async function H(){let j=B(),v;try{v=await J(j,"utf-8")}catch(q){if(q?.code==="ENOENT")return z("lock: file not found, returning empty lock"),G();throw q}try{let q=JSON.parse(v);if(q.version!==1||typeof q.skills!=="object"||q.skills===null)throw Error("invalid schema");return z(`lock: loaded ${Object.keys(q.skills).length} entries`),q}catch{let q=j+".bak";z(`lock: parse error, backing up to ${q}`);try{await N(j,q)}catch{}return console.error(`Warning: .skill-lock.json was corrupted. Backup saved to ${q}. Starting fresh.`),G()}}async function Z(j,v){let q=await H();q.skills[j]=v,await I(q),z(`lock: wrote entry for "${j}"`)}async function $(j){let v=await H();if(!(j in v.skills)){z(`lock: no entry for "${j}", nothing to remove`);return}delete v.skills[j],await I(v),z(`lock: removed entry for "${j}"`)}async function I(j){let v=B();await M(R(v),{recursive:!0}),await K(v,JSON.stringify(j,null,2)+`
|
|
2
|
+
`,"utf-8")}async function A(j){try{let{stdout:v}=await S("git",["rev-parse","HEAD"],{cwd:j,timeout:5000});return v.trim()||null}catch{return z("lock: could not read commit hash from cloned repo"),null}}export{Z as writeLockEntry,$ as removeLockEntry,H as readLock,A as getCommitHash};
|
|
3
|
+
export{H as a,Z as b,$ as c,A as d};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{createRequire as k}from"node:module";var S=Object.create;var{getPrototypeOf:U,defineProperty:K,getOwnPropertyNames:j}=Object;var E=Object.prototype.hasOwnProperty;var F=(x,$,b)=>{b=x!=null?S(U(x)):{};let q=$||!x||!x.__esModule?K(b,"default",{value:x,enumerable:!0}):b;for(let V of j(x))if(!E.call(q,V))K(q,V,{get:()=>x[V],enumerable:!0});return q};var h=(x,$)=>()=>($||x(($={exports:{}}).exports,$),$.exports);var I=k(import.meta.url);import{readFile as W,writeFile as v,mkdir as R,copyFile as A}from"fs/promises";import{join as B,resolve as Z,dirname as s}from"path";import{fileURLToPath as H}from"url";import{homedir as G}from"os";var L=!1,M=0;function T(x){if(L=x,x)M=performance.now()}function z(x){if(!L)return;let $=Math.round(performance.now()-M),q=globalThis.__CLI_NO_COLOR?`[verbose] +${$}ms`:`\x1B[2m[verbose] +${$}ms\x1B[0m`;console.error(`${q} ${x}`)}var D=H(import.meta.url),X=s(D),w=G(),J=B(w,".config","agent-skill-manager"),y=B(J,"config.json"),O=B(J,".skill-lock.json"),m=B(J,"skill-index"),N=[{name:"claude",label:"Claude Code",global:"~/.claude/skills",project:".claude/skills",enabled:!0},{name:"agents",label:"Agents",global:"~/.agents/skills",project:".agents/skills",enabled:!0},{name:"codex",label:"Codex",global:"~/.codex/skills",project:".codex/skills",enabled:!0},{name:"opencode",label:"OpenCode",global:"~/.config/opencode/skills",project:".opencode/skills",enabled:!0},{name:"openclaw",label:"OpenClaw",global:"~/.openclaw/skills",project:".openclaw/skills",enabled:!0},{name:"cursor",label:"Cursor",global:"~/.cursor/rules",project:".cursor/rules",enabled:!0},{name:"copilot",label:"GitHub Copilot",global:"~/.github/instructions",project:".github/instructions",enabled:!0},{name:"windsurf",label:"Windsurf",global:"~/.windsurf/rules",project:".windsurf/rules",enabled:!0},{name:"antigravity",label:"Google Antigravity",global:"~/.antigravity/skills",project:".antigravity/skills",enabled:!0},{name:"gemini",label:"Gemini CLI",global:"~/.gemini/skills",project:".gemini/skills",enabled:!0},{name:"cline",label:"Cline",global:"~/Documents/Cline/Rules",project:".clinerules",enabled:!0},{name:"roocode",label:"Roo Code",global:"~/.roo/rules",project:".roo/rules",enabled:!0},{name:"continue",label:"Continue",global:"~/.continue/rules",project:".continue/rules",enabled:!0},{name:"aider",label:"Aider",global:"~/.aider/skills",project:".aider/skills",enabled:!0},{name:"zed",label:"Zed",global:"~/.config/zed/prompt_overrides",project:".zed/rules",enabled:!0},{name:"augment",label:"Augment",global:"~/.augment/rules",project:".augment/rules",enabled:!0},{name:"amp",label:"Amp",global:"~/.amp/skills",project:".amp/skills",enabled:!0}];function Q(){return{version:1,providers:N.map((x)=>({...x})),customPaths:[],preferences:{defaultScope:"both",defaultSort:"name"}}}function t(){return y}function f(){return O}function g(){return m}function i(){return Z(X,"..","data","skill-index")}function _(){return Z(X,"..","data","skill-index-resources.json")}async function a(){let x=_(),$=await W(x,"utf-8");return JSON.parse($)}function e(x){if(x.startsWith("~/"))return B(w,x.slice(2));if(x.startsWith("/"))return x;return Z(x)}function u(x){let $=Q(),b=x.providers||[],q=new Set(b.map((V)=>V.name));for(let V of $.providers)if(!q.has(V.name))b.push({...V});return{version:x.version??$.version,providers:b,customPaths:x.customPaths??[],preferences:{defaultScope:x.preferences?.defaultScope??$.preferences.defaultScope,defaultSort:x.preferences?.defaultSort??$.preferences.defaultSort,selectedTools:x.preferences?.selectedTools}}}async function C(){z(`config: checking ${y}`);let x;try{x=await W(y,"utf-8")}catch($){if($?.code==="ENOENT"){z("config: using defaults (file not found)");let b=Q();return await Y(b),b}throw $}try{let $=JSON.parse(x);return z(`config: loaded from ${y}`),u($)}catch{let $=y+".bak";z(`config: parse error, backing up to ${$}`),await A(y,$),console.error(`Warning: Config file was corrupted. Backup saved to ${$}. Using defaults.`);let b=Q();return await Y(b),b}}async function Y(x){await R(J,{recursive:!0}),await v(y,JSON.stringify(x,null,2)+`
|
|
2
|
+
`,"utf-8")}async function xx(x){let $=await C();$.preferences.selectedTools=x,await Y($)}export{xx as saveSelectedTools,Y as saveConfig,e as resolveProviderPath,a as loadSkillIndexResources,C as loadConfig,_ as getSkillIndexResourcesPath,f as getLockPath,g as getIndexDir,Q as getDefaultConfig,t as getConfigPath,i as getBundledIndexDir};
|
|
3
|
+
export{F as J,h as K,I as L,T as M,z as N,Q as O,t as P,f as Q,g as R,i as S,e as T,C as U,Y as V};
|
package/package.json
CHANGED
package/dist/chunk-t6myftbf.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{createRequire as E}from"node:module";var S=Object.create;var{getPrototypeOf:U,defineProperty:Z,getOwnPropertyNames:j}=Object;var v=Object.prototype.hasOwnProperty;var C=(x,$,b)=>{b=x!=null?S(U(x)):{};let q=$||!x||!x.__esModule?Z(b,"default",{value:x,enumerable:!0}):b;for(let V of j(x))if(!v.call(q,V))Z(q,V,{get:()=>x[V],enumerable:!0});return q};var _=(x,$)=>()=>($||x(($={exports:{}}).exports,$),$.exports);var u=E(import.meta.url);import{readFile as W,writeFile as k,mkdir as s,copyFile as R}from"fs/promises";import{join as B,resolve as Y,dirname as A}from"path";import{fileURLToPath as o}from"url";import{homedir as H}from"os";var K=!1,L=0;function h(x){if(K=x,x)L=performance.now()}function z(x){if(!K)return;let $=Math.round(performance.now()-L),q=globalThis.__CLI_NO_COLOR?`[verbose] +${$}ms`:`\x1B[2m[verbose] +${$}ms\x1B[0m`;console.error(`${q} ${x}`)}var n=o(import.meta.url),X=A(n),w=H(),J=B(w,".config","agent-skill-manager"),y=B(J,"config.json"),G=B(J,".skill-lock.json"),m=B(J,"skill-index"),D=[{name:"claude",label:"Claude Code",global:"~/.claude/skills",project:".claude/skills",enabled:!0},{name:"agents",label:"Agents",global:"~/.agents/skills",project:".agents/skills",enabled:!0},{name:"codex",label:"Codex",global:"~/.codex/skills",project:".codex/skills",enabled:!0},{name:"opencode",label:"OpenCode",global:"~/.config/opencode/skills",project:".opencode/skills",enabled:!0},{name:"openclaw",label:"OpenClaw",global:"~/.openclaw/skills",project:".openclaw/skills",enabled:!0},{name:"cursor",label:"Cursor",global:"~/.cursor/rules",project:".cursor/rules",enabled:!0},{name:"copilot",label:"GitHub Copilot",global:"~/.github/instructions",project:".github/instructions",enabled:!0},{name:"windsurf",label:"Windsurf",global:"~/.windsurf/rules",project:".windsurf/rules",enabled:!0},{name:"antigravity",label:"Google Antigravity",global:"~/.antigravity/skills",project:".antigravity/skills",enabled:!0},{name:"gemini",label:"Gemini CLI",global:"~/.gemini/skills",project:".gemini/skills",enabled:!0},{name:"cline",label:"Cline",global:"~/Documents/Cline/Rules",project:".clinerules",enabled:!0},{name:"roocode",label:"Roo Code",global:"~/.roo/rules",project:".roo/rules",enabled:!0},{name:"continue",label:"Continue",global:"~/.continue/rules",project:".continue/rules",enabled:!0},{name:"aider",label:"Aider",global:"~/.aider/skills",project:".aider/skills",enabled:!0},{name:"zed",label:"Zed",global:"~/.config/zed/prompt_overrides",project:".zed/rules",enabled:!0},{name:"augment",label:"Augment",global:"~/.augment/rules",project:".augment/rules",enabled:!0},{name:"amp",label:"Amp",global:"~/.amp/skills",project:".amp/skills",enabled:!0}];function Q(){return{version:1,providers:D.map((x)=>({...x})),customPaths:[],preferences:{defaultScope:"both",defaultSort:"name"}}}function f(){return y}function p(){return G}function t(){return m}function g(){return Y(X,"..","data","skill-index")}function N(){return Y(X,"..","data","skill-index-resources.json")}async function i(){let x=N(),$=await W(x,"utf-8");return JSON.parse($)}function a(x){if(x.startsWith("~/"))return B(w,x.slice(2));if(x.startsWith("/"))return x;return Y(x)}function O(x){let $=Q(),b=x.providers||[],q=new Set(b.map((V)=>V.name));for(let V of $.providers)if(!q.has(V.name))b.push({...V});return{version:x.version??$.version,providers:b,customPaths:x.customPaths??[],preferences:{defaultScope:x.preferences?.defaultScope??$.preferences.defaultScope,defaultSort:x.preferences?.defaultSort??$.preferences.defaultSort}}}async function e(){z(`config: checking ${y}`);let x;try{x=await W(y,"utf-8")}catch($){if($?.code==="ENOENT"){z("config: using defaults (file not found)");let b=Q();return await M(b),b}throw $}try{let $=JSON.parse(x);return z(`config: loaded from ${y}`),O($)}catch{let $=y+".bak";z(`config: parse error, backing up to ${$}`),await R(y,$),console.error(`Warning: Config file was corrupted. Backup saved to ${$}. Using defaults.`);let b=Q();return await M(b),b}}async function M(x){await s(J,{recursive:!0}),await k(y,JSON.stringify(x,null,2)+`
|
|
2
|
-
`,"utf-8")}export{M as saveConfig,a as resolveProviderPath,i as loadSkillIndexResources,e as loadConfig,N as getSkillIndexResourcesPath,p as getLockPath,t as getIndexDir,Q as getDefaultConfig,f as getConfigPath,g as getBundledIndexDir};
|
|
3
|
-
export{C as F,_ as G,u as H,h as I,z as J,Q as K,f as L,p as M,t as N,g as O,a as P,e as Q,M as R};
|