asdm-cli 0.4.0 → 0.4.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 asdm contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/index.mjs CHANGED
@@ -452,10 +452,26 @@ function formatAgentContent3(parsed) {
452
452
  "---",
453
453
  ""
454
454
  ].join("\n");
455
- return [managedFileHeader(ADAPTER_NAME3), "", frontmatter, parsed.body].join("\n");
455
+ return [frontmatter, "", managedFileHeader(ADAPTER_NAME3), "", parsed.body].join("\n");
456
+ }
457
+ function formatCommandAsSkill(parsed) {
458
+ const frontmatter = [
459
+ "---",
460
+ `name: ${parsed.name}`,
461
+ `description: ${parsed.description}`,
462
+ "---",
463
+ ""
464
+ ].join("\n");
465
+ return [frontmatter, "", managedFileHeader(ADAPTER_NAME3), "", parsed.body].join("\n");
456
466
  }
457
467
  function formatSkillContent3(parsed) {
458
- return [managedFileHeader(ADAPTER_NAME3), "", parsed.body].join("\n");
468
+ const frontmatter = [
469
+ "---",
470
+ `name: ${parsed.name}`,
471
+ `description: ${parsed.description}`,
472
+ "---"
473
+ ].join("\n");
474
+ return [frontmatter, "", managedFileHeader(ADAPTER_NAME3), "", parsed.body].join("\n");
459
475
  }
460
476
  function generateCopilotInstructions(profile) {
461
477
  const lines = [
@@ -473,8 +489,10 @@ function generateCopilotInstructions(profile) {
473
489
  }
474
490
  if (profile.commands.length > 0) {
475
491
  lines.push("## Commands Available", "");
492
+ lines.push("The following commands are available as Copilot skills.");
493
+ lines.push("Invoke with `/command-name` or describe the task naturally.", "");
476
494
  for (const cmd of profile.commands) {
477
- lines.push(`- **${cmd}**`);
495
+ lines.push(`- **${cmd}**: See \`.github/skills/${cmd}/SKILL.md\``);
478
496
  }
479
497
  lines.push("");
480
498
  }
@@ -510,8 +528,10 @@ var init_copilot = __esm({
510
528
  const content = formatSkillContent3(parsed);
511
529
  return [createEmittedFile(relativePath, content, ADAPTER_NAME3, parsed.sourcePath)];
512
530
  }
513
- emitCommand(_parsed, _targetDir) {
514
- return [];
531
+ emitCommand(parsed, _targetDir) {
532
+ const relativePath = `.github/skills/${parsed.name}/SKILL.md`;
533
+ const content = formatCommandAsSkill(parsed);
534
+ return [createEmittedFile(relativePath, content, ADAPTER_NAME3, parsed.sourcePath)];
515
535
  }
516
536
  emitRootInstructions(profile, _targetDir) {
517
537
  const content = generateCopilotInstructions(profile);
@@ -856,7 +876,7 @@ var TelemetryWriter = class {
856
876
  const fullEvent = {
857
877
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
858
878
  machineId: machineId(),
859
- version: "0.4.0",
879
+ version: "0.4.1",
860
880
  ...event
861
881
  };
862
882
  const line = JSON.stringify(fullEvent) + "\n";
@@ -1615,7 +1635,7 @@ async function loadAdapters(providers) {
1615
1635
  return adapters;
1616
1636
  }
1617
1637
  async function getCliVersion() {
1618
- return "0.4.0";
1638
+ return "0.4.1";
1619
1639
  }
1620
1640
  async function sync(options) {
1621
1641
  const startTime = Date.now();
@@ -2620,7 +2640,7 @@ var version_default = defineCommand10({
2620
2640
  description: "Print CLI version and environment info"
2621
2641
  },
2622
2642
  run(_ctx) {
2623
- console.log(`asdm v${"0.4.0"}`);
2643
+ console.log(`asdm v${"0.4.1"}`);
2624
2644
  console.log(`node ${process.version}`);
2625
2645
  console.log(`os ${os3.type()} ${os3.release()} (${process.platform})`);
2626
2646
  }
@@ -3751,7 +3771,7 @@ async function checkForUpdate(currentVersion) {
3751
3771
  var rootCommand = defineCommand17({
3752
3772
  meta: {
3753
3773
  name: "asdm",
3754
- version: "0.4.0",
3774
+ version: "0.4.1",
3755
3775
  description: "Agentic Software Delivery Model \u2014 Write Once, Emit Many"
3756
3776
  },
3757
3777
  subCommands: {
@@ -3798,9 +3818,9 @@ async function main() {
3798
3818
  await runMain(rootCommand);
3799
3819
  if (process.exitCode !== void 0 && process.exitCode !== 0) return;
3800
3820
  try {
3801
- const latestVersion = await checkForUpdate("0.4.0");
3821
+ const latestVersion = await checkForUpdate("0.4.1");
3802
3822
  if (latestVersion) {
3803
- printUpdateBox("0.4.0", latestVersion);
3823
+ printUpdateBox("0.4.1", latestVersion);
3804
3824
  }
3805
3825
  } catch {
3806
3826
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asdm-cli",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Agentic Software Delivery Model — CLI for unified AI coding assistant governance",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://asdm.dev/schemas/manifest.schema.json",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "policy": {
5
5
  "locked_fields": [
6
6
  "telemetry",
@@ -23,7 +23,7 @@
23
23
  "copilot",
24
24
  "agents-dir"
25
25
  ],
26
- "min_cli_version": "0.4.0"
26
+ "min_cli_version": "0.4.1"
27
27
  },
28
28
  "profiles": {
29
29
  "base": {
@@ -0,0 +1,255 @@
1
+ {
2
+ "$schema": "https://asdm.dev/schemas/manifest.schema.json",
3
+ "version": "0.4.1",
4
+ "policy": {
5
+ "locked_fields": [
6
+ "telemetry",
7
+ "install_hooks",
8
+ "auto_verify"
9
+ ],
10
+ "telemetry": true,
11
+ "auto_verify": true,
12
+ "install_hooks": true,
13
+ "allowed_profiles": [
14
+ "base",
15
+ "fullstack-engineer",
16
+ "data-analytics",
17
+ "mobile",
18
+ "security"
19
+ ],
20
+ "allowed_providers": [
21
+ "opencode",
22
+ "claude-code",
23
+ "copilot",
24
+ "agents-dir"
25
+ ],
26
+ "min_cli_version": "0.4.1"
27
+ },
28
+ "profiles": {
29
+ "base": {
30
+ "agents": [
31
+ "code-reviewer",
32
+ "documentation-writer"
33
+ ],
34
+ "skills": [
35
+ "plan-protocol",
36
+ "code-review"
37
+ ],
38
+ "commands": [
39
+ "check-file",
40
+ "summarize"
41
+ ],
42
+ "providers": [
43
+ "opencode",
44
+ "claude-code",
45
+ "copilot",
46
+ "agents-dir"
47
+ ]
48
+ },
49
+ "data-analytics": {
50
+ "extends": [
51
+ "base"
52
+ ],
53
+ "agents": [
54
+ "code-reviewer",
55
+ "data-analyst",
56
+ "documentation-writer"
57
+ ],
58
+ "skills": [
59
+ "plan-protocol",
60
+ "code-review",
61
+ "data-pipeline"
62
+ ],
63
+ "commands": [
64
+ "check-file",
65
+ "summarize",
66
+ "analyze-schema"
67
+ ],
68
+ "providers": [
69
+ "opencode",
70
+ "claude-code",
71
+ "copilot"
72
+ ]
73
+ },
74
+ "fullstack-engineer": {
75
+ "extends": [
76
+ "base"
77
+ ],
78
+ "agents": [
79
+ "code-reviewer",
80
+ "documentation-writer",
81
+ "architect",
82
+ "test-engineer"
83
+ ],
84
+ "skills": [
85
+ "plan-protocol",
86
+ "code-review",
87
+ "frontend-design",
88
+ "api-design"
89
+ ],
90
+ "commands": [
91
+ "check-file",
92
+ "summarize",
93
+ "generate-types",
94
+ "scaffold-component"
95
+ ],
96
+ "providers": [
97
+ "opencode",
98
+ "claude-code",
99
+ "copilot"
100
+ ]
101
+ },
102
+ "mobile": {
103
+ "extends": [
104
+ "base"
105
+ ],
106
+ "agents": [
107
+ "code-reviewer",
108
+ "documentation-writer",
109
+ "mobile-engineer"
110
+ ],
111
+ "skills": [
112
+ "plan-protocol",
113
+ "code-review",
114
+ "mobile-patterns"
115
+ ],
116
+ "commands": [
117
+ "check-file",
118
+ "summarize",
119
+ "scaffold-component"
120
+ ],
121
+ "providers": [
122
+ "opencode",
123
+ "claude-code",
124
+ "copilot"
125
+ ]
126
+ },
127
+ "security": {
128
+ "extends": [
129
+ "base"
130
+ ],
131
+ "agents": [
132
+ "code-reviewer",
133
+ "security-auditor",
134
+ "documentation-writer"
135
+ ],
136
+ "skills": [
137
+ "plan-protocol",
138
+ "code-review",
139
+ "threat-modeling"
140
+ ],
141
+ "commands": [
142
+ "check-file",
143
+ "summarize",
144
+ "audit-deps"
145
+ ],
146
+ "providers": [
147
+ "opencode",
148
+ "claude-code",
149
+ "copilot"
150
+ ]
151
+ }
152
+ },
153
+ "assets": {
154
+ "agents/architect.asdm.md": {
155
+ "sha256": "cac0b010fd350f9d23bfbb090327dc2e8e971be9daafa764269619224c5ca742",
156
+ "size": 3011,
157
+ "version": "1.0.0"
158
+ },
159
+ "agents/code-reviewer.asdm.md": {
160
+ "sha256": "682c73710a84ad8c40e3d8548f82811390ce3db32c6f136116afcde7f87fc75d",
161
+ "size": 2911,
162
+ "version": "1.0.0"
163
+ },
164
+ "agents/data-analyst.asdm.md": {
165
+ "sha256": "bb0ce105b9dd19eaef3be5d6b76f5ad273b4b95057d3bb2c998acbaf3dfc7589",
166
+ "size": 2865,
167
+ "version": "1.0.0"
168
+ },
169
+ "agents/documentation-writer.asdm.md": {
170
+ "sha256": "05f22780898bdc7dc9e842caab967241b99e02ca7d43d30b09ca8d19fc85d63a",
171
+ "size": 2788,
172
+ "version": "1.0.0"
173
+ },
174
+ "agents/mobile-engineer.asdm.md": {
175
+ "sha256": "ab51f952dcc8ce72cf3f48359e11c30fc7a3f5b32b534e56b04ee47cd382c3bd",
176
+ "size": 2903,
177
+ "version": "1.0.0"
178
+ },
179
+ "agents/security-auditor.asdm.md": {
180
+ "sha256": "8285378a7b30009a02f537d9fc882344c50444c1c1fe1b0ff35b8e49e475b2eb",
181
+ "size": 3167,
182
+ "version": "1.0.0"
183
+ },
184
+ "agents/test-engineer.asdm.md": {
185
+ "sha256": "e23266b82c0e3ccb96d613167c3c27d88651ff159fcb8e9b8eaf34b125681278",
186
+ "size": 2811,
187
+ "version": "1.0.0"
188
+ },
189
+ "skills/api-design/SKILL.asdm.md": {
190
+ "sha256": "637fc8014c22ddd8fa9122a44eb68cef70ffecfed724e8535b8d7d54091c579c",
191
+ "size": 3506,
192
+ "version": "1.0.0"
193
+ },
194
+ "skills/code-review/SKILL.asdm.md": {
195
+ "sha256": "de2011667b7f9e5c07cef878d43e85bb2d9fa2109c4ba64e161b6038012fab20",
196
+ "size": 3112,
197
+ "version": "1.0.0"
198
+ },
199
+ "skills/data-pipeline/SKILL.asdm.md": {
200
+ "sha256": "35e45153c4eafc4f1654b46865a226509634b3659365b03e19de482d10233699",
201
+ "size": 3686,
202
+ "version": "1.0.0"
203
+ },
204
+ "skills/frontend-design/SKILL.asdm.md": {
205
+ "sha256": "9cdddedd6f2b6caa8bafb8f8fa9864b6473c89170c4feedd05aaa9f1a30a8d3f",
206
+ "size": 3267,
207
+ "version": "1.0.0"
208
+ },
209
+ "skills/mobile-patterns/SKILL.asdm.md": {
210
+ "sha256": "9f336da4b1979cbdadad95012a4347f0e9830597f60e98e9084d6a0d07459acd",
211
+ "size": 3561,
212
+ "version": "1.0.0"
213
+ },
214
+ "skills/plan-protocol/SKILL.asdm.md": {
215
+ "sha256": "c0226a04e91caedc6dd9b51946508b9c05c29b51aa3402217c176161c0e7a16c",
216
+ "size": 2781,
217
+ "version": "1.0.0"
218
+ },
219
+ "skills/threat-modeling/SKILL.asdm.md": {
220
+ "sha256": "255ec1cc1773315b994bff8f09e647750210bc34f233c5ff83053fb6568f67e5",
221
+ "size": 4256,
222
+ "version": "1.0.0"
223
+ },
224
+ "commands/analyze-schema.asdm.md": {
225
+ "sha256": "2c855b9b02257cecc71c5a03faa05da52e215df148aa141c9258db8e0d2b6174",
226
+ "size": 2538,
227
+ "version": "1.0.0"
228
+ },
229
+ "commands/audit-deps.asdm.md": {
230
+ "sha256": "b5d54e07d9596b996090aae8e83476fb2d53b62301dd3feef82facd3d08f7150",
231
+ "size": 2781,
232
+ "version": "1.0.0"
233
+ },
234
+ "commands/check-file.asdm.md": {
235
+ "sha256": "3090793fb1eb3484626f7a4c9569df87ff486586e2e3f4046c15749003a4af73",
236
+ "size": 1700,
237
+ "version": "1.0.0"
238
+ },
239
+ "commands/generate-types.asdm.md": {
240
+ "sha256": "d1b1401c495410ee68aedc055700cfb11794228d8f363bdf6463b75e58bdff20",
241
+ "size": 2259,
242
+ "version": "1.0.0"
243
+ },
244
+ "commands/scaffold-component.asdm.md": {
245
+ "sha256": "312cf07c16a44fe334037281213aed99d8410070acbfe35e6ae0968ec8a5263f",
246
+ "size": 2327,
247
+ "version": "1.0.0"
248
+ },
249
+ "commands/summarize.asdm.md": {
250
+ "sha256": "0f52ab9a25f6f802aa2a9025d8a4e9a5825aa04ba94173884bb189566ad07ad0",
251
+ "size": 1919,
252
+ "version": "1.0.0"
253
+ }
254
+ }
255
+ }