@solaqua/skul 0.1.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/LICENSE +15 -0
- package/README.md +282 -0
- package/bin/skul.js +13 -0
- package/dist/bundle-discovery.d.ts +30 -0
- package/dist/bundle-discovery.js +284 -0
- package/dist/bundle-discovery.js.map +1 -0
- package/dist/bundle-fetch.d.ts +67 -0
- package/dist/bundle-fetch.js +378 -0
- package/dist/bundle-fetch.js.map +1 -0
- package/dist/bundle-items.d.ts +34 -0
- package/dist/bundle-items.js +149 -0
- package/dist/bundle-items.js.map +1 -0
- package/dist/bundle-manifest.d.ts +26 -0
- package/dist/bundle-manifest.js +196 -0
- package/dist/bundle-manifest.js.map +1 -0
- package/dist/bundle-materialization.d.ts +52 -0
- package/dist/bundle-materialization.js +587 -0
- package/dist/bundle-materialization.js.map +1 -0
- package/dist/bundle-translation.d.ts +38 -0
- package/dist/bundle-translation.js +502 -0
- package/dist/bundle-translation.js.map +1 -0
- package/dist/cli.d.ts +126 -0
- package/dist/cli.js +648 -0
- package/dist/cli.js.map +1 -0
- package/dist/fs-utils.d.ts +7 -0
- package/dist/fs-utils.js +27 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/git-context.d.ts +14 -0
- package/dist/git-context.js +53 -0
- package/dist/git-context.js.map +1 -0
- package/dist/git-exclude.d.ts +13 -0
- package/dist/git-exclude.js +76 -0
- package/dist/git-exclude.js.map +1 -0
- package/dist/git-index.d.ts +106 -0
- package/dist/git-index.js +224 -0
- package/dist/git-index.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +4190 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +91 -0
- package/dist/registry.js +551 -0
- package/dist/registry.js.map +1 -0
- package/dist/root-instruction-content.d.ts +11 -0
- package/dist/root-instruction-content.js +61 -0
- package/dist/root-instruction-content.js.map +1 -0
- package/dist/root-instruction-render.d.ts +31 -0
- package/dist/root-instruction-render.js +121 -0
- package/dist/root-instruction-render.js.map +1 -0
- package/dist/root-instruction-state.d.ts +41 -0
- package/dist/root-instruction-state.js +273 -0
- package/dist/root-instruction-state.js.map +1 -0
- package/dist/state-layout.d.ts +11 -0
- package/dist/state-layout.js +26 -0
- package/dist/state-layout.js.map +1 -0
- package/dist/tool-mapping.d.ts +35 -0
- package/dist/tool-mapping.js +227 -0
- package/dist/tool-mapping.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GLOBAL_TOOL_MATERIALIZATION_LAYOUT = exports.PROJECT_TOOL_MATERIALIZATION_LAYOUT = void 0;
|
|
7
|
+
exports.listToolDefinitions = listToolDefinitions;
|
|
8
|
+
exports.listGlobalToolDefinitions = listGlobalToolDefinitions;
|
|
9
|
+
exports.getGlobalToolDefinition = getGlobalToolDefinition;
|
|
10
|
+
exports.globalCapableToolNames = globalCapableToolNames;
|
|
11
|
+
exports.buildGlobalRepoRelPathRemapper = buildGlobalRepoRelPathRemapper;
|
|
12
|
+
exports.getToolDefinition = getToolDefinition;
|
|
13
|
+
exports.resolveToolTargetPath = resolveToolTargetPath;
|
|
14
|
+
exports.resolveGlobalToolTargetPath = resolveGlobalToolTargetPath;
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const TOOL_DEFINITIONS = [
|
|
17
|
+
{
|
|
18
|
+
name: "claude-code",
|
|
19
|
+
targets: {
|
|
20
|
+
skills: { path: ".claude/skills", kind: "directory" },
|
|
21
|
+
commands: { path: ".claude/commands", kind: "directory" },
|
|
22
|
+
agents: { path: ".claude/agents", kind: "directory" },
|
|
23
|
+
root_instruction: { path: "CLAUDE.md", kind: "file" },
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "cursor",
|
|
28
|
+
targets: {
|
|
29
|
+
skills: { path: ".cursor/skills", kind: "directory" },
|
|
30
|
+
commands: { path: ".cursor/commands", kind: "directory" },
|
|
31
|
+
agents: { path: ".cursor/agents", kind: "directory" },
|
|
32
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "opencode",
|
|
37
|
+
targets: {
|
|
38
|
+
skills: { path: ".opencode/skills", kind: "directory" },
|
|
39
|
+
commands: { path: ".opencode/commands", kind: "directory" },
|
|
40
|
+
agents: { path: ".opencode/agents", kind: "directory" },
|
|
41
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "codex",
|
|
46
|
+
targets: {
|
|
47
|
+
skills: { path: ".agents/skills", kind: "directory" },
|
|
48
|
+
agents: { path: ".codex/agents", kind: "directory" },
|
|
49
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "copilot",
|
|
54
|
+
targets: {
|
|
55
|
+
skills: { path: ".github/skills", kind: "directory" },
|
|
56
|
+
agents: { path: ".github/agents", kind: "directory" },
|
|
57
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "kiro",
|
|
62
|
+
targets: {
|
|
63
|
+
skills: { path: ".kiro/skills", kind: "directory" },
|
|
64
|
+
agents: { path: ".kiro/agents", kind: "directory" },
|
|
65
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "antigravity",
|
|
70
|
+
targets: {
|
|
71
|
+
skills: { path: ".agent/skills", kind: "directory" },
|
|
72
|
+
commands: { path: ".agent/workflows", kind: "directory" },
|
|
73
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
const GLOBAL_TOOL_DEFINITIONS = [
|
|
78
|
+
{
|
|
79
|
+
name: "claude-code",
|
|
80
|
+
targets: {
|
|
81
|
+
skills: { path: ".claude/skills", kind: "directory" },
|
|
82
|
+
commands: { path: ".claude/commands", kind: "directory" },
|
|
83
|
+
agents: { path: ".claude/agents", kind: "directory" },
|
|
84
|
+
root_instruction: { path: ".claude/CLAUDE.md", kind: "file" },
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "cursor",
|
|
89
|
+
targets: {
|
|
90
|
+
skills: { path: ".cursor/skills", kind: "directory" },
|
|
91
|
+
commands: { path: ".cursor/commands", kind: "directory" },
|
|
92
|
+
agents: { path: ".cursor/agents", kind: "directory" },
|
|
93
|
+
root_instruction: { path: "AGENTS.md", kind: "file" },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "opencode",
|
|
98
|
+
targets: {
|
|
99
|
+
skills: { path: ".config/opencode/skills", kind: "directory" },
|
|
100
|
+
commands: { path: ".config/opencode/commands", kind: "directory" },
|
|
101
|
+
agents: { path: ".config/opencode/agents", kind: "directory" },
|
|
102
|
+
root_instruction: { path: ".config/opencode/AGENTS.md", kind: "file" },
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "codex",
|
|
107
|
+
targets: {
|
|
108
|
+
skills: { path: ".agents/skills", kind: "directory" },
|
|
109
|
+
agents: { path: ".codex/agents", kind: "directory" },
|
|
110
|
+
root_instruction: { path: ".codex/AGENTS.md", kind: "file" },
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "copilot",
|
|
115
|
+
targets: {
|
|
116
|
+
skills: { path: ".github/skills", kind: "directory" },
|
|
117
|
+
agents: { path: ".github/agents", kind: "directory" },
|
|
118
|
+
root_instruction: {
|
|
119
|
+
path: ".github/copilot-instructions.md",
|
|
120
|
+
kind: "file",
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "kiro",
|
|
126
|
+
targets: {
|
|
127
|
+
skills: { path: ".kiro/skills", kind: "directory" },
|
|
128
|
+
agents: { path: ".kiro/agents", kind: "directory" },
|
|
129
|
+
root_instruction: { path: ".kiro/steering/AGENTS.md", kind: "file" },
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "antigravity",
|
|
134
|
+
targets: {
|
|
135
|
+
skills: { path: ".agent/skills", kind: "directory" },
|
|
136
|
+
commands: { path: ".agent/workflows", kind: "directory" },
|
|
137
|
+
root_instruction: { path: ".gemini/GEMINI.md", kind: "file" },
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
];
|
|
141
|
+
/** Returns a defensive copy of all supported tool definitions. */
|
|
142
|
+
function listToolDefinitions() {
|
|
143
|
+
return TOOL_DEFINITIONS.map(cloneToolDefinition);
|
|
144
|
+
}
|
|
145
|
+
/** Returns all tool definitions for global (~/) materialization. */
|
|
146
|
+
function listGlobalToolDefinitions() {
|
|
147
|
+
return GLOBAL_TOOL_DEFINITIONS.map(cloneToolDefinition);
|
|
148
|
+
}
|
|
149
|
+
/** Returns the global tool definition for one tool, or null if not supported globally.
|
|
150
|
+
* Exported for use by external consumers inspecting global installation layout. */
|
|
151
|
+
function getGlobalToolDefinition(name) {
|
|
152
|
+
const tool = GLOBAL_TOOL_DEFINITIONS.find((t) => t.name === name);
|
|
153
|
+
return tool ? cloneToolDefinition(tool) : null;
|
|
154
|
+
}
|
|
155
|
+
/** Returns the names of tools that support global installation. */
|
|
156
|
+
function globalCapableToolNames() {
|
|
157
|
+
return GLOBAL_TOOL_DEFINITIONS.map((t) => t.name);
|
|
158
|
+
}
|
|
159
|
+
// Computed once at module load: maps each globally-capable tool name to its
|
|
160
|
+
// project→global target path pairs. Keyed by tool name (not project path) to
|
|
161
|
+
// avoid collisions when multiple tools share the same project path (e.g.
|
|
162
|
+
// copilot and antigravity both use AGENTS.md at project level).
|
|
163
|
+
const GLOBAL_REPO_REL_PATH_REMAP = (() => {
|
|
164
|
+
const map = new Map();
|
|
165
|
+
for (const projDef of TOOL_DEFINITIONS) {
|
|
166
|
+
const globalDef = GLOBAL_TOOL_DEFINITIONS.find((g) => g.name === projDef.name);
|
|
167
|
+
if (!globalDef) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
for (const [targetName, projTarget] of Object.entries(projDef.targets)) {
|
|
171
|
+
const globalPath = globalDef.targets[targetName]?.path;
|
|
172
|
+
if (projTarget.path && globalPath && projTarget.path !== globalPath) {
|
|
173
|
+
const entries = map.get(projDef.name) ?? [];
|
|
174
|
+
entries.push({ from: projTarget.path, to: globalPath });
|
|
175
|
+
map.set(projDef.name, entries);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return map;
|
|
180
|
+
})();
|
|
181
|
+
/** Returns the path remapper for global mode. Takes the tool name so that tools sharing
|
|
182
|
+
* the same project path (e.g. AGENTS.md) can each remap to their own global path. */
|
|
183
|
+
function buildGlobalRepoRelPathRemapper() {
|
|
184
|
+
return (toolName, p) => {
|
|
185
|
+
const entries = GLOBAL_REPO_REL_PATH_REMAP.get(toolName) ?? [];
|
|
186
|
+
const entry = entries.find((candidate) => p === candidate.from || p.startsWith(`${candidate.from}/`));
|
|
187
|
+
if (!entry) {
|
|
188
|
+
return p;
|
|
189
|
+
}
|
|
190
|
+
return p === entry.from
|
|
191
|
+
? entry.to
|
|
192
|
+
: `${entry.to}/${p.slice(entry.from.length + 1)}`;
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/** Looks up one tool definition by name and returns a defensive copy when found. */
|
|
196
|
+
function getToolDefinition(name) {
|
|
197
|
+
const tool = TOOL_DEFINITIONS.find((definition) => definition.name === name);
|
|
198
|
+
return tool ? cloneToolDefinition(tool) : null;
|
|
199
|
+
}
|
|
200
|
+
/** Resolves the absolute target root path for one tool target inside a repository. */
|
|
201
|
+
function resolveToolTargetPath(toolName, targetName, repoRoot) {
|
|
202
|
+
const target = getToolDefinition(toolName)?.targets[targetName];
|
|
203
|
+
return target ? node_path_1.default.join(repoRoot, target.path) : null;
|
|
204
|
+
}
|
|
205
|
+
/** Resolves the absolute target root path for one global tool target under a home directory. */
|
|
206
|
+
function resolveGlobalToolTargetPath(toolName, targetName, homeDir) {
|
|
207
|
+
const target = getGlobalToolDefinition(toolName)?.targets[targetName];
|
|
208
|
+
return target ? node_path_1.default.join(homeDir, target.path) : null;
|
|
209
|
+
}
|
|
210
|
+
exports.PROJECT_TOOL_MATERIALIZATION_LAYOUT = {
|
|
211
|
+
remapRepoRelPath: (_toolName, repoRelPath) => repoRelPath,
|
|
212
|
+
resolveToolTargetPath,
|
|
213
|
+
};
|
|
214
|
+
exports.GLOBAL_TOOL_MATERIALIZATION_LAYOUT = {
|
|
215
|
+
remapRepoRelPath: buildGlobalRepoRelPathRemapper(),
|
|
216
|
+
resolveToolTargetPath: resolveGlobalToolTargetPath,
|
|
217
|
+
};
|
|
218
|
+
function cloneToolDefinition(definition) {
|
|
219
|
+
return {
|
|
220
|
+
name: definition.name,
|
|
221
|
+
targets: Object.fromEntries(Object.entries(definition.targets).map(([targetName, target]) => [
|
|
222
|
+
targetName,
|
|
223
|
+
{ ...target },
|
|
224
|
+
])),
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=tool-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-mapping.js","sourceRoot":"","sources":["../src/tool-mapping.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@solaqua/skul",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AI configuration layer manager for project-scoped bundles (project setup only)",
|
|
5
|
+
"homepage": "https://sjquant.github.io/skul/",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/sjquant/skul/issues"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/sjquant/skul.git"
|
|
12
|
+
},
|
|
13
|
+
"main": "dist/index.js",
|
|
14
|
+
"types": "dist/index.d.ts",
|
|
15
|
+
"bin": {
|
|
16
|
+
"skul": "bin/skul.js"
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"bin",
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "pnpm run clean && tsc -p tsconfig.build.json",
|
|
29
|
+
"clean": "rm -rf dist",
|
|
30
|
+
"docs:build": "pnpm install --dir website --frozen-lockfile && pnpm --dir website build",
|
|
31
|
+
"docs:start": "pnpm install --dir website --frozen-lockfile && pnpm --dir website start",
|
|
32
|
+
"docs:typecheck": "pnpm install --dir website --frozen-lockfile && pnpm --dir website typecheck",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"test:coverage": "vitest run --coverage",
|
|
35
|
+
"test:watch": "vitest",
|
|
36
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
37
|
+
"lint": "biome lint --write .",
|
|
38
|
+
"lint:check": "biome lint .",
|
|
39
|
+
"format": "biome format --write .",
|
|
40
|
+
"format:check": "biome format .",
|
|
41
|
+
"check": "biome check --write .",
|
|
42
|
+
"check:ci": "biome check --diagnostic-level=error .",
|
|
43
|
+
"dev": "tsx src/index.ts",
|
|
44
|
+
"prepack": "pnpm run build"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"cli",
|
|
48
|
+
"ai",
|
|
49
|
+
"tooling",
|
|
50
|
+
"worktree"
|
|
51
|
+
],
|
|
52
|
+
"author": "",
|
|
53
|
+
"license": "ISC",
|
|
54
|
+
"packageManager": "pnpm@10.6.3",
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=20"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@biomejs/biome": "^2.4.15",
|
|
60
|
+
"@j178/prek": "^0.3.13",
|
|
61
|
+
"@types/node": "^25.4.0",
|
|
62
|
+
"@vitest/coverage-v8": "4.0.18",
|
|
63
|
+
"tsx": "^4.21.0",
|
|
64
|
+
"typescript": "^5.9.3",
|
|
65
|
+
"vitest": "4.0.18"
|
|
66
|
+
},
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"@clack/prompts": "^1.1.0",
|
|
69
|
+
"commander": "^14.0.3",
|
|
70
|
+
"picocolors": "^1.1.1"
|
|
71
|
+
}
|
|
72
|
+
}
|