@sanity-labs/oclif-plugin-skills-flag 0.2.0 → 0.3.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.md +32 -21
- package/dist/hooks/init.d.ts.map +1 -1
- package/dist/hooks/init.js +4 -1
- package/dist/hooks/init.js.map +1 -1
- package/dist/skills.d.ts +4 -0
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +21 -1
- package/dist/skills.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -43,28 +43,38 @@ Include `skills` in the CLI's npm `files` list if it has one.
|
|
|
43
43
|
## Configuration
|
|
44
44
|
|
|
45
45
|
Add `oclif-plugin-skills-flag` at the top level of the CLI's `package.json` to change the runtime
|
|
46
|
-
|
|
46
|
+
behavior:
|
|
47
47
|
|
|
48
48
|
```json
|
|
49
49
|
{
|
|
50
50
|
"oclif-plugin-skills-flag": {
|
|
51
51
|
"flag": "agents",
|
|
52
52
|
"aliases": ["agent-help"],
|
|
53
|
-
"directory": "docs/agents"
|
|
53
|
+
"directory": "docs/agents",
|
|
54
|
+
"fallThroughOnMissingSkill": false,
|
|
55
|
+
"missingSkillMessage": "No agent instructions are available."
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
```
|
|
57
59
|
|
|
58
|
-
| Option
|
|
59
|
-
|
|
|
60
|
-
| `flag`
|
|
61
|
-
| `aliases`
|
|
62
|
-
| `directory`
|
|
60
|
+
| Option | Type | Default | Description |
|
|
61
|
+
| --------------------------- | -------- | ---------------------------------------------------- | ------------------------------------------------------------ |
|
|
62
|
+
| `flag` | string | `"llms"` | Main flag name, without leading dashes |
|
|
63
|
+
| `aliases` | string[] | `["skill"]` | Additional names; one-character aliases use a single dash |
|
|
64
|
+
| `directory` | string | `"skills"` | Skills directory relative to the CLI package root |
|
|
65
|
+
| `fallThroughOnMissingSkill` | boolean | `false` | Let oclif continue processing when the skill file is missing |
|
|
66
|
+
| `missingSkillMessage` | string | Command-specific message with the expected file path | Error shown when the skill file is missing |
|
|
63
67
|
|
|
64
68
|
Configuration belongs to the CLI package that owns the command. If one oclif CLI is installed as a
|
|
65
69
|
plugin in another, each CLI can use different flag names and directories for its own commands.
|
|
66
70
|
Include the configured directory in the CLI's npm `files` list if it has one.
|
|
67
71
|
|
|
72
|
+
When `fallThroughOnMissingSkill` is `true`, it takes precedence over `missingSkillMessage`. The hook
|
|
73
|
+
returns without printing an error, and oclif continues its normal command lifecycle. A strict
|
|
74
|
+
command that calls `this.parse()` reports an undeclared skills flag as nonexistent and prints error
|
|
75
|
+
help. A command can instead declare the flag or use non-strict parsing to handle it. Consumers that
|
|
76
|
+
enable fallthrough are responsible for handling or rejecting the flag.
|
|
77
|
+
|
|
68
78
|
## Show the flag in help
|
|
69
79
|
|
|
70
80
|
An oclif plugin cannot add flags to the host commands' generated help. The hook still recognizes
|
|
@@ -73,14 +83,14 @@ To advertise the default `--llms` flag, add the exported definition to the CLI's
|
|
|
73
83
|
command and set `hidden` to `false`:
|
|
74
84
|
|
|
75
85
|
```ts
|
|
76
|
-
import {Command, Flags} from
|
|
77
|
-
import {llmsFlagConfig} from
|
|
86
|
+
import { Command, Flags } from "@oclif/core";
|
|
87
|
+
import { llmsFlagConfig } from "@sanity-labs/oclif-plugin-skills-flag";
|
|
78
88
|
|
|
79
89
|
export abstract class BaseCommand extends Command {
|
|
80
90
|
static baseFlags = {
|
|
81
91
|
...super.baseFlags,
|
|
82
|
-
llms: Flags.boolean({...llmsFlagConfig, hidden: false}),
|
|
83
|
-
}
|
|
92
|
+
llms: Flags.boolean({ ...llmsFlagConfig, hidden: false }),
|
|
93
|
+
};
|
|
84
94
|
}
|
|
85
95
|
```
|
|
86
96
|
|
|
@@ -89,25 +99,25 @@ The plugin handles the flag, so command implementations do not need to read `fla
|
|
|
89
99
|
For custom names, create a matching definition:
|
|
90
100
|
|
|
91
101
|
```ts
|
|
92
|
-
import {Command, Flags} from
|
|
93
|
-
import {createSkillsFlagDefinition} from
|
|
102
|
+
import { Command, Flags } from "@oclif/core";
|
|
103
|
+
import { createSkillsFlagDefinition } from "@sanity-labs/oclif-plugin-skills-flag";
|
|
94
104
|
|
|
95
105
|
const skillsFlag = createSkillsFlagDefinition(
|
|
96
106
|
{
|
|
97
|
-
flag:
|
|
98
|
-
aliases: [
|
|
107
|
+
flag: "agents",
|
|
108
|
+
aliases: ["agent-help"],
|
|
99
109
|
},
|
|
100
110
|
{
|
|
101
|
-
description:
|
|
111
|
+
description: "Show instructions for coding agents",
|
|
102
112
|
hidden: false,
|
|
103
113
|
},
|
|
104
|
-
)
|
|
114
|
+
);
|
|
105
115
|
|
|
106
116
|
export abstract class BaseCommand extends Command {
|
|
107
117
|
static baseFlags = {
|
|
108
118
|
...super.baseFlags,
|
|
109
119
|
[skillsFlag.name]: Flags.boolean(skillsFlag.definition),
|
|
110
|
-
}
|
|
120
|
+
};
|
|
111
121
|
}
|
|
112
122
|
```
|
|
113
123
|
|
|
@@ -117,9 +127,10 @@ plugin behavior.
|
|
|
117
127
|
|
|
118
128
|
## Limitations
|
|
119
129
|
|
|
120
|
-
- The plugin targets oclif
|
|
121
|
-
-
|
|
122
|
-
-
|
|
130
|
+
- The plugin targets oclif v5.
|
|
131
|
+
- When a matching skill exists, configured flag names take precedence over same-named host flags.
|
|
132
|
+
- When a matching skill exists, the init hook writes it and exits immediately. Later oclif
|
|
133
|
+
lifecycle hooks do not run.
|
|
123
134
|
|
|
124
135
|
## Development
|
|
125
136
|
|
package/dist/hooks/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAML,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAA;AAIrB,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAWD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,iBAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAML,KAAK,gBAAgB,EAEtB,MAAM,cAAc,CAAA;AAIrB,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IACzC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAWD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,iBAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,IA6ChB,CAAA;eAEc,IAAI"}
|
package/dist/hooks/init.js
CHANGED
|
@@ -19,8 +19,11 @@ export async function handleSkillsFlag(options, runtime = processRuntime) {
|
|
|
19
19
|
const filename = commandSkillFilename(skillCommandId);
|
|
20
20
|
const skill = await readCommandSkill(skillCommandId, options.root, options.config.directory);
|
|
21
21
|
if (skill === undefined) {
|
|
22
|
+
if (options.config.fallThroughOnMissingSkill)
|
|
23
|
+
return;
|
|
22
24
|
const commandName = skillCommandId.replaceAll(":", " ") || options.bin;
|
|
23
|
-
options.error(
|
|
25
|
+
options.error(options.config.missingSkillMessage ??
|
|
26
|
+
`No agent guidance is available for \`${commandName}\`.\nAdd it at ${join(options.config.directory, filename)}.`);
|
|
24
27
|
return;
|
|
25
28
|
}
|
|
26
29
|
runtime.write(ensureFinalNewline(skill));
|
package/dist/hooks/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EAEvB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,MAAM,uBAAuB,GAAG,uCAAuC,CAAA;AAkBvE,MAAM,cAAc,GAAsB;IACxC,IAAI,CAAC,IAAI;QACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,KAAK,CAAC,MAAM;QACV,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,OAAO,GAAsB,cAAc;IAE3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;QAAE,OAAM;IACxD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAM;IAE3E,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAA;IAC1E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,cAAc,EACd,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,CAAC,SAAS,CACzB,CAAA;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAA;QACtE,OAAO,CAAC,KAAK,CACX,wCAAwC,WAAW,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -2,12 +2,16 @@ export declare const skillsFlagConfigKey = "oclif-plugin-skills-flag";
|
|
|
2
2
|
export interface SkillsFlagConfig {
|
|
3
3
|
aliases: string[];
|
|
4
4
|
directory: string;
|
|
5
|
+
fallThroughOnMissingSkill: boolean;
|
|
5
6
|
flag: string;
|
|
7
|
+
missingSkillMessage?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface SkillsFlagConfigInput {
|
|
8
10
|
aliases?: readonly string[];
|
|
9
11
|
directory?: string;
|
|
12
|
+
fallThroughOnMissingSkill?: boolean;
|
|
10
13
|
flag?: string;
|
|
14
|
+
missingSkillMessage?: string;
|
|
11
15
|
}
|
|
12
16
|
export interface SkillsFlagDefinition {
|
|
13
17
|
definition: {
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,yBAAyB,EAAE,OAAO,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAkCD,wBAAgB,uBAAuB,CACrC,KAAK,GAAE,OAAmB,GACzB,gBAAgB,CAyDlB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,qBAA0B,EAClC,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CAoBtB;AAED,eAAO,MAAM,cAAc;aAlId,MAAM,EAAE;iBACJ,MAAM;YACX,OAAO;CAgIkD,CAAA;AAErE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,GAAE,IAAI,CACV,gBAAgB,EAChB,SAAS,GAAG,MAAM,CACU,GAC7B,OAAO,CAcT;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,SAAuC,GAC/C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B"}
|
package/dist/skills.js
CHANGED
|
@@ -4,9 +4,16 @@ const DEFAULT_DESCRIPTION = "Show agent-oriented guidance for this command";
|
|
|
4
4
|
const DEFAULT_SKILLS_FLAG_CONFIG = {
|
|
5
5
|
aliases: ["skill"],
|
|
6
6
|
directory: "skills",
|
|
7
|
+
fallThroughOnMissingSkill: false,
|
|
7
8
|
flag: "llms",
|
|
8
9
|
};
|
|
9
|
-
const SKILLS_FLAG_CONFIG_OPTIONS = new Set([
|
|
10
|
+
const SKILLS_FLAG_CONFIG_OPTIONS = new Set([
|
|
11
|
+
"aliases",
|
|
12
|
+
"directory",
|
|
13
|
+
"fallThroughOnMissingSkill",
|
|
14
|
+
"flag",
|
|
15
|
+
"missingSkillMessage",
|
|
16
|
+
]);
|
|
10
17
|
export const skillsFlagConfigKey = "oclif-plugin-skills-flag";
|
|
11
18
|
function validateFlagName(value, kind) {
|
|
12
19
|
if (typeof value !== "string" ||
|
|
@@ -51,10 +58,23 @@ export function resolveSkillsFlagConfig(input = undefined) {
|
|
|
51
58
|
if (new Set(names).size !== names.length) {
|
|
52
59
|
throw new TypeError("Duplicate flag name in flag or aliases");
|
|
53
60
|
}
|
|
61
|
+
const missingSkillMessage = options.missingSkillMessage;
|
|
62
|
+
if (missingSkillMessage !== undefined &&
|
|
63
|
+
(typeof missingSkillMessage !== "string" ||
|
|
64
|
+
missingSkillMessage.length === 0)) {
|
|
65
|
+
throw new TypeError("Missing skill message must be a non-empty string");
|
|
66
|
+
}
|
|
67
|
+
const fallThroughOnMissingSkill = options.fallThroughOnMissingSkill ??
|
|
68
|
+
DEFAULT_SKILLS_FLAG_CONFIG.fallThroughOnMissingSkill;
|
|
69
|
+
if (typeof fallThroughOnMissingSkill !== "boolean") {
|
|
70
|
+
throw new TypeError("Fall through on missing skill must be a boolean");
|
|
71
|
+
}
|
|
54
72
|
return {
|
|
55
73
|
aliases,
|
|
56
74
|
directory: validateSkillsDirectory(options.directory ?? DEFAULT_SKILLS_FLAG_CONFIG.directory),
|
|
75
|
+
fallThroughOnMissingSkill,
|
|
57
76
|
flag,
|
|
77
|
+
...(missingSkillMessage === undefined ? {} : { missingSkillMessage }),
|
|
58
78
|
};
|
|
59
79
|
}
|
|
60
80
|
export function createSkillsFlagDefinition(config = {}, options = {}) {
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,mBAAmB,GAAG,+CAA+C,CAAA;AAC3E,MAAM,0BAA0B,GAAqB;IACnD,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,MAAM;CACb,CAAA;AACD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity-labs/oclif-plugin-skills-flag",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Expose per-command Markdown to coding agents through an oclif flag",
|
|
5
5
|
"author": "Sanity",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"node": ">=22"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@oclif/core": "^
|
|
33
|
+
"@oclif/core": "^5.0.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@biomejs/biome": "2.5.
|
|
37
|
-
"@oclif/core": "^
|
|
38
|
-
"@types/node": "^22.
|
|
36
|
+
"@biomejs/biome": "2.5.14",
|
|
37
|
+
"@oclif/core": "^5.0.0",
|
|
38
|
+
"@types/node": "^22.20.3",
|
|
39
39
|
"typescript": "^7.0.2"
|
|
40
40
|
},
|
|
41
41
|
"oclif": {
|