@ias-ai/zhima-spec 1.3.1 → 1.3.4

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.
Files changed (90) hide show
  1. package/README.md +8 -8
  2. package/dist/commands/feedback.js +2 -2
  3. package/dist/core/command-generation/adapters/amazon-q.d.ts +1 -1
  4. package/dist/core/command-generation/adapters/amazon-q.js +2 -2
  5. package/dist/core/command-generation/adapters/antigravity.d.ts +1 -1
  6. package/dist/core/command-generation/adapters/antigravity.js +2 -2
  7. package/dist/core/command-generation/adapters/auggie.d.ts +1 -1
  8. package/dist/core/command-generation/adapters/auggie.js +2 -2
  9. package/dist/core/command-generation/adapters/bob.d.ts +1 -1
  10. package/dist/core/command-generation/adapters/bob.js +2 -2
  11. package/dist/core/command-generation/adapters/claude.d.ts +1 -1
  12. package/dist/core/command-generation/adapters/claude.js +2 -2
  13. package/dist/core/command-generation/adapters/cline.d.ts +1 -1
  14. package/dist/core/command-generation/adapters/cline.js +2 -2
  15. package/dist/core/command-generation/adapters/codebuddy.d.ts +1 -1
  16. package/dist/core/command-generation/adapters/codebuddy.js +2 -2
  17. package/dist/core/command-generation/adapters/codex.d.ts +1 -1
  18. package/dist/core/command-generation/adapters/codex.js +2 -2
  19. package/dist/core/command-generation/adapters/continue.d.ts +1 -1
  20. package/dist/core/command-generation/adapters/continue.js +3 -3
  21. package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
  22. package/dist/core/command-generation/adapters/costrict.js +2 -2
  23. package/dist/core/command-generation/adapters/crush.d.ts +1 -1
  24. package/dist/core/command-generation/adapters/crush.js +2 -2
  25. package/dist/core/command-generation/adapters/cursor.d.ts +2 -2
  26. package/dist/core/command-generation/adapters/cursor.js +5 -5
  27. package/dist/core/command-generation/adapters/factory.d.ts +1 -1
  28. package/dist/core/command-generation/adapters/factory.js +2 -2
  29. package/dist/core/command-generation/adapters/gemini.d.ts +1 -1
  30. package/dist/core/command-generation/adapters/gemini.js +2 -2
  31. package/dist/core/command-generation/adapters/github-copilot.d.ts +1 -1
  32. package/dist/core/command-generation/adapters/github-copilot.js +2 -2
  33. package/dist/core/command-generation/adapters/iflow.d.ts +1 -1
  34. package/dist/core/command-generation/adapters/iflow.js +4 -4
  35. package/dist/core/command-generation/adapters/junie.d.ts +1 -1
  36. package/dist/core/command-generation/adapters/junie.js +2 -2
  37. package/dist/core/command-generation/adapters/kilocode.d.ts +1 -1
  38. package/dist/core/command-generation/adapters/kilocode.js +2 -2
  39. package/dist/core/command-generation/adapters/kiro.d.ts +1 -1
  40. package/dist/core/command-generation/adapters/kiro.js +2 -2
  41. package/dist/core/command-generation/adapters/lingma.d.ts +1 -1
  42. package/dist/core/command-generation/adapters/lingma.js +2 -2
  43. package/dist/core/command-generation/adapters/opencode.d.ts +1 -1
  44. package/dist/core/command-generation/adapters/opencode.js +2 -2
  45. package/dist/core/command-generation/adapters/pi.d.ts +3 -3
  46. package/dist/core/command-generation/adapters/pi.js +5 -5
  47. package/dist/core/command-generation/adapters/qoder.d.ts +1 -1
  48. package/dist/core/command-generation/adapters/qoder.js +2 -2
  49. package/dist/core/command-generation/adapters/qwen.d.ts +1 -1
  50. package/dist/core/command-generation/adapters/qwen.js +2 -2
  51. package/dist/core/command-generation/adapters/roocode.d.ts +1 -1
  52. package/dist/core/command-generation/adapters/roocode.js +2 -2
  53. package/dist/core/command-generation/adapters/vjsp.d.ts +1 -1
  54. package/dist/core/command-generation/adapters/vjsp.js +2 -2
  55. package/dist/core/command-generation/adapters/windsurf.d.ts +1 -1
  56. package/dist/core/command-generation/adapters/windsurf.js +2 -2
  57. package/dist/core/command-generation/types.d.ts +1 -1
  58. package/dist/core/init.js +2 -2
  59. package/dist/core/legacy-cleanup.js +2 -2
  60. package/dist/core/migration.js +1 -1
  61. package/dist/core/shared/skill-generation.d.ts +2 -2
  62. package/dist/core/shared/skill-generation.js +13 -13
  63. package/dist/core/templates/skill-templates.d.ts +11 -11
  64. package/dist/core/templates/skill-templates.js +11 -11
  65. package/dist/core/templates/workflows/apply-change.d.ts +1 -1
  66. package/dist/core/templates/workflows/apply-change.js +2 -2
  67. package/dist/core/templates/workflows/archive-change.d.ts +1 -1
  68. package/dist/core/templates/workflows/archive-change.js +2 -2
  69. package/dist/core/templates/workflows/bulk-archive-change.d.ts +1 -1
  70. package/dist/core/templates/workflows/bulk-archive-change.js +2 -2
  71. package/dist/core/templates/workflows/continue-change.d.ts +1 -1
  72. package/dist/core/templates/workflows/continue-change.js +2 -2
  73. package/dist/core/templates/workflows/explore.d.ts +1 -1
  74. package/dist/core/templates/workflows/explore.js +2 -2
  75. package/dist/core/templates/workflows/ff-change.d.ts +1 -1
  76. package/dist/core/templates/workflows/ff-change.js +2 -2
  77. package/dist/core/templates/workflows/new-change.d.ts +1 -1
  78. package/dist/core/templates/workflows/new-change.js +3 -3
  79. package/dist/core/templates/workflows/onboard.d.ts +1 -1
  80. package/dist/core/templates/workflows/onboard.js +2 -2
  81. package/dist/core/templates/workflows/propose.d.ts +2 -2
  82. package/dist/core/templates/workflows/propose.js +3 -3
  83. package/dist/core/templates/workflows/sync-specs.d.ts +1 -1
  84. package/dist/core/templates/workflows/sync-specs.js +2 -2
  85. package/dist/core/templates/workflows/verify-change.d.ts +1 -1
  86. package/dist/core/templates/workflows/verify-change.js +2 -2
  87. package/dist/core/update.js +2 -2
  88. package/dist/utils/command-references.d.ts +3 -3
  89. package/dist/utils/command-references.js +4 -4
  90. package/package.json +1 -1
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://github.com/Fission-AI/ZhiMa">
2
+ <a href="https://gitlab.oneberry.cc:2083/zhima-agent/ias-workflow">
3
3
  <picture>
4
4
  <source srcset="assets/zhima_bg.png">
5
5
  <img src="assets/zhima_bg.png" alt="ZhiMa logo">
@@ -8,8 +8,8 @@
8
8
  </p>
9
9
 
10
10
  <p align="center">
11
- <a href="https://github.com/Fission-AI/ZhiMa/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/Fission-AI/ZhiMa/actions/workflows/ci.yml/badge.svg" /></a>
12
- <a href="https://www.npmjs.com/package/@fission-ai/zhima"><img alt="npm version" src="https://img.shields.io/npm/v/@fission-ai/zhima?style=flat-square" /></a>
11
+ <a href="https://gitlab.oneberry.cc:2083/zhima-agent/ias-workflow/actions/workflows/ci.yml"><img alt="CI" src="https://gitlab.oneberry.cc:2083/zhima-agent/ias-workflow/actions/workflows/ci.yml/badge.svg" /></a>
12
+ <a href="https://www.npmjs.com/package/@ias-ai/zhima-spec"><img alt="npm version" src="https://img.shields.io/npm/v/@ias-ai/zhima-spec?style=flat-square" /></a>
13
13
  <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a>
14
14
  <a href="https://discord.gg/YctCnvvshC"><img alt="Discord" src="https://img.shields.io/discord/1411657095639601154?style=flat-square&logo=discord&logoColor=white&label=Discord&suffix=%20online" /></a>
15
15
  </p>
@@ -17,9 +17,9 @@
17
17
  <details>
18
18
  <summary><strong>The most loved spec framework.</strong></summary>
19
19
 
20
- [![Stars](https://img.shields.io/github/stars/Fission-AI/ZhiMa?style=flat-square&label=Stars)](https://github.com/Fission-AI/ZhiMa/stargazers)
21
- [![Downloads](https://img.shields.io/npm/dm/@fission-ai/zhima?style=flat-square&label=Downloads/mo)](https://www.npmjs.com/package/@fission-ai/zhima)
22
- [![Contributors](https://img.shields.io/github/contributors/Fission-AI/ZhiMa?style=flat-square&label=Contributors)](https://github.com/Fission-AI/ZhiMa/graphs/contributors)
20
+ [![Stars](https://img.shields.io/github/stars/zhima-agent/ias-workflow?style=flat-square&label=Stars)](https://gitlab.oneberry.cc:2083/zhima-agent/ias-workflow/stargazers)
21
+ [![Downloads](https://img.shields.io/npm/dm/@ias-ai/zhima-spec?style=flat-square&label=Downloads/mo)](https://www.npmjs.com/package/@ias-ai/zhima-spec)
22
+ [![Contributors](https://img.shields.io/github/contributors/zhima-agent/ias-workflow?style=flat-square&label=Contributors)](https://gitlab.oneberry.cc:2083/zhima-agent/ias-workflow/graphs/contributors)
23
23
 
24
24
  </details>
25
25
  <p></p>
@@ -84,7 +84,7 @@ AI: Archived to zhima/changes/archive/2025-01-23-add-dark-mode/
84
84
  Install ZhiMa globally:
85
85
 
86
86
  ```bash
87
- npm install -g @fission-ai/zhima@latest
87
+ npm install -g @ias-ai/zhima-spec@latest
88
88
  ```
89
89
 
90
90
  Then navigate to your project directory and initialize:
@@ -144,7 +144,7 @@ AI coding assistants are powerful but unpredictable when requirements live only
144
144
  **Upgrade the package**
145
145
 
146
146
  ```bash
147
- npm install -g @fission-ai/zhima@latest
147
+ npm install -g @ias-ai/zhima-spec@latest
148
148
  ```
149
149
 
150
150
  **Refresh agent instructions**
@@ -87,7 +87,7 @@ function formatBody(bodyText) {
87
87
  * Generate a pre-filled GitHub issue URL for manual submission
88
88
  */
89
89
  function generateManualSubmissionUrl(title, body) {
90
- const repo = 'Fission-AI/ZhiMa';
90
+ const repo = 'zhima-agent/ias-workflow';
91
91
  const encodedTitle = encodeURIComponent(title);
92
92
  const encodedBody = encodeURIComponent(body);
93
93
  const encodedLabels = encodeURIComponent('feedback');
@@ -114,7 +114,7 @@ function submitViaGhCli(title, body) {
114
114
  'issue',
115
115
  'create',
116
116
  '--repo',
117
- 'Fission-AI/ZhiMa',
117
+ 'zhima-agent/ias-workflow',
118
118
  '--title',
119
119
  title,
120
120
  '--body',
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Amazon Q adapter for command generation.
9
- * File path: .amazonq/prompts/opsx-<id>.md
9
+ * File path: .amazonq/prompts/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export declare const amazonQAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Amazon Q adapter for command generation.
9
- * File path: .amazonq/prompts/opsx-<id>.md
9
+ * File path: .amazonq/prompts/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export const amazonQAdapter = {
13
13
  toolId: 'amazon-q',
14
14
  getFilePath(commandId) {
15
- return path.join('.amazonq', 'prompts', `opsx-${commandId}.md`);
15
+ return path.join('.amazonq', 'prompts', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Antigravity adapter for command generation.
9
- * File path: .agent/workflows/opsx-<id>.md
9
+ * File path: .agent/workflows/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export declare const antigravityAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Antigravity adapter for command generation.
9
- * File path: .agent/workflows/opsx-<id>.md
9
+ * File path: .agent/workflows/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export const antigravityAdapter = {
13
13
  toolId: 'antigravity',
14
14
  getFilePath(commandId) {
15
- return path.join('.agent', 'workflows', `opsx-${commandId}.md`);
15
+ return path.join('.agent', 'workflows', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Auggie adapter for command generation.
9
- * File path: .augment/commands/opsx-<id>.md
9
+ * File path: .augment/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export declare const auggieAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Auggie adapter for command generation.
9
- * File path: .augment/commands/opsx-<id>.md
9
+ * File path: .augment/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export const auggieAdapter = {
13
13
  toolId: 'auggie',
14
14
  getFilePath(commandId) {
15
- return path.join('.augment', 'commands', `opsx-${commandId}.md`);
15
+ return path.join('.augment', 'commands', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -7,7 +7,7 @@
7
7
  import type { ToolCommandAdapter } from '../types.js';
8
8
  /**
9
9
  * Bob Shell adapter for command generation.
10
- * File path: .bob/commands/opsx-<id>.md
10
+ * File path: .bob/commands/zm-<id>.md
11
11
  * Frontmatter: description, argument-hint
12
12
  */
13
13
  export declare const bobAdapter: ToolCommandAdapter;
@@ -22,13 +22,13 @@ function escapeYamlValue(value) {
22
22
  }
23
23
  /**
24
24
  * Bob Shell adapter for command generation.
25
- * File path: .bob/commands/opsx-<id>.md
25
+ * File path: .bob/commands/zm-<id>.md
26
26
  * Frontmatter: description, argument-hint
27
27
  */
28
28
  export const bobAdapter = {
29
29
  toolId: 'bob',
30
30
  getFilePath(commandId) {
31
- return path.join('.bob', 'commands', `opsx-${commandId}.md`);
31
+ return path.join('.bob', 'commands', `zm-${commandId}.md`);
32
32
  },
33
33
  formatFile(content) {
34
34
  // Transform command references from colon to hyphen format for Bob
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Claude Code adapter for command generation.
9
- * File path: .claude/commands/opsx/<id>.md
9
+ * File path: .claude/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, category, tags
11
11
  */
12
12
  export declare const claudeAdapter: ToolCommandAdapter;
@@ -27,13 +27,13 @@ function formatTagsArray(tags) {
27
27
  }
28
28
  /**
29
29
  * Claude Code adapter for command generation.
30
- * File path: .claude/commands/opsx/<id>.md
30
+ * File path: .claude/commands/zm/<id>.md
31
31
  * Frontmatter: name, description, category, tags
32
32
  */
33
33
  export const claudeAdapter = {
34
34
  toolId: 'claude',
35
35
  getFilePath(commandId) {
36
- return path.join('.claude', 'commands', 'opsx', `${commandId}.md`);
36
+ return path.join('.claude', 'commands', 'zm', `${commandId}.md`);
37
37
  },
38
38
  formatFile(content) {
39
39
  return `---
@@ -7,7 +7,7 @@
7
7
  import type { ToolCommandAdapter } from '../types.js';
8
8
  /**
9
9
  * Cline adapter for command generation.
10
- * File path: .clinerules/workflows/opsx-<id>.md
10
+ * File path: .clinerules/workflows/zm-<id>.md
11
11
  * Format: Markdown header with description
12
12
  */
13
13
  export declare const clineAdapter: ToolCommandAdapter;
@@ -7,13 +7,13 @@
7
7
  import path from 'path';
8
8
  /**
9
9
  * Cline adapter for command generation.
10
- * File path: .clinerules/workflows/opsx-<id>.md
10
+ * File path: .clinerules/workflows/zm-<id>.md
11
11
  * Format: Markdown header with description
12
12
  */
13
13
  export const clineAdapter = {
14
14
  toolId: 'cline',
15
15
  getFilePath(commandId) {
16
- return path.join('.clinerules', 'workflows', `opsx-${commandId}.md`);
16
+ return path.join('.clinerules', 'workflows', `zm-${commandId}.md`);
17
17
  },
18
18
  formatFile(content) {
19
19
  return `# ${content.name}
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * CodeBuddy adapter for command generation.
9
- * File path: .codebuddy/commands/opsx/<id>.md
9
+ * File path: .codebuddy/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, argument-hint
11
11
  */
12
12
  export declare const codebuddyAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * CodeBuddy adapter for command generation.
9
- * File path: .codebuddy/commands/opsx/<id>.md
9
+ * File path: .codebuddy/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, argument-hint
11
11
  */
12
12
  export const codebuddyAdapter = {
13
13
  toolId: 'codebuddy',
14
14
  getFilePath(commandId) {
15
- return path.join('.codebuddy', 'commands', 'opsx', `${commandId}.md`);
15
+ return path.join('.codebuddy', 'commands', 'zm', `${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -9,7 +9,7 @@
9
9
  import type { ToolCommandAdapter } from '../types.js';
10
10
  /**
11
11
  * Codex adapter for command generation.
12
- * File path: <CODEX_HOME>/prompts/opsx-<id>.md (absolute, global)
12
+ * File path: <CODEX_HOME>/prompts/zm-<id>.md (absolute, global)
13
13
  * Frontmatter: description, argument-hint
14
14
  */
15
15
  export declare const codexAdapter: ToolCommandAdapter;
@@ -18,13 +18,13 @@ function getCodexHome() {
18
18
  }
19
19
  /**
20
20
  * Codex adapter for command generation.
21
- * File path: <CODEX_HOME>/prompts/opsx-<id>.md (absolute, global)
21
+ * File path: <CODEX_HOME>/prompts/zm-<id>.md (absolute, global)
22
22
  * Frontmatter: description, argument-hint
23
23
  */
24
24
  export const codexAdapter = {
25
25
  toolId: 'codex',
26
26
  getFilePath(commandId) {
27
- return path.join(getCodexHome(), 'prompts', `opsx-${commandId}.md`);
27
+ return path.join(getCodexHome(), 'prompts', `zm-${commandId}.md`);
28
28
  },
29
29
  formatFile(content) {
30
30
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Continue adapter for command generation.
9
- * File path: .continue/prompts/opsx-<id>.prompt
9
+ * File path: .continue/prompts/zm-<id>.prompt
10
10
  * Frontmatter: name, description, invokable
11
11
  */
12
12
  export declare const continueAdapter: ToolCommandAdapter;
@@ -6,17 +6,17 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Continue adapter for command generation.
9
- * File path: .continue/prompts/opsx-<id>.prompt
9
+ * File path: .continue/prompts/zm-<id>.prompt
10
10
  * Frontmatter: name, description, invokable
11
11
  */
12
12
  export const continueAdapter = {
13
13
  toolId: 'continue',
14
14
  getFilePath(commandId) {
15
- return path.join('.continue', 'prompts', `opsx-${commandId}.prompt`);
15
+ return path.join('.continue', 'prompts', `zm-${commandId}.prompt`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
19
- name: opsx-${content.id}
19
+ name: zm-${content.id}
20
20
  description: ${content.description}
21
21
  invokable: true
22
22
  ---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * CoStrict adapter for command generation.
9
- * File path: .cospec/zhima/commands/opsx-<id>.md
9
+ * File path: .cospec/zhima/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export declare const costrictAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * CoStrict adapter for command generation.
9
- * File path: .cospec/zhima/commands/opsx-<id>.md
9
+ * File path: .cospec/zhima/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export const costrictAdapter = {
13
13
  toolId: 'costrict',
14
14
  getFilePath(commandId) {
15
- return path.join('.cospec', 'zhima', 'commands', `opsx-${commandId}.md`);
15
+ return path.join('.cospec', 'zhima', 'commands', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Crush adapter for command generation.
9
- * File path: .crush/commands/opsx/<id>.md
9
+ * File path: .crush/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, category, tags
11
11
  */
12
12
  export declare const crushAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Crush adapter for command generation.
9
- * File path: .crush/commands/opsx/<id>.md
9
+ * File path: .crush/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, category, tags
11
11
  */
12
12
  export const crushAdapter = {
13
13
  toolId: 'crush',
14
14
  getFilePath(commandId) {
15
- return path.join('.crush', 'commands', 'opsx', `${commandId}.md`);
15
+ return path.join('.crush', 'commands', 'zm', `${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  const tagsStr = content.tags.join(', ');
@@ -7,8 +7,8 @@
7
7
  import type { ToolCommandAdapter } from '../types.js';
8
8
  /**
9
9
  * Cursor adapter for command generation.
10
- * File path: .cursor/commands/opsx-<id>.md
11
- * Frontmatter: name (as /opsx-<id>), id, category, description
10
+ * File path: .cursor/commands/zm-<id>.md
11
+ * Frontmatter: name (as /zm-<id>), id, category, description
12
12
  */
13
13
  export declare const cursorAdapter: ToolCommandAdapter;
14
14
  //# sourceMappingURL=cursor.d.ts.map
@@ -21,18 +21,18 @@ function escapeYamlValue(value) {
21
21
  }
22
22
  /**
23
23
  * Cursor adapter for command generation.
24
- * File path: .cursor/commands/opsx-<id>.md
25
- * Frontmatter: name (as /opsx-<id>), id, category, description
24
+ * File path: .cursor/commands/zm-<id>.md
25
+ * Frontmatter: name (as /zm-<id>), id, category, description
26
26
  */
27
27
  export const cursorAdapter = {
28
28
  toolId: 'cursor',
29
29
  getFilePath(commandId) {
30
- return path.join('.cursor', 'commands', `opsx-${commandId}.md`);
30
+ return path.join('.cursor', 'commands', `zm-${commandId}.md`);
31
31
  },
32
32
  formatFile(content) {
33
33
  return `---
34
- name: /opsx-${content.id}
35
- id: opsx-${content.id}
34
+ name: /zm-${content.id}
35
+ id: zm-${content.id}
36
36
  category: ${escapeYamlValue(content.category)}
37
37
  description: ${escapeYamlValue(content.description)}
38
38
  ---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Factory adapter for command generation.
9
- * File path: .factory/commands/opsx-<id>.md
9
+ * File path: .factory/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export declare const factoryAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Factory adapter for command generation.
9
- * File path: .factory/commands/opsx-<id>.md
9
+ * File path: .factory/commands/zm-<id>.md
10
10
  * Frontmatter: description, argument-hint
11
11
  */
12
12
  export const factoryAdapter = {
13
13
  toolId: 'factory',
14
14
  getFilePath(commandId) {
15
- return path.join('.factory', 'commands', `opsx-${commandId}.md`);
15
+ return path.join('.factory', 'commands', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Gemini adapter for command generation.
9
- * File path: .gemini/commands/opsx/<id>.toml
9
+ * File path: .gemini/commands/zm/<id>.toml
10
10
  * Format: TOML with description and prompt fields
11
11
  */
12
12
  export declare const geminiAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Gemini adapter for command generation.
9
- * File path: .gemini/commands/opsx/<id>.toml
9
+ * File path: .gemini/commands/zm/<id>.toml
10
10
  * Format: TOML with description and prompt fields
11
11
  */
12
12
  export const geminiAdapter = {
13
13
  toolId: 'gemini',
14
14
  getFilePath(commandId) {
15
- return path.join('.gemini', 'commands', 'opsx', `${commandId}.toml`);
15
+ return path.join('.gemini', 'commands', 'zm', `${commandId}.toml`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `description = "${content.description}"
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * GitHub Copilot adapter for command generation.
9
- * File path: .github/prompts/opsx-<id>.prompt.md
9
+ * File path: .github/prompts/zm-<id>.prompt.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export declare const githubCopilotAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * GitHub Copilot adapter for command generation.
9
- * File path: .github/prompts/opsx-<id>.prompt.md
9
+ * File path: .github/prompts/zm-<id>.prompt.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export const githubCopilotAdapter = {
13
13
  toolId: 'github-copilot',
14
14
  getFilePath(commandId) {
15
- return path.join('.github', 'prompts', `opsx-${commandId}.prompt.md`);
15
+ return path.join('.github', 'prompts', `zm-${commandId}.prompt.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * iFlow adapter for command generation.
9
- * File path: .iflow/commands/opsx-<id>.md
9
+ * File path: .iflow/commands/zm-<id>.md
10
10
  * Frontmatter: name, id, category, description
11
11
  */
12
12
  export declare const iflowAdapter: ToolCommandAdapter;
@@ -6,18 +6,18 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * iFlow adapter for command generation.
9
- * File path: .iflow/commands/opsx-<id>.md
9
+ * File path: .iflow/commands/zm-<id>.md
10
10
  * Frontmatter: name, id, category, description
11
11
  */
12
12
  export const iflowAdapter = {
13
13
  toolId: 'iflow',
14
14
  getFilePath(commandId) {
15
- return path.join('.iflow', 'commands', `opsx-${commandId}.md`);
15
+ return path.join('.iflow', 'commands', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
19
- name: /opsx-${content.id}
20
- id: opsx-${content.id}
19
+ name: /zm-${content.id}
20
+ id: zm-${content.id}
21
21
  category: ${content.category}
22
22
  description: ${content.description}
23
23
  ---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Junie adapter for command generation.
9
- * File path: .junie/commands/opsx-<id>.md
9
+ * File path: .junie/commands/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export declare const junieAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Junie adapter for command generation.
9
- * File path: .junie/commands/opsx-<id>.md
9
+ * File path: .junie/commands/zm-<id>.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export const junieAdapter = {
13
13
  toolId: 'junie',
14
14
  getFilePath(commandId) {
15
- return path.join('.junie', 'commands', `opsx-${commandId}.md`);
15
+ return path.join('.junie', 'commands', `zm-${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -7,7 +7,7 @@
7
7
  import type { ToolCommandAdapter } from '../types.js';
8
8
  /**
9
9
  * Kilo Code adapter for command generation.
10
- * File path: .kilocode/workflows/opsx-<id>.md
10
+ * File path: .kilocode/workflows/zm-<id>.md
11
11
  * Format: Plain markdown without frontmatter
12
12
  */
13
13
  export declare const kilocodeAdapter: ToolCommandAdapter;
@@ -7,13 +7,13 @@
7
7
  import path from 'path';
8
8
  /**
9
9
  * Kilo Code adapter for command generation.
10
- * File path: .kilocode/workflows/opsx-<id>.md
10
+ * File path: .kilocode/workflows/zm-<id>.md
11
11
  * Format: Plain markdown without frontmatter
12
12
  */
13
13
  export const kilocodeAdapter = {
14
14
  toolId: 'kilocode',
15
15
  getFilePath(commandId) {
16
- return path.join('.kilocode', 'workflows', `opsx-${commandId}.md`);
16
+ return path.join('.kilocode', 'workflows', `zm-${commandId}.md`);
17
17
  },
18
18
  formatFile(content) {
19
19
  return `${content.body}
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Kiro adapter for command generation.
9
- * File path: .kiro/prompts/opsx-<id>.prompt.md
9
+ * File path: .kiro/prompts/zm-<id>.prompt.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export declare const kiroAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Kiro adapter for command generation.
9
- * File path: .kiro/prompts/opsx-<id>.prompt.md
9
+ * File path: .kiro/prompts/zm-<id>.prompt.md
10
10
  * Frontmatter: description
11
11
  */
12
12
  export const kiroAdapter = {
13
13
  toolId: 'kiro',
14
14
  getFilePath(commandId) {
15
- return path.join('.kiro', 'prompts', `opsx-${commandId}.prompt.md`);
15
+ return path.join('.kiro', 'prompts', `zm-${commandId}.prompt.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  return `---
@@ -6,7 +6,7 @@
6
6
  import type { ToolCommandAdapter } from '../types.js';
7
7
  /**
8
8
  * Lingma adapter for command generation.
9
- * File path: .lingma/commands/opsx/<id>.md
9
+ * File path: .lingma/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, category, tags
11
11
  */
12
12
  export declare const lingmaAdapter: ToolCommandAdapter;
@@ -6,13 +6,13 @@
6
6
  import path from 'path';
7
7
  /**
8
8
  * Lingma adapter for command generation.
9
- * File path: .lingma/commands/opsx/<id>.md
9
+ * File path: .lingma/commands/zm/<id>.md
10
10
  * Frontmatter: name, description, category, tags
11
11
  */
12
12
  export const lingmaAdapter = {
13
13
  toolId: 'lingma',
14
14
  getFilePath(commandId) {
15
- return path.join('.lingma', 'commands', 'opsx', `${commandId}.md`);
15
+ return path.join('.lingma', 'commands', 'zm', `${commandId}.md`);
16
16
  },
17
17
  formatFile(content) {
18
18
  const tagsStr = content.tags.join(', ');