loadouts 0.1.15 → 0.2.1
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.md +8 -8
- package/bundled/loadouts/loadouts.yaml +1 -1
- package/bundled/skills/{loadout-usage → loadouts-usage}/SKILL.md +1 -1
- package/dist/builtins/index.d.ts.map +1 -1
- package/dist/builtins/index.js +4 -0
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/kinds/opencode-config.d.ts +3 -0
- package/dist/builtins/kinds/opencode-config.d.ts.map +1 -0
- package/dist/builtins/kinds/opencode-config.js +8 -0
- package/dist/builtins/kinds/opencode-config.js.map +1 -0
- package/dist/builtins/kinds/opencode-plugin.d.ts +3 -0
- package/dist/builtins/kinds/opencode-plugin.d.ts.map +1 -0
- package/dist/builtins/kinds/opencode-plugin.js +9 -0
- package/dist/builtins/kinds/opencode-plugin.js.map +1 -0
- package/dist/builtins/tools/opencode.d.ts.map +1 -1
- package/dist/builtins/tools/opencode.js +14 -28
- package/dist/builtins/tools/opencode.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +484 -51
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +6 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +5 -2
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +101 -78
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/skill.js +1 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +1 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/core/import-discovery.d.ts +7 -4
- package/dist/core/import-discovery.d.ts.map +1 -1
- package/dist/core/import-discovery.js +287 -142
- package/dist/core/import-discovery.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/lib/fs.d.ts.map +1 -1
- package/dist/lib/fs.js +2 -1
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/gitignore.d.ts +10 -10
- package/dist/lib/gitignore.d.ts.map +1 -1
- package/dist/lib/gitignore.js +142 -42
- package/dist/lib/gitignore.js.map +1 -1
- package/docs/authoring.md +40 -0
- package/docs/concepts.md +9 -7
- package/docs/troubleshooting.md +1 -4
- package/package.json +1 -1
package/dist/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IACzD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/gitignore.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Gitignore management — per-target .gitignore files.
|
|
3
3
|
*
|
|
4
|
-
* Each
|
|
5
|
-
* .
|
|
4
|
+
* Each output boundary gets its own .gitignore with paths relative to that
|
|
5
|
+
* directory. Tool outputs use the tool directory (e.g., .claude/, .cursor/),
|
|
6
|
+
* while root-level outputs use the project/global root. This ensures:
|
|
6
7
|
*
|
|
7
8
|
* - All artifacts are ignored regardless of activation state
|
|
8
9
|
* - Global scope is supported (same mechanism, absolute target dirs)
|
|
9
|
-
* - The project root .gitignore
|
|
10
|
+
* - The project root .gitignore only contains root-level managed outputs
|
|
10
11
|
*
|
|
11
12
|
* Gitignore is part of the artifact lifecycle (add/delete/import), not the
|
|
12
13
|
* render pipeline. Updates happen when artifacts are created or removed,
|
|
@@ -31,19 +32,18 @@ export declare function updateTargetGitignore(targetDir: string, relativePaths:
|
|
|
31
32
|
*/
|
|
32
33
|
export declare function updateLoadoutsGitignore(loadoutsDir: string): void;
|
|
33
34
|
/**
|
|
34
|
-
* Compute gitignore paths for an artifact, grouped by
|
|
35
|
+
* Compute gitignore paths for an artifact, grouped by gitignore directory.
|
|
35
36
|
*
|
|
36
|
-
* Returns a Map of
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* tool's base directory are automatically excluded.
|
|
37
|
+
* Returns a Map of gitignore base directory → relative paths within that
|
|
38
|
+
* directory. Outputs under a tool base use that tool base. Outputs outside the
|
|
39
|
+
* tool base (for example AGENTS.md or opencode.jsonc at project root) use the
|
|
40
|
+
* project/global root.
|
|
41
41
|
*/
|
|
42
42
|
export declare function computeArtifactGitignorePaths(kindId: string, artifactName: string, scope?: Scope): Map<string, string[]>;
|
|
43
43
|
/**
|
|
44
44
|
* Rebuild gitignore entries for all artifacts in the loadouts directory.
|
|
45
45
|
*
|
|
46
|
-
* Scans all
|
|
46
|
+
* Scans all artifacts and writes per-target .gitignore files so that
|
|
47
47
|
* every artifact is ignored regardless of whether it is currently activated.
|
|
48
48
|
* Called after artifact add/delete/import.
|
|
49
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAcH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AA0E9C;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,GACtB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAEjE;AAMD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,KAAiB,GACvB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAOvB;AA6DD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,IAAI,CAiBN;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAS1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,GACX,qBAAqB,CA2CvB;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE;AAsBD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAe1E;AAuND;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D"}
|
package/dist/lib/gitignore.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Gitignore management — per-target .gitignore files.
|
|
3
3
|
*
|
|
4
|
-
* Each
|
|
5
|
-
* .
|
|
4
|
+
* Each output boundary gets its own .gitignore with paths relative to that
|
|
5
|
+
* directory. Tool outputs use the tool directory (e.g., .claude/, .cursor/),
|
|
6
|
+
* while root-level outputs use the project/global root. This ensures:
|
|
6
7
|
*
|
|
7
8
|
* - All artifacts are ignored regardless of activation state
|
|
8
9
|
* - Global scope is supported (same mechanism, absolute target dirs)
|
|
9
|
-
* - The project root .gitignore
|
|
10
|
+
* - The project root .gitignore only contains root-level managed outputs
|
|
10
11
|
*
|
|
11
12
|
* Gitignore is part of the artifact lifecycle (add/delete/import), not the
|
|
12
13
|
* render pipeline. Updates happen when artifacts are created or removed,
|
|
@@ -19,8 +20,9 @@
|
|
|
19
20
|
*/
|
|
20
21
|
import * as path from "node:path";
|
|
21
22
|
import * as os from "node:os";
|
|
22
|
-
import { fileExists, readFile, writeFile, listFiles,
|
|
23
|
+
import { fileExists, readFile, writeFile, listFiles, isDirectory, } from "./fs.js";
|
|
23
24
|
import { registry } from "../core/registry.js";
|
|
25
|
+
import { getBundledRoot } from "../core/discovery.js";
|
|
24
26
|
import { expandTemplate } from "../core/template.js";
|
|
25
27
|
const START_MARKER = "# <loadouts>";
|
|
26
28
|
const END_MARKER = "# </loadouts>";
|
|
@@ -30,7 +32,6 @@ const LEGACY_START_MARKER = "# <loadout>";
|
|
|
30
32
|
const LEGACY_END_MARKER = "# </loadout>";
|
|
31
33
|
// Paths always ignored within .loadouts/
|
|
32
34
|
const LOADOUTS_STATE_PATHS = [".fallback-applied", ".state.json"];
|
|
33
|
-
const MANAGED_ARTIFACT_KINDS = new Set(["rule", "skill"]);
|
|
34
35
|
// ---------------------------------------------------------------------------
|
|
35
36
|
// Core write function
|
|
36
37
|
// ---------------------------------------------------------------------------
|
|
@@ -50,12 +51,18 @@ function updateGitignoreFile(gitignorePath, managedPaths) {
|
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
52
53
|
const content = readFile(gitignorePath);
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
let startIdx = content.indexOf(START_MARKER);
|
|
55
|
+
let endIdx = content.indexOf(END_MARKER);
|
|
56
|
+
let markerLength = END_MARKER.length;
|
|
57
|
+
if (startIdx === -1 || endIdx === -1 || endIdx <= startIdx) {
|
|
58
|
+
startIdx = content.indexOf(LEGACY_START_MARKER);
|
|
59
|
+
endIdx = content.indexOf(LEGACY_END_MARKER);
|
|
60
|
+
markerLength = LEGACY_END_MARKER.length;
|
|
61
|
+
}
|
|
55
62
|
if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
|
|
56
63
|
// Replace existing section
|
|
57
64
|
const before = content.slice(0, startIdx).trimEnd();
|
|
58
|
-
const after = content.slice(endIdx +
|
|
65
|
+
const after = content.slice(endIdx + markerLength).trimStart();
|
|
59
66
|
const parts = [before];
|
|
60
67
|
if (managedSection)
|
|
61
68
|
parts.push(managedSection);
|
|
@@ -98,54 +105,57 @@ export function updateLoadoutsGitignore(loadoutsDir) {
|
|
|
98
105
|
// Path computation
|
|
99
106
|
// ---------------------------------------------------------------------------
|
|
100
107
|
/**
|
|
101
|
-
* Compute gitignore paths for an artifact, grouped by
|
|
108
|
+
* Compute gitignore paths for an artifact, grouped by gitignore directory.
|
|
102
109
|
*
|
|
103
|
-
* Returns a Map of
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* tool's base directory are automatically excluded.
|
|
110
|
+
* Returns a Map of gitignore base directory → relative paths within that
|
|
111
|
+
* directory. Outputs under a tool base use that tool base. Outputs outside the
|
|
112
|
+
* tool base (for example AGENTS.md or opencode.jsonc at project root) use the
|
|
113
|
+
* project/global root.
|
|
108
114
|
*/
|
|
109
115
|
export function computeArtifactGitignorePaths(kindId, artifactName, scope = "project") {
|
|
116
|
+
const kind = registry.getKind(kindId);
|
|
117
|
+
if (!kind)
|
|
118
|
+
return new Map();
|
|
119
|
+
const relativePath = synthesizeArtifactRelativePath(kindId, artifactName, kind.layout);
|
|
120
|
+
const sourcePath = path.join(os.tmpdir(), "loadouts-gitignore", relativePath);
|
|
121
|
+
return computeSourceArtifactGitignorePaths(kindId, relativePath, sourcePath, scope);
|
|
122
|
+
}
|
|
123
|
+
function computeSourceArtifactGitignorePaths(kindId, relativePath, sourcePath, scope) {
|
|
110
124
|
const kind = registry.getKind(kindId);
|
|
111
125
|
if (!kind)
|
|
112
126
|
return new Map();
|
|
113
127
|
const byTarget = new Map();
|
|
114
128
|
for (const tool of registry.allTools()) {
|
|
115
|
-
if (!tool.supports.includes(kindId))
|
|
116
|
-
continue;
|
|
117
129
|
const mapping = registry.resolveMapping(tool.name, kindId);
|
|
118
130
|
if (!mapping)
|
|
119
131
|
continue;
|
|
120
132
|
const targetBase = tool.basePath[scope];
|
|
121
|
-
const
|
|
133
|
+
const sourceExt = path.extname(sourcePath);
|
|
134
|
+
const ext = mapping.ext ?? sourceExt;
|
|
122
135
|
const vars = {
|
|
123
136
|
base: targetBase,
|
|
124
137
|
home: os.homedir(),
|
|
125
|
-
stem:
|
|
138
|
+
stem: path.basename(sourcePath, sourceExt),
|
|
126
139
|
ext,
|
|
127
|
-
name:
|
|
128
|
-
relative:
|
|
140
|
+
name: path.basename(sourcePath),
|
|
141
|
+
relative: relativePath,
|
|
129
142
|
kind: kindId,
|
|
130
143
|
};
|
|
131
144
|
const pathTemplate = typeof mapping.path === "string" ? mapping.path : mapping.path[scope];
|
|
132
145
|
try {
|
|
133
146
|
const expandedPath = expandTemplate(pathTemplate, scope, vars);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
// Skip if the path escapes the target directory (e.g., instruction
|
|
137
|
-
// artifacts that expand to CLAUDE.md or AGENTS.md at the project root)
|
|
138
|
-
if (relPath.startsWith(".."))
|
|
147
|
+
const target = getGitignoreTarget(expandedPath, targetBase, scope);
|
|
148
|
+
if (!target)
|
|
139
149
|
continue;
|
|
140
|
-
const existing = byTarget.get(
|
|
150
|
+
const existing = byTarget.get(target.base) ?? [];
|
|
141
151
|
if (kind.layout === "dir") {
|
|
142
152
|
// Dir-layout: use trailing slash so all files within are covered
|
|
143
|
-
existing.push(
|
|
153
|
+
existing.push(target.relativePath.endsWith("/") ? target.relativePath : target.relativePath + "/");
|
|
144
154
|
}
|
|
145
155
|
else {
|
|
146
|
-
existing.push(
|
|
156
|
+
existing.push(target.relativePath);
|
|
147
157
|
}
|
|
148
|
-
byTarget.set(
|
|
158
|
+
byTarget.set(target.base, existing);
|
|
149
159
|
}
|
|
150
160
|
catch {
|
|
151
161
|
// Skip if template expansion fails
|
|
@@ -159,7 +169,7 @@ export function computeArtifactGitignorePaths(kindId, artifactName, scope = "pro
|
|
|
159
169
|
/**
|
|
160
170
|
* Rebuild gitignore entries for all artifacts in the loadouts directory.
|
|
161
171
|
*
|
|
162
|
-
* Scans all
|
|
172
|
+
* Scans all artifacts and writes per-target .gitignore files so that
|
|
163
173
|
* every artifact is ignored regardless of whether it is currently activated.
|
|
164
174
|
* Called after artifact add/delete/import.
|
|
165
175
|
*
|
|
@@ -223,7 +233,7 @@ export function inspectGitignoreHealth(loadoutsDir, projectRoot, scope) {
|
|
|
223
233
|
const expectedStatePaths = normalizePaths(LOADOUTS_STATE_PATHS);
|
|
224
234
|
const actualStatePaths = normalizePaths(getManagedPathsFromTarget(loadoutsDir));
|
|
225
235
|
const loadoutsStateOutOfDate = !samePaths(expectedStatePaths, actualStatePaths);
|
|
226
|
-
const hasLegacyRootSection =
|
|
236
|
+
const hasLegacyRootSection = hasOldRootGitignoreSection(projectRoot);
|
|
227
237
|
const issues = targetMismatches.length +
|
|
228
238
|
(loadoutsStateOutOfDate ? 1 : 0) +
|
|
229
239
|
(hasLegacyRootSection ? 1 : 0);
|
|
@@ -298,28 +308,118 @@ function hasMarkerSection(content, startMarker, endMarker) {
|
|
|
298
308
|
const endIdx = content.indexOf(endMarker);
|
|
299
309
|
return startIdx !== -1 && endIdx !== -1 && endIdx > startIdx;
|
|
300
310
|
}
|
|
311
|
+
function hasOldRootGitignoreSection(projectRoot) {
|
|
312
|
+
const gitignorePath = path.join(projectRoot, ".gitignore");
|
|
313
|
+
if (!fileExists(gitignorePath))
|
|
314
|
+
return false;
|
|
315
|
+
const content = readFile(gitignorePath);
|
|
316
|
+
return hasMarkerSection(content, LEGACY_START_MARKER, LEGACY_END_MARKER);
|
|
317
|
+
}
|
|
301
318
|
function collectArtifactPathsByTarget(loadoutsDir, scope) {
|
|
302
|
-
const rulesDir = path.join(loadoutsDir, "rules");
|
|
303
|
-
const skillsDir = path.join(loadoutsDir, "skills");
|
|
304
319
|
const allByTarget = new Map();
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
mergeIntoMap(allByTarget, computeArtifactGitignorePaths("skill", name, scope));
|
|
320
|
+
const roots = [loadoutsDir, ...getSupplementalArtifactRoots(loadoutsDir, scope)];
|
|
321
|
+
for (const root of roots) {
|
|
322
|
+
for (const artifact of collectArtifacts(root)) {
|
|
323
|
+
mergeIntoMap(allByTarget, computeSourceArtifactGitignorePaths(artifact.kindId, artifact.relativePath, artifact.sourcePath, scope));
|
|
324
|
+
}
|
|
311
325
|
}
|
|
312
326
|
return allByTarget;
|
|
313
327
|
}
|
|
328
|
+
function getSupplementalArtifactRoots(loadoutsDir, scope) {
|
|
329
|
+
// Bundled artifacts should contribute to global ignore expectations when
|
|
330
|
+
// global loadouts are managed from ~/.config/loadouts.
|
|
331
|
+
if (scope !== "global")
|
|
332
|
+
return [];
|
|
333
|
+
if (!isGlobalLoadoutsDir(loadoutsDir))
|
|
334
|
+
return [];
|
|
335
|
+
const bundled = getBundledRoot();
|
|
336
|
+
if (!bundled)
|
|
337
|
+
return [];
|
|
338
|
+
return [bundled.path];
|
|
339
|
+
}
|
|
340
|
+
function isGlobalLoadoutsDir(loadoutsDir) {
|
|
341
|
+
const expected = path.resolve(os.homedir(), ".config", "loadouts");
|
|
342
|
+
return path.resolve(loadoutsDir) === expected;
|
|
343
|
+
}
|
|
314
344
|
function getManagedTargetBases(scope) {
|
|
315
|
-
const bases = new Set();
|
|
345
|
+
const bases = new Set([getRootGitignoreBase(scope)]);
|
|
316
346
|
for (const tool of registry.allTools()) {
|
|
317
|
-
if (!tool.supports.some((kind) => MANAGED_ARTIFACT_KINDS.has(kind)))
|
|
318
|
-
continue;
|
|
319
347
|
bases.add(tool.basePath[scope]);
|
|
320
348
|
}
|
|
321
349
|
return [...bases];
|
|
322
350
|
}
|
|
351
|
+
function collectArtifacts(loadoutsDir) {
|
|
352
|
+
const artifacts = [];
|
|
353
|
+
function walk(relativeDir) {
|
|
354
|
+
const absDir = path.join(loadoutsDir, relativeDir);
|
|
355
|
+
for (const entry of listFiles(absDir).sort()) {
|
|
356
|
+
const relativePath = relativeDir ? path.join(relativeDir, entry) : entry;
|
|
357
|
+
const sourcePath = path.join(loadoutsDir, relativePath);
|
|
358
|
+
if (isDirectory(sourcePath)) {
|
|
359
|
+
const kindId = registry.inferKind(relativePath);
|
|
360
|
+
const kind = kindId ? registry.getKind(kindId) : undefined;
|
|
361
|
+
if (kindId && kind?.layout === "dir") {
|
|
362
|
+
artifacts.push({ kindId, relativePath, sourcePath });
|
|
363
|
+
continue;
|
|
364
|
+
}
|
|
365
|
+
walk(relativePath);
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
368
|
+
const kindId = registry.inferKind(relativePath);
|
|
369
|
+
const kind = kindId ? registry.getKind(kindId) : undefined;
|
|
370
|
+
if (kindId && kind?.layout === "file") {
|
|
371
|
+
artifacts.push({ kindId, relativePath, sourcePath });
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
walk("");
|
|
376
|
+
return artifacts;
|
|
377
|
+
}
|
|
378
|
+
function synthesizeArtifactRelativePath(kindId, artifactName, layout) {
|
|
379
|
+
if (kindId === "rule")
|
|
380
|
+
return `rules/${artifactName}.md`;
|
|
381
|
+
if (kindId === "skill")
|
|
382
|
+
return `skills/${artifactName}`;
|
|
383
|
+
if (kindId === "instruction")
|
|
384
|
+
return `instructions/${artifactName}.md`;
|
|
385
|
+
if (kindId === "prompt")
|
|
386
|
+
return `prompts/${artifactName}.md`;
|
|
387
|
+
if (kindId === "extension")
|
|
388
|
+
return `extensions/${withDefaultExtension(artifactName, ".ts")}`;
|
|
389
|
+
if (kindId === "theme")
|
|
390
|
+
return `themes/${withDefaultExtension(artifactName, ".json")}`;
|
|
391
|
+
if (kindId === "opencode-config")
|
|
392
|
+
return `opencode/${withDefaultExtension(artifactName, ".jsonc")}`;
|
|
393
|
+
if (kindId === "opencode-plugin")
|
|
394
|
+
return `opencode/plugins/${withDefaultExtension(artifactName, ".ts")}`;
|
|
395
|
+
return layout === "dir" ? `${kindId}s/${artifactName}` : `${kindId}s/${artifactName}.md`;
|
|
396
|
+
}
|
|
397
|
+
function withDefaultExtension(name, ext) {
|
|
398
|
+
return path.extname(name) ? name : `${name}${ext}`;
|
|
399
|
+
}
|
|
400
|
+
function getGitignoreTarget(targetPath, toolBase, scope) {
|
|
401
|
+
const normalizedTarget = path.normalize(targetPath);
|
|
402
|
+
const normalizedBase = path.normalize(toolBase);
|
|
403
|
+
const relativeToToolBase = path.relative(normalizedBase, normalizedTarget);
|
|
404
|
+
if (relativeToToolBase &&
|
|
405
|
+
!relativeToToolBase.startsWith("..") &&
|
|
406
|
+
!path.isAbsolute(relativeToToolBase)) {
|
|
407
|
+
return { base: toolBase, relativePath: relativeToToolBase };
|
|
408
|
+
}
|
|
409
|
+
if (!path.isAbsolute(normalizedTarget)) {
|
|
410
|
+
return {
|
|
411
|
+
base: getRootGitignoreBase(scope),
|
|
412
|
+
relativePath: normalizedTarget,
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
return {
|
|
416
|
+
base: path.dirname(normalizedTarget),
|
|
417
|
+
relativePath: path.basename(normalizedTarget),
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
function getRootGitignoreBase(scope) {
|
|
421
|
+
return scope === "project" ? "." : os.homedir();
|
|
422
|
+
}
|
|
323
423
|
function normalizePaths(paths) {
|
|
324
424
|
return [...new Set(paths)].sort();
|
|
325
425
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAGxE,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,cAAc,GAAG,yDAAyD,CAAC;AAEjF,4CAA4C;AAC5C,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAC1C,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEzC,yCAAyC;AACzC,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAElE,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,mBAAmB,CAAC,aAAqB,EAAE,YAAsB;IACxE,uBAAuB;IACvB,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtD,MAAM,cAAc,GAClB,WAAW,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,GAAG,YAAY,KAAK,cAAc,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE;QAChF,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,IAAI,cAAc,EAAE,CAAC;YACnB,SAAS,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3D,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChD,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC5C,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1D,2BAA2B;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAE/D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,cAAc;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,UAAU,IAAI,IAAI,CAAC;QAEnD,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,+BAA+B;QAC/B,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,UAAU,IAAI,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;QAC7C,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,aAAuB;IAEvB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAClF,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAc,EACd,YAAoB,EACpB,QAAe,SAAS;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE5B,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;IAC9E,OAAO,mCAAmC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,mCAAmC,CAC1C,MAAc,EACd,YAAoB,EACpB,UAAkB,EAClB,KAAY;IAEZ,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC;QAErC,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;YAC1C,GAAG;YACH,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC1B,iEAAiE;gBACjE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,WAAmB,EACnB,KAAY;IAEZ,MAAM,WAAW,GAAG,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAErE,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;QACrC,GAAG,qBAAqB,CAAC,KAAK,CAAC;QAC/B,GAAG,WAAW,CAAC,IAAI,EAAE;KACtB,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACvC,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAAmB;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,CACL,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC;QACnD,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAClE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,WAAmB,EACnB,KAAY;IAEZ,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;QAClC,GAAG,qBAAqB,CAAC,KAAK,CAAC;QAC/B,GAAG,gBAAgB,CAAC,IAAI,EAAE;KAC3B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAA8B,EAAE,CAAC;IACvD,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,cAAc,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3C,gBAAgB,CAAC,IAAI,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,aAAa;gBACb,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,cAAc,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;IAChF,MAAM,sBAAsB,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAEhF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAErE,MAAM,MAAM,GACV,gBAAgB,CAAC,MAAM;QACvB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO;QACL,oBAAoB;QACpB,sBAAsB;QACtB,gBAAgB;QAChB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,uBAAuB,CAAC,aAAqB;IACpD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEtE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO;IAEvC,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEtC,0CAA0C;IAC1C,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACjE,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAE/E,8BAA8B;IAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACvD,IAAI,OAAO;QAAE,OAAO,IAAI,IAAI,CAAC;IAE7B,SAAS,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,mBAAmB,CAC1B,OAAe,EACf,WAAmB,EACnB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAEnE,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACpD,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,WAAmB,EACnB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,CAAC;AAC/D,CAAC;AAED,SAAS,0BAA0B,CAAC,WAAmB;IACrD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,4BAA4B,CACnC,WAAmB,EACnB,KAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEhD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,GAAG,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,YAAY,CACV,WAAW,EACX,mCAAmC,CACjC,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,UAAU,EACnB,KAAK,CACN,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,4BAA4B,CAAC,WAAmB,EAAE,KAAY;IACrE,yEAAyE;IACzE,uDAAuD;IACvD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAQD,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,SAAS,GAAkB,EAAE,CAAC;IAEpC,SAAS,IAAI,CAAC,WAAmB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAExD,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3D,IAAI,MAAM,IAAI,IAAI,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,IAAI,MAAM,IAAI,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAc,EACd,YAAoB,EACpB,MAAsB;IAEtB,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,YAAY,KAAK,CAAC;IACzD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,UAAU,YAAY,EAAE,CAAC;IACxD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,gBAAgB,YAAY,KAAK,CAAC;IACvE,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,WAAW,YAAY,KAAK,CAAC;IAC7D,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,cAAc,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7F,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,UAAU,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;IACvF,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO,YAAY,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;IACpG,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO,oBAAoB,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IACzG,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,YAAY,KAAK,CAAC;AAC3F,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,GAAW;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AACrD,CAAC;AAOD,SAAS,kBAAkB,CACzB,UAAkB,EAClB,QAAgB,EAChB,KAAY;IAEZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAE3E,IACE,kBAAkB;QAClB,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC;QACpC,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACpC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;YACjC,YAAY,EAAE,gBAAgB;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACpC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAY;IACxC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,CAAW,EAAE,CAAW;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,MAA6B,EAC7B,MAA6B;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
package/docs/authoring.md
CHANGED
|
@@ -142,6 +142,46 @@ include:
|
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
145
|
+
## OpenCode Config And Plugins
|
|
146
|
+
|
|
147
|
+
OpenCode-specific artifacts live under `.loadouts/opencode/` and only render when included in a loadout that targets `opencode`.
|
|
148
|
+
|
|
149
|
+
**Whole-file config:**
|
|
150
|
+
```jsonc
|
|
151
|
+
// .loadouts/opencode/opencode.jsonc
|
|
152
|
+
{
|
|
153
|
+
"$schema": "https://opencode.ai/config.json",
|
|
154
|
+
"plugin": ["opencode-wakatime"]
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Project scope renders this to `opencode.jsonc`. Global scope renders it to `~/.config/opencode/opencode.jsonc`. This is whole-file ownership; if you do not include this artifact, loadouts does not touch your OpenCode config file.
|
|
159
|
+
|
|
160
|
+
**Local plugins:**
|
|
161
|
+
```ts
|
|
162
|
+
// .loadouts/opencode/plugins/notify.ts
|
|
163
|
+
import type { Plugin } from "@opencode-ai/plugin";
|
|
164
|
+
|
|
165
|
+
export const Notify: Plugin = async ({ $ }) => ({
|
|
166
|
+
"session.idle": async () => {
|
|
167
|
+
await $`osascript -e 'display notification "Session completed" with title "opencode"`;
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Project scope renders this to `.opencode/plugins/notify.ts`. Global scope renders it to `~/.config/opencode/plugins/notify.ts`.
|
|
173
|
+
|
|
174
|
+
**Include in a loadout:**
|
|
175
|
+
```yaml
|
|
176
|
+
include:
|
|
177
|
+
- opencode/opencode.jsonc
|
|
178
|
+
- opencode/plugins/notify.ts
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
NPM plugins belong in the managed `opencode.json(c)` `plugin` array. Local plugin source files belong in `.loadouts/opencode/plugins/`.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
145
185
|
## Custom Kinds
|
|
146
186
|
|
|
147
187
|
Define custom artifact types in `.loadouts/kinds/*.yaml`:
|
package/docs/concepts.md
CHANGED
|
@@ -78,16 +78,18 @@ include:
|
|
|
78
78
|
| `prompt` | file | Slash command templates |
|
|
79
79
|
| `extension` | directory | Runtime code extensions |
|
|
80
80
|
| `theme` | file | UI theme configuration |
|
|
81
|
+
| `opencode-config` | file | Whole-file OpenCode runtime configuration |
|
|
82
|
+
| `opencode-plugin` | file | Local OpenCode plugin modules |
|
|
81
83
|
|
|
82
84
|
## Supported Tools
|
|
83
85
|
|
|
84
|
-
| Tool | Rules | Skills | Instructions |
|
|
85
|
-
|
|
86
|
-
| Claude Code | `.claude/rules/*.md` | `.claude/skills/` | `CLAUDE.md` |
|
|
87
|
-
| Cursor | `.cursor/rules/*.mdc` | `.cursor/skills/` | `AGENTS.md` |
|
|
88
|
-
| OpenCode | `.opencode/rules/*.md` | `.opencode/skills/` | `AGENTS.md` |
|
|
89
|
-
| Codex | — | `.agents/skills/` | `AGENTS.md` |
|
|
90
|
-
| Pi | `.pi/rules/*.md` | `.pi/skills/` | `AGENTS.md` |
|
|
86
|
+
| Tool | Rules | Skills | Instructions | Extra Artifacts |
|
|
87
|
+
|------|-------|--------|--------------|-----------------|
|
|
88
|
+
| Claude Code | `.claude/rules/*.md` | `.claude/skills/` | `CLAUDE.md` | — |
|
|
89
|
+
| Cursor | `.cursor/rules/*.mdc` | `.cursor/skills/` | `AGENTS.md` | — |
|
|
90
|
+
| OpenCode | `.opencode/rules/*.md` | `.opencode/skills/` | `AGENTS.md` | `opencode.json(c)`, `.opencode/plugins/` |
|
|
91
|
+
| Codex | — | `.agents/skills/` | `AGENTS.md` | — |
|
|
92
|
+
| Pi | `.pi/rules/*.md` | `.pi/skills/` | `AGENTS.md` | `.pi/extensions/`, `.pi/themes/` |
|
|
91
93
|
|
|
92
94
|
## Sources (Cross-Project Config)
|
|
93
95
|
|
package/docs/troubleshooting.md
CHANGED
|
@@ -51,10 +51,7 @@ loadouts sync # Re-render if needed
|
|
|
51
51
|
|
|
52
52
|
**Cursor:** Rules need `.mdc` extension — loadouts handles this automatically. Restart Cursor if rules don't appear immediately.
|
|
53
53
|
|
|
54
|
-
**OpenCode:** Rules
|
|
55
|
-
```json
|
|
56
|
-
{ "plugins": ["opencode-rules"] }
|
|
57
|
-
```
|
|
54
|
+
**OpenCode:** Rules render to `.opencode/rules/`. Local plugins render to `.opencode/plugins/`, and NPM plugins are configured with the `plugin` array in `opencode.json(c)`.
|
|
58
55
|
|
|
59
56
|
**Claude Code:** Verify rules exist in `.claude/rules/`. May require restarting the session.
|
|
60
57
|
|