dryai 0.3.1 → 1.0.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 +7 -4
- package/dest/lib/context.d.ts +1 -1
- package/dest/lib/context.js +1 -1
- package/dest/lib/skills.d.ts +12 -12
- package/dest/main.js +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Share AI config CLI
|
|
2
2
|
|
|
3
|
-
Installs command, rule, and skill sources from `~/.config/
|
|
3
|
+
Installs command, rule, and skill sources from `~/.config/dryai` by default into Copilot and Cursor targets.
|
|
4
4
|
|
|
5
5
|
Pass `--input <path>` to read configs from a different root such as `./config`.
|
|
6
6
|
|
|
@@ -29,7 +29,7 @@ Live output is written to:
|
|
|
29
29
|
One input root can contain all three source types:
|
|
30
30
|
|
|
31
31
|
```text
|
|
32
|
-
~/.config/
|
|
32
|
+
~/.config/dryai/
|
|
33
33
|
├── commands/
|
|
34
34
|
│ └── gen-commit-msg.md
|
|
35
35
|
├── rules/
|
|
@@ -182,14 +182,17 @@ pnpm dev:dryai --input ./config install
|
|
|
182
182
|
- Run CI validation with build, test, and `npm pack --dry-run`.
|
|
183
183
|
- On changes landing on `main`
|
|
184
184
|
- Run the same CI validation with build, test, and `npm pack --dry-run`.
|
|
185
|
-
|
|
185
|
+
|
|
186
|
+
- On `v*` tag pushed to `main`, the release workflow will:
|
|
186
187
|
- Verify the tag matches the checked-in `package.json` version.
|
|
187
188
|
- Verify the tagged commit is on `main`.
|
|
188
189
|
- Build and test the CLI.
|
|
189
190
|
- Create a tarball with `npm pack`.
|
|
190
|
-
- Publish the package to npm using npm trusted publishing.
|
|
191
191
|
- Create or update the matching GitHub Release.
|
|
192
192
|
- Upload the tarball as a release asset.
|
|
193
|
+
- After the release workflow succeeds, the publish workflow will:
|
|
194
|
+
- Download the tarball artifact produced by the release workflow.
|
|
195
|
+
- Publish that exact tarball to npm using npm trusted publishing.
|
|
193
196
|
|
|
194
197
|
Example release flow:
|
|
195
198
|
|
package/dest/lib/context.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type AgentsContext = {
|
|
|
17
17
|
sourceRoots: SourceRoots;
|
|
18
18
|
targetRoots: TargetRoots;
|
|
19
19
|
};
|
|
20
|
-
export declare const DEFAULT_INPUT_ROOT_SEGMENTS: readonly [".config", "
|
|
20
|
+
export declare const DEFAULT_INPUT_ROOT_SEGMENTS: readonly [".config", "dryai"];
|
|
21
21
|
export declare const DEFAULT_TEST_OUTPUT_DIR_NAME = "output-test";
|
|
22
22
|
export declare const DEFAULT_SOURCE_ROOT_NAMES: {
|
|
23
23
|
readonly commands: "commands";
|
package/dest/lib/context.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
export const DEFAULT_INPUT_ROOT_SEGMENTS = ['.config', '
|
|
3
|
+
export const DEFAULT_INPUT_ROOT_SEGMENTS = ['.config', 'dryai'];
|
|
4
4
|
export const DEFAULT_TEST_OUTPUT_DIR_NAME = 'output-test';
|
|
5
5
|
export const DEFAULT_SOURCE_ROOT_NAMES = {
|
|
6
6
|
commands: 'commands',
|
package/dest/lib/skills.d.ts
CHANGED
|
@@ -10,16 +10,16 @@ declare const skillLockEntrySchema: z.ZodObject<{
|
|
|
10
10
|
updatedAt: z.ZodString;
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
12
|
name: string;
|
|
13
|
-
repo: string;
|
|
14
13
|
path: string;
|
|
14
|
+
repo: string;
|
|
15
15
|
commit: string;
|
|
16
16
|
importedAt: string;
|
|
17
17
|
updatedAt: string;
|
|
18
18
|
ref?: string | undefined;
|
|
19
19
|
}, {
|
|
20
20
|
name: string;
|
|
21
|
-
repo: string;
|
|
22
21
|
path: string;
|
|
22
|
+
repo: string;
|
|
23
23
|
commit: string;
|
|
24
24
|
importedAt: string;
|
|
25
25
|
updatedAt: string;
|
|
@@ -37,65 +37,65 @@ declare const skillsLockfileSchema: z.ZodEffects<z.ZodObject<{
|
|
|
37
37
|
updatedAt: z.ZodString;
|
|
38
38
|
}, "strip", z.ZodTypeAny, {
|
|
39
39
|
name: string;
|
|
40
|
-
repo: string;
|
|
41
40
|
path: string;
|
|
41
|
+
repo: string;
|
|
42
42
|
commit: string;
|
|
43
43
|
importedAt: string;
|
|
44
44
|
updatedAt: string;
|
|
45
45
|
ref?: string | undefined;
|
|
46
46
|
}, {
|
|
47
47
|
name: string;
|
|
48
|
-
repo: string;
|
|
49
48
|
path: string;
|
|
49
|
+
repo: string;
|
|
50
50
|
commit: string;
|
|
51
51
|
importedAt: string;
|
|
52
52
|
updatedAt: string;
|
|
53
53
|
ref?: string | undefined;
|
|
54
54
|
}>, "many">;
|
|
55
55
|
}, "strip", z.ZodTypeAny, {
|
|
56
|
-
version: 1;
|
|
57
56
|
skills: {
|
|
58
57
|
name: string;
|
|
59
|
-
repo: string;
|
|
60
58
|
path: string;
|
|
59
|
+
repo: string;
|
|
61
60
|
commit: string;
|
|
62
61
|
importedAt: string;
|
|
63
62
|
updatedAt: string;
|
|
64
63
|
ref?: string | undefined;
|
|
65
64
|
}[];
|
|
66
|
-
}, {
|
|
67
65
|
version: 1;
|
|
66
|
+
}, {
|
|
68
67
|
skills: {
|
|
69
68
|
name: string;
|
|
70
|
-
repo: string;
|
|
71
69
|
path: string;
|
|
70
|
+
repo: string;
|
|
72
71
|
commit: string;
|
|
73
72
|
importedAt: string;
|
|
74
73
|
updatedAt: string;
|
|
75
74
|
ref?: string | undefined;
|
|
76
75
|
}[];
|
|
77
|
-
}>, {
|
|
78
76
|
version: 1;
|
|
77
|
+
}>, {
|
|
79
78
|
skills: {
|
|
80
79
|
name: string;
|
|
81
|
-
repo: string;
|
|
82
80
|
path: string;
|
|
81
|
+
repo: string;
|
|
83
82
|
commit: string;
|
|
84
83
|
importedAt: string;
|
|
85
84
|
updatedAt: string;
|
|
86
85
|
ref?: string | undefined;
|
|
87
86
|
}[];
|
|
88
|
-
}, {
|
|
89
87
|
version: 1;
|
|
88
|
+
}, {
|
|
90
89
|
skills: {
|
|
91
90
|
name: string;
|
|
92
|
-
repo: string;
|
|
93
91
|
path: string;
|
|
92
|
+
repo: string;
|
|
94
93
|
commit: string;
|
|
95
94
|
importedAt: string;
|
|
96
95
|
updatedAt: string;
|
|
97
96
|
ref?: string | undefined;
|
|
98
97
|
}[];
|
|
98
|
+
version: 1;
|
|
99
99
|
}>;
|
|
100
100
|
export type ManagedSkill = z.infer<typeof skillLockEntrySchema>;
|
|
101
101
|
export type SkillsLockfile = z.infer<typeof skillsLockfileSchema>;
|
package/dest/main.js
CHANGED
|
@@ -13,6 +13,7 @@ const rootOptionsSchema = z.object({
|
|
|
13
13
|
input: nonEmptyOptionStringSchema.optional(),
|
|
14
14
|
output: nonEmptyOptionStringSchema.optional(),
|
|
15
15
|
});
|
|
16
|
+
const EXECUTABLE_NAME = 'dryai';
|
|
16
17
|
/**
|
|
17
18
|
* Reads the CLI version from the package manifest at the repository root.
|
|
18
19
|
*/
|
|
@@ -56,16 +57,15 @@ function resolveActiveContext(program) {
|
|
|
56
57
|
* Configures and runs the agents CLI entrypoint.
|
|
57
58
|
*/
|
|
58
59
|
async function main() {
|
|
59
|
-
const executableName = 'dryai';
|
|
60
60
|
const program = new Command();
|
|
61
61
|
const cliVersion = await readCliVersion();
|
|
62
62
|
program
|
|
63
|
-
.name(
|
|
63
|
+
.name(EXECUTABLE_NAME)
|
|
64
64
|
.usage('[options] <command> [args]')
|
|
65
65
|
.helpOption('-h, --help', 'Display this message')
|
|
66
66
|
.version(cliVersion, '-v, --version', 'Display the current version')
|
|
67
67
|
.option('--test', 'Shortcut for writing generated output into ./output-test unless --output is also provided')
|
|
68
|
-
.option('--input <path>', 'Read input configs from a different root instead of ~/.config/
|
|
68
|
+
.option('--input <path>', 'Read input configs from a different root instead of ~/.config/dryai', parseOptionValue({
|
|
69
69
|
schema: nonEmptyOptionStringSchema,
|
|
70
70
|
optionLabel: '--input',
|
|
71
71
|
}))
|
|
@@ -90,7 +90,7 @@ async function main() {
|
|
|
90
90
|
});
|
|
91
91
|
addSkillsCommand({
|
|
92
92
|
parent: program,
|
|
93
|
-
commandName: `${
|
|
93
|
+
commandName: `${EXECUTABLE_NAME} skills`,
|
|
94
94
|
resolveContext: () => resolveActiveContext(program),
|
|
95
95
|
});
|
|
96
96
|
await program.parseAsync(process.argv);
|