anchorspec 1.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/LICENSE +22 -0
- package/README.md +230 -0
- package/bin/anchorspec.js +3 -0
- package/bin/openspec.js +3 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +455 -0
- package/dist/commands/change.d.ts +35 -0
- package/dist/commands/change.js +277 -0
- package/dist/commands/completion.d.ts +72 -0
- package/dist/commands/completion.js +257 -0
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +552 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.js +183 -0
- package/dist/commands/schema.d.ts +6 -0
- package/dist/commands/schema.js +869 -0
- package/dist/commands/show.d.ts +14 -0
- package/dist/commands/show.js +132 -0
- package/dist/commands/spec.d.ts +15 -0
- package/dist/commands/spec.js +225 -0
- package/dist/commands/validate.d.ts +24 -0
- package/dist/commands/validate.js +294 -0
- package/dist/commands/workflow/index.d.ts +17 -0
- package/dist/commands/workflow/index.js +12 -0
- package/dist/commands/workflow/instructions.d.ts +29 -0
- package/dist/commands/workflow/instructions.js +381 -0
- package/dist/commands/workflow/new-change.d.ts +11 -0
- package/dist/commands/workflow/new-change.js +44 -0
- package/dist/commands/workflow/schemas.d.ts +10 -0
- package/dist/commands/workflow/schemas.js +34 -0
- package/dist/commands/workflow/shared.d.ts +57 -0
- package/dist/commands/workflow/shared.js +116 -0
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.js +75 -0
- package/dist/commands/workflow/templates.d.ts +16 -0
- package/dist/commands/workflow/templates.js +68 -0
- package/dist/core/archive.d.ts +11 -0
- package/dist/core/archive.js +318 -0
- package/dist/core/artifact-graph/graph.d.ts +56 -0
- package/dist/core/artifact-graph/graph.js +141 -0
- package/dist/core/artifact-graph/index.d.ts +7 -0
- package/dist/core/artifact-graph/index.js +13 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
- package/dist/core/artifact-graph/instruction-loader.js +214 -0
- package/dist/core/artifact-graph/resolver.d.ts +81 -0
- package/dist/core/artifact-graph/resolver.js +257 -0
- package/dist/core/artifact-graph/schema.d.ts +13 -0
- package/dist/core/artifact-graph/schema.js +108 -0
- package/dist/core/artifact-graph/state.d.ts +12 -0
- package/dist/core/artifact-graph/state.js +54 -0
- package/dist/core/artifact-graph/types.d.ts +45 -0
- package/dist/core/artifact-graph/types.js +43 -0
- package/dist/core/available-tools.d.ts +17 -0
- package/dist/core/available-tools.js +43 -0
- package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
- package/dist/core/command-generation/adapters/amazon-q.js +26 -0
- package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
- package/dist/core/command-generation/adapters/antigravity.js +26 -0
- package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
- package/dist/core/command-generation/adapters/auggie.js +27 -0
- package/dist/core/command-generation/adapters/bob.d.ts +14 -0
- package/dist/core/command-generation/adapters/bob.js +45 -0
- package/dist/core/command-generation/adapters/claude.d.ts +13 -0
- package/dist/core/command-generation/adapters/claude.js +50 -0
- package/dist/core/command-generation/adapters/cline.d.ts +14 -0
- package/dist/core/command-generation/adapters/cline.js +27 -0
- package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
- package/dist/core/command-generation/adapters/codebuddy.js +28 -0
- package/dist/core/command-generation/adapters/codex.d.ts +16 -0
- package/dist/core/command-generation/adapters/codex.js +39 -0
- package/dist/core/command-generation/adapters/continue.d.ts +13 -0
- package/dist/core/command-generation/adapters/continue.js +28 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
- package/dist/core/command-generation/adapters/costrict.js +27 -0
- package/dist/core/command-generation/adapters/crush.d.ts +13 -0
- package/dist/core/command-generation/adapters/crush.js +30 -0
- package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
- package/dist/core/command-generation/adapters/cursor.js +44 -0
- package/dist/core/command-generation/adapters/factory.d.ts +13 -0
- package/dist/core/command-generation/adapters/factory.js +27 -0
- package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
- package/dist/core/command-generation/adapters/gemini.js +26 -0
- package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
- package/dist/core/command-generation/adapters/github-copilot.js +26 -0
- package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
- package/dist/core/command-generation/adapters/iflow.js +29 -0
- package/dist/core/command-generation/adapters/index.d.ts +32 -0
- package/dist/core/command-generation/adapters/index.js +32 -0
- package/dist/core/command-generation/adapters/junie.d.ts +13 -0
- package/dist/core/command-generation/adapters/junie.js +26 -0
- package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/kilocode.js +23 -0
- package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
- package/dist/core/command-generation/adapters/kiro.js +26 -0
- package/dist/core/command-generation/adapters/lingma.d.ts +13 -0
- package/dist/core/command-generation/adapters/lingma.js +30 -0
- package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
- package/dist/core/command-generation/adapters/opencode.js +29 -0
- package/dist/core/command-generation/adapters/pi.d.ts +18 -0
- package/dist/core/command-generation/adapters/pi.js +55 -0
- package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
- package/dist/core/command-generation/adapters/qoder.js +30 -0
- package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
- package/dist/core/command-generation/adapters/qwen.js +26 -0
- package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/roocode.js +27 -0
- package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
- package/dist/core/command-generation/adapters/windsurf.js +51 -0
- package/dist/core/command-generation/generator.d.ts +21 -0
- package/dist/core/command-generation/generator.js +27 -0
- package/dist/core/command-generation/index.d.ts +22 -0
- package/dist/core/command-generation/index.js +24 -0
- package/dist/core/command-generation/registry.d.ts +36 -0
- package/dist/core/command-generation/registry.js +98 -0
- package/dist/core/command-generation/types.d.ts +56 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/completions/command-registry.d.ts +7 -0
- package/dist/core/completions/command-registry.js +461 -0
- package/dist/core/completions/completion-provider.d.ts +60 -0
- package/dist/core/completions/completion-provider.js +102 -0
- package/dist/core/completions/factory.d.ts +64 -0
- package/dist/core/completions/factory.js +75 -0
- package/dist/core/completions/generators/bash-generator.d.ts +32 -0
- package/dist/core/completions/generators/bash-generator.js +174 -0
- package/dist/core/completions/generators/fish-generator.d.ts +32 -0
- package/dist/core/completions/generators/fish-generator.js +157 -0
- package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
- package/dist/core/completions/generators/powershell-generator.js +207 -0
- package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
- package/dist/core/completions/generators/zsh-generator.js +250 -0
- package/dist/core/completions/installers/bash-installer.d.ts +87 -0
- package/dist/core/completions/installers/bash-installer.js +318 -0
- package/dist/core/completions/installers/fish-installer.d.ts +43 -0
- package/dist/core/completions/installers/fish-installer.js +143 -0
- package/dist/core/completions/installers/powershell-installer.d.ts +102 -0
- package/dist/core/completions/installers/powershell-installer.js +387 -0
- package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
- package/dist/core/completions/installers/zsh-installer.js +449 -0
- package/dist/core/completions/templates/bash-templates.d.ts +6 -0
- package/dist/core/completions/templates/bash-templates.js +24 -0
- package/dist/core/completions/templates/fish-templates.d.ts +7 -0
- package/dist/core/completions/templates/fish-templates.js +39 -0
- package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
- package/dist/core/completions/templates/powershell-templates.js +25 -0
- package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
- package/dist/core/completions/templates/zsh-templates.js +36 -0
- package/dist/core/completions/types.d.ts +79 -0
- package/dist/core/completions/types.js +2 -0
- package/dist/core/config-prompts.d.ts +9 -0
- package/dist/core/config-prompts.js +34 -0
- package/dist/core/config-schema.d.ts +86 -0
- package/dist/core/config-schema.js +213 -0
- package/dist/core/config.d.ts +18 -0
- package/dist/core/config.js +37 -0
- package/dist/core/converters/json-converter.d.ts +6 -0
- package/dist/core/converters/json-converter.js +51 -0
- package/dist/core/global-config.d.ts +44 -0
- package/dist/core/global-config.js +125 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +3 -0
- package/dist/core/init.d.ts +37 -0
- package/dist/core/init.js +593 -0
- package/dist/core/legacy-cleanup.d.ts +162 -0
- package/dist/core/legacy-cleanup.js +514 -0
- package/dist/core/list.d.ts +9 -0
- package/dist/core/list.js +171 -0
- package/dist/core/migration.d.ts +23 -0
- package/dist/core/migration.js +108 -0
- package/dist/core/parsers/change-parser.d.ts +13 -0
- package/dist/core/parsers/change-parser.js +193 -0
- package/dist/core/parsers/markdown-parser.d.ts +22 -0
- package/dist/core/parsers/markdown-parser.js +187 -0
- package/dist/core/parsers/requirement-blocks.d.ts +37 -0
- package/dist/core/parsers/requirement-blocks.js +201 -0
- package/dist/core/profile-sync-drift.d.ts +38 -0
- package/dist/core/profile-sync-drift.js +200 -0
- package/dist/core/profiles.d.ts +26 -0
- package/dist/core/profiles.js +40 -0
- package/dist/core/project-config.d.ts +64 -0
- package/dist/core/project-config.js +223 -0
- package/dist/core/schemas/base.schema.d.ts +13 -0
- package/dist/core/schemas/base.schema.js +13 -0
- package/dist/core/schemas/change.schema.d.ts +73 -0
- package/dist/core/schemas/change.schema.js +31 -0
- package/dist/core/schemas/index.d.ts +4 -0
- package/dist/core/schemas/index.js +4 -0
- package/dist/core/schemas/spec.schema.d.ts +18 -0
- package/dist/core/schemas/spec.schema.js +15 -0
- package/dist/core/shared/index.d.ts +8 -0
- package/dist/core/shared/index.js +8 -0
- package/dist/core/shared/skill-generation.d.ts +49 -0
- package/dist/core/shared/skill-generation.js +96 -0
- package/dist/core/shared/tool-detection.d.ts +71 -0
- package/dist/core/shared/tool-detection.js +158 -0
- package/dist/core/specs-apply.d.ts +73 -0
- package/dist/core/specs-apply.js +384 -0
- package/dist/core/styles/palette.d.ts +7 -0
- package/dist/core/styles/palette.js +8 -0
- package/dist/core/templates/index.d.ts +8 -0
- package/dist/core/templates/index.js +9 -0
- package/dist/core/templates/skill-templates.d.ts +19 -0
- package/dist/core/templates/skill-templates.js +18 -0
- package/dist/core/templates/types.d.ts +19 -0
- package/dist/core/templates/types.js +5 -0
- package/dist/core/templates/workflows/apply-change.d.ts +10 -0
- package/dist/core/templates/workflows/apply-change.js +308 -0
- package/dist/core/templates/workflows/archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/archive-change.js +271 -0
- package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/bulk-archive-change.js +488 -0
- package/dist/core/templates/workflows/continue-change.d.ts +10 -0
- package/dist/core/templates/workflows/continue-change.js +232 -0
- package/dist/core/templates/workflows/explore.d.ts +10 -0
- package/dist/core/templates/workflows/explore.js +461 -0
- package/dist/core/templates/workflows/feedback.d.ts +9 -0
- package/dist/core/templates/workflows/feedback.js +108 -0
- package/dist/core/templates/workflows/ff-change.d.ts +10 -0
- package/dist/core/templates/workflows/ff-change.js +198 -0
- package/dist/core/templates/workflows/new-change.d.ts +10 -0
- package/dist/core/templates/workflows/new-change.js +143 -0
- package/dist/core/templates/workflows/onboard.d.ts +10 -0
- package/dist/core/templates/workflows/onboard.js +565 -0
- package/dist/core/templates/workflows/propose.d.ts +10 -0
- package/dist/core/templates/workflows/propose.js +216 -0
- package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
- package/dist/core/templates/workflows/sync-specs.js +272 -0
- package/dist/core/templates/workflows/verify-change.d.ts +10 -0
- package/dist/core/templates/workflows/verify-change.js +332 -0
- package/dist/core/update.d.ts +77 -0
- package/dist/core/update.js +537 -0
- package/dist/core/validation/constants.d.ts +34 -0
- package/dist/core/validation/constants.js +40 -0
- package/dist/core/validation/types.d.ts +18 -0
- package/dist/core/validation/types.js +2 -0
- package/dist/core/validation/validator.d.ts +33 -0
- package/dist/core/validation/validator.js +409 -0
- package/dist/core/view.d.ts +8 -0
- package/dist/core/view.js +168 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/prompts/searchable-multi-select.d.ts +28 -0
- package/dist/prompts/searchable-multi-select.js +159 -0
- package/dist/ui/ascii-patterns.d.ts +16 -0
- package/dist/ui/ascii-patterns.js +133 -0
- package/dist/ui/welcome-screen.d.ts +10 -0
- package/dist/ui/welcome-screen.js +146 -0
- package/dist/utils/change-metadata.d.ts +51 -0
- package/dist/utils/change-metadata.js +147 -0
- package/dist/utils/change-utils.d.ts +62 -0
- package/dist/utils/change-utils.js +121 -0
- package/dist/utils/command-references.d.ts +18 -0
- package/dist/utils/command-references.js +20 -0
- package/dist/utils/file-system.d.ts +36 -0
- package/dist/utils/file-system.js +281 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/interactive.d.ts +18 -0
- package/dist/utils/interactive.js +21 -0
- package/dist/utils/item-discovery.d.ts +4 -0
- package/dist/utils/item-discovery.js +72 -0
- package/dist/utils/match.d.ts +3 -0
- package/dist/utils/match.js +22 -0
- package/dist/utils/shell-detection.d.ts +20 -0
- package/dist/utils/shell-detection.js +41 -0
- package/dist/utils/task-progress.d.ts +8 -0
- package/dist/utils/task-progress.js +36 -0
- package/package.json +78 -0
- package/schemas/spec-driven/schema.yaml +153 -0
- package/schemas/spec-driven/templates/design.md +19 -0
- package/schemas/spec-driven/templates/proposal.md +23 -0
- package/schemas/spec-driven/templates/spec.md +8 -0
- package/schemas/spec-driven/templates/tasks.md +9 -0
- package/scripts/postinstall.js +83 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* iFlow Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for iFlow following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* iFlow adapter for command generation.
|
|
9
|
+
* File path: .iflow/commands/ansx-<id>.md
|
|
10
|
+
* Frontmatter: name, id, category, description
|
|
11
|
+
*/
|
|
12
|
+
export const iflowAdapter = {
|
|
13
|
+
toolId: 'iflow',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.iflow', 'commands', `ansx-${commandId}.md`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
return `---
|
|
19
|
+
name: /ansx-${content.id}
|
|
20
|
+
id: ansx-${content.id}
|
|
21
|
+
category: ${content.category}
|
|
22
|
+
description: ${content.description}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
${content.body}
|
|
26
|
+
`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=iflow.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Adapters Index
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all tool command adapters.
|
|
5
|
+
*/
|
|
6
|
+
export { amazonQAdapter } from './amazon-q.js';
|
|
7
|
+
export { antigravityAdapter } from './antigravity.js';
|
|
8
|
+
export { auggieAdapter } from './auggie.js';
|
|
9
|
+
export { bobAdapter } from './bob.js';
|
|
10
|
+
export { claudeAdapter } from './claude.js';
|
|
11
|
+
export { clineAdapter } from './cline.js';
|
|
12
|
+
export { codexAdapter } from './codex.js';
|
|
13
|
+
export { codebuddyAdapter } from './codebuddy.js';
|
|
14
|
+
export { continueAdapter } from './continue.js';
|
|
15
|
+
export { costrictAdapter } from './costrict.js';
|
|
16
|
+
export { crushAdapter } from './crush.js';
|
|
17
|
+
export { cursorAdapter } from './cursor.js';
|
|
18
|
+
export { factoryAdapter } from './factory.js';
|
|
19
|
+
export { geminiAdapter } from './gemini.js';
|
|
20
|
+
export { githubCopilotAdapter } from './github-copilot.js';
|
|
21
|
+
export { iflowAdapter } from './iflow.js';
|
|
22
|
+
export { junieAdapter } from './junie.js';
|
|
23
|
+
export { kilocodeAdapter } from './kilocode.js';
|
|
24
|
+
export { kiroAdapter } from './kiro.js';
|
|
25
|
+
export { opencodeAdapter } from './opencode.js';
|
|
26
|
+
export { piAdapter } from './pi.js';
|
|
27
|
+
export { qoderAdapter } from './qoder.js';
|
|
28
|
+
export { lingmaAdapter } from './lingma.js';
|
|
29
|
+
export { qwenAdapter } from './qwen.js';
|
|
30
|
+
export { roocodeAdapter } from './roocode.js';
|
|
31
|
+
export { windsurfAdapter } from './windsurf.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Adapters Index
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all tool command adapters.
|
|
5
|
+
*/
|
|
6
|
+
export { amazonQAdapter } from './amazon-q.js';
|
|
7
|
+
export { antigravityAdapter } from './antigravity.js';
|
|
8
|
+
export { auggieAdapter } from './auggie.js';
|
|
9
|
+
export { bobAdapter } from './bob.js';
|
|
10
|
+
export { claudeAdapter } from './claude.js';
|
|
11
|
+
export { clineAdapter } from './cline.js';
|
|
12
|
+
export { codexAdapter } from './codex.js';
|
|
13
|
+
export { codebuddyAdapter } from './codebuddy.js';
|
|
14
|
+
export { continueAdapter } from './continue.js';
|
|
15
|
+
export { costrictAdapter } from './costrict.js';
|
|
16
|
+
export { crushAdapter } from './crush.js';
|
|
17
|
+
export { cursorAdapter } from './cursor.js';
|
|
18
|
+
export { factoryAdapter } from './factory.js';
|
|
19
|
+
export { geminiAdapter } from './gemini.js';
|
|
20
|
+
export { githubCopilotAdapter } from './github-copilot.js';
|
|
21
|
+
export { iflowAdapter } from './iflow.js';
|
|
22
|
+
export { junieAdapter } from './junie.js';
|
|
23
|
+
export { kilocodeAdapter } from './kilocode.js';
|
|
24
|
+
export { kiroAdapter } from './kiro.js';
|
|
25
|
+
export { opencodeAdapter } from './opencode.js';
|
|
26
|
+
export { piAdapter } from './pi.js';
|
|
27
|
+
export { qoderAdapter } from './qoder.js';
|
|
28
|
+
export { lingmaAdapter } from './lingma.js';
|
|
29
|
+
export { qwenAdapter } from './qwen.js';
|
|
30
|
+
export { roocodeAdapter } from './roocode.js';
|
|
31
|
+
export { windsurfAdapter } from './windsurf.js';
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Junie Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Junie following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Junie adapter for command generation.
|
|
9
|
+
* File path: .junie/commands/opsx-<id>.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export declare const junieAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=junie.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Junie Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Junie following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Junie adapter for command generation.
|
|
9
|
+
* File path: .junie/commands/ansx-<id>.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export const junieAdapter = {
|
|
13
|
+
toolId: 'junie',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.junie', 'commands', `ansx-${commandId}.md`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
return `---
|
|
19
|
+
description: ${content.description}
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
${content.body}
|
|
23
|
+
`;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=junie.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kilo Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Kilo Code following its workflow specification.
|
|
5
|
+
* Kilo Code workflows don't use frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Kilo Code adapter for command generation.
|
|
10
|
+
* File path: .kilocode/workflows/opsx-<id>.md
|
|
11
|
+
* Format: Plain markdown without frontmatter
|
|
12
|
+
*/
|
|
13
|
+
export declare const kilocodeAdapter: ToolCommandAdapter;
|
|
14
|
+
//# sourceMappingURL=kilocode.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kilo Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Kilo Code following its workflow specification.
|
|
5
|
+
* Kilo Code workflows don't use frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
/**
|
|
9
|
+
* Kilo Code adapter for command generation.
|
|
10
|
+
* File path: .kilocode/workflows/ansx-<id>.md
|
|
11
|
+
* Format: Plain markdown without frontmatter
|
|
12
|
+
*/
|
|
13
|
+
export const kilocodeAdapter = {
|
|
14
|
+
toolId: 'kilocode',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.kilocode', 'workflows', `ansx-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `${content.body}
|
|
20
|
+
`;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=kilocode.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kiro Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Kiro following its .prompt.md specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Kiro adapter for command generation.
|
|
9
|
+
* File path: .kiro/prompts/opsx-<id>.prompt.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export declare const kiroAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=kiro.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kiro Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Kiro following its .prompt.md specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Kiro adapter for command generation.
|
|
9
|
+
* File path: .kiro/prompts/ansx-<id>.prompt.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export const kiroAdapter = {
|
|
13
|
+
toolId: 'kiro',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.kiro', 'prompts', `ansx-${commandId}.prompt.md`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
return `---
|
|
19
|
+
description: ${content.description}
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
${content.body}
|
|
23
|
+
`;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=kiro.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lingma Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Lingma following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Lingma adapter for command generation.
|
|
9
|
+
* File path: .lingma/commands/opsx/<id>.md
|
|
10
|
+
* Frontmatter: name, description, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export declare const lingmaAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=lingma.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lingma Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Lingma following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Lingma adapter for command generation.
|
|
9
|
+
* File path: .lingma/commands/ansx/<id>.md
|
|
10
|
+
* Frontmatter: name, description, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export const lingmaAdapter = {
|
|
13
|
+
toolId: 'lingma',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.lingma', 'commands', 'ansx', `${commandId}.md`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
const tagsStr = content.tags.join(', ');
|
|
19
|
+
return `---
|
|
20
|
+
name: ${content.name}
|
|
21
|
+
description: ${content.description}
|
|
22
|
+
category: ${content.category}
|
|
23
|
+
tags: [${tagsStr}]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
${content.body}
|
|
27
|
+
`;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=lingma.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for OpenCode following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* OpenCode adapter for command generation.
|
|
9
|
+
* File path: .opencode/commands/opsx-<id>.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export declare const opencodeAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for OpenCode following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { transformToHyphenCommands } from '../../../utils/command-references.js';
|
|
8
|
+
/**
|
|
9
|
+
* OpenCode adapter for command generation.
|
|
10
|
+
* File path: .opencode/commands/ansx-<id>.md
|
|
11
|
+
* Frontmatter: description
|
|
12
|
+
*/
|
|
13
|
+
export const opencodeAdapter = {
|
|
14
|
+
toolId: 'opencode',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.opencode', 'commands', `ansx-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
// Transform command references from colon to hyphen format for OpenCode
|
|
20
|
+
const transformedBody = transformToHyphenCommands(content.body);
|
|
21
|
+
return `---
|
|
22
|
+
description: ${content.description}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
${transformedBody}
|
|
26
|
+
`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pi Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Pi (pi.dev) following its prompt template specification.
|
|
5
|
+
* Pi prompt templates live in .pi/prompts/*.md with description frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Pi adapter for prompt template generation.
|
|
10
|
+
* File path: .pi/prompts/opsx-<id>.md
|
|
11
|
+
* Frontmatter: description
|
|
12
|
+
*
|
|
13
|
+
* Pi uses the filename (minus .md) as the slash command name, so
|
|
14
|
+
* opsx-propose.md → /opsx-propose. Command references in the body
|
|
15
|
+
* are transformed from /opsx: to /opsx- for consistency.
|
|
16
|
+
*/
|
|
17
|
+
export declare const piAdapter: ToolCommandAdapter;
|
|
18
|
+
//# sourceMappingURL=pi.d.ts.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pi Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Pi (pi.dev) following its prompt template specification.
|
|
5
|
+
* Pi prompt templates live in .pi/prompts/*.md with description frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import { transformToHyphenCommands } from '../../../utils/command-references.js';
|
|
9
|
+
const PI_INPUT_HEADING = /^\*\*Input\*\*:[^\n]*$/m;
|
|
10
|
+
function injectPiArgs(body) {
|
|
11
|
+
if (body.includes('$@') || body.includes('$ARGUMENTS')) {
|
|
12
|
+
return body;
|
|
13
|
+
}
|
|
14
|
+
return body.replace(PI_INPUT_HEADING, (heading) => `${heading}\n**Provided arguments**: $@`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Escapes a string value for safe YAML output.
|
|
18
|
+
* Quotes the string if it contains special YAML characters.
|
|
19
|
+
*/
|
|
20
|
+
function escapeYamlValue(value) {
|
|
21
|
+
// Check if value needs quoting (contains special YAML characters or starts/ends with whitespace)
|
|
22
|
+
const needsQuoting = /[:\n\r#{}[\],&*!|>'"%@`]|^\s|\s$/.test(value);
|
|
23
|
+
if (needsQuoting) {
|
|
24
|
+
// Use double quotes and escape internal double quotes and backslashes
|
|
25
|
+
const escaped = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n');
|
|
26
|
+
return `"${escaped}"`;
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Pi adapter for prompt template generation.
|
|
32
|
+
* File path: .pi/prompts/ansx-<id>.md
|
|
33
|
+
* Frontmatter: description
|
|
34
|
+
*
|
|
35
|
+
* Pi uses the filename (minus .md) as the slash command name, so
|
|
36
|
+
* ansx-propose.md → /ansx-propose. Command references in the body
|
|
37
|
+
* are transformed from /ansx: to /ansx- for consistency.
|
|
38
|
+
*/
|
|
39
|
+
export const piAdapter = {
|
|
40
|
+
toolId: 'pi',
|
|
41
|
+
getFilePath(commandId) {
|
|
42
|
+
return path.join('.pi', 'prompts', `ansx-${commandId}.md`);
|
|
43
|
+
},
|
|
44
|
+
formatFile(content) {
|
|
45
|
+
// Transform /ansx: references to /ansx- and inject $@ for template args
|
|
46
|
+
const transformedBody = transformToHyphenCommands(content.body);
|
|
47
|
+
return `---
|
|
48
|
+
description: ${escapeYamlValue(content.description)}
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
${injectPiArgs(transformedBody)}
|
|
52
|
+
`;
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=pi.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Qoder Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Qoder following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Qoder adapter for command generation.
|
|
9
|
+
* File path: .qoder/commands/opsx/<id>.md
|
|
10
|
+
* Frontmatter: name, description, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export declare const qoderAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=qoder.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Qoder Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Qoder following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Qoder adapter for command generation.
|
|
9
|
+
* File path: .qoder/commands/ansx/<id>.md
|
|
10
|
+
* Frontmatter: name, description, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export const qoderAdapter = {
|
|
13
|
+
toolId: 'qoder',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.qoder', 'commands', 'ansx', `${commandId}.md`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
const tagsStr = content.tags.join(', ');
|
|
19
|
+
return `---
|
|
20
|
+
name: ${content.name}
|
|
21
|
+
description: ${content.description}
|
|
22
|
+
category: ${content.category}
|
|
23
|
+
tags: [${tagsStr}]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
${content.body}
|
|
27
|
+
`;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=qoder.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Qwen Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Qwen Code following its TOML specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Qwen adapter for command generation.
|
|
9
|
+
* File path: .qwen/commands/opsx-<id>.toml
|
|
10
|
+
* Format: TOML with description and prompt fields
|
|
11
|
+
*/
|
|
12
|
+
export declare const qwenAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=qwen.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Qwen Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Qwen Code following its TOML specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Qwen adapter for command generation.
|
|
9
|
+
* File path: .qwen/commands/ansx-<id>.toml
|
|
10
|
+
* Format: TOML with description and prompt fields
|
|
11
|
+
*/
|
|
12
|
+
export const qwenAdapter = {
|
|
13
|
+
toolId: 'qwen',
|
|
14
|
+
getFilePath(commandId) {
|
|
15
|
+
return path.join('.qwen', 'commands', `ansx-${commandId}.toml`);
|
|
16
|
+
},
|
|
17
|
+
formatFile(content) {
|
|
18
|
+
return `description = "${content.description}"
|
|
19
|
+
|
|
20
|
+
prompt = """
|
|
21
|
+
${content.body}
|
|
22
|
+
"""
|
|
23
|
+
`;
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=qwen.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RooCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for RooCode following its workflow specification.
|
|
5
|
+
* RooCode uses markdown headers instead of YAML frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* RooCode adapter for command generation.
|
|
10
|
+
* File path: .roo/commands/opsx-<id>.md
|
|
11
|
+
* Format: Markdown header with description
|
|
12
|
+
*/
|
|
13
|
+
export declare const roocodeAdapter: ToolCommandAdapter;
|
|
14
|
+
//# sourceMappingURL=roocode.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RooCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for RooCode following its workflow specification.
|
|
5
|
+
* RooCode uses markdown headers instead of YAML frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
/**
|
|
9
|
+
* RooCode adapter for command generation.
|
|
10
|
+
* File path: .roo/commands/ansx-<id>.md
|
|
11
|
+
* Format: Markdown header with description
|
|
12
|
+
*/
|
|
13
|
+
export const roocodeAdapter = {
|
|
14
|
+
toolId: 'roocode',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.roo', 'commands', `ansx-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `# ${content.name}
|
|
20
|
+
|
|
21
|
+
${content.description}
|
|
22
|
+
|
|
23
|
+
${content.body}
|
|
24
|
+
`;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=roocode.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windsurf Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Windsurf following its frontmatter specification.
|
|
5
|
+
* Windsurf uses a similar format to Claude but may have different conventions.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Windsurf adapter for command generation.
|
|
10
|
+
* File path: .windsurf/workflows/opsx-<id>.md
|
|
11
|
+
* Frontmatter: name, description, category, tags
|
|
12
|
+
*/
|
|
13
|
+
export declare const windsurfAdapter: ToolCommandAdapter;
|
|
14
|
+
//# sourceMappingURL=windsurf.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windsurf Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Windsurf following its frontmatter specification.
|
|
5
|
+
* Windsurf uses a similar format to Claude but may have different conventions.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
/**
|
|
9
|
+
* Escapes a string value for safe YAML output.
|
|
10
|
+
* Quotes the string if it contains special YAML characters.
|
|
11
|
+
*/
|
|
12
|
+
function escapeYamlValue(value) {
|
|
13
|
+
// Check if value needs quoting (contains special YAML characters or starts/ends with whitespace)
|
|
14
|
+
const needsQuoting = /[:\n\r#{}[\],&*!|>'"%@`]|^\s|\s$/.test(value);
|
|
15
|
+
if (needsQuoting) {
|
|
16
|
+
// Use double quotes and escape internal double quotes and backslashes
|
|
17
|
+
const escaped = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n');
|
|
18
|
+
return `"${escaped}"`;
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Formats a tags array as a YAML array with proper escaping.
|
|
24
|
+
*/
|
|
25
|
+
function formatTagsArray(tags) {
|
|
26
|
+
const escapedTags = tags.map((tag) => escapeYamlValue(tag));
|
|
27
|
+
return `[${escapedTags.join(', ')}]`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Windsurf adapter for command generation.
|
|
31
|
+
* File path: .windsurf/workflows/ansx-<id>.md
|
|
32
|
+
* Frontmatter: name, description, category, tags
|
|
33
|
+
*/
|
|
34
|
+
export const windsurfAdapter = {
|
|
35
|
+
toolId: 'windsurf',
|
|
36
|
+
getFilePath(commandId) {
|
|
37
|
+
return path.join('.windsurf', 'workflows', `ansx-${commandId}.md`);
|
|
38
|
+
},
|
|
39
|
+
formatFile(content) {
|
|
40
|
+
return `---
|
|
41
|
+
name: ${escapeYamlValue(content.name)}
|
|
42
|
+
description: ${escapeYamlValue(content.description)}
|
|
43
|
+
category: ${escapeYamlValue(content.category)}
|
|
44
|
+
tags: ${formatTagsArray(content.tags)}
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
${content.body}
|
|
48
|
+
`;
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=windsurf.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Generator
|
|
3
|
+
*
|
|
4
|
+
* Functions for generating command files using tool adapters.
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandContent, ToolCommandAdapter, GeneratedCommand } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Generate a single command file using the provided adapter.
|
|
9
|
+
* @param content - The tool-agnostic command content
|
|
10
|
+
* @param adapter - The tool-specific adapter
|
|
11
|
+
* @returns Generated command with path and file content
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateCommand(content: CommandContent, adapter: ToolCommandAdapter): GeneratedCommand;
|
|
14
|
+
/**
|
|
15
|
+
* Generate multiple command files using the provided adapter.
|
|
16
|
+
* @param contents - Array of tool-agnostic command contents
|
|
17
|
+
* @param adapter - The tool-specific adapter
|
|
18
|
+
* @returns Array of generated commands with paths and file contents
|
|
19
|
+
*/
|
|
20
|
+
export declare function generateCommands(contents: CommandContent[], adapter: ToolCommandAdapter): GeneratedCommand[];
|
|
21
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Generator
|
|
3
|
+
*
|
|
4
|
+
* Functions for generating command files using tool adapters.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate a single command file using the provided adapter.
|
|
8
|
+
* @param content - The tool-agnostic command content
|
|
9
|
+
* @param adapter - The tool-specific adapter
|
|
10
|
+
* @returns Generated command with path and file content
|
|
11
|
+
*/
|
|
12
|
+
export function generateCommand(content, adapter) {
|
|
13
|
+
return {
|
|
14
|
+
path: adapter.getFilePath(content.id),
|
|
15
|
+
fileContent: adapter.formatFile(content),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate multiple command files using the provided adapter.
|
|
20
|
+
* @param contents - Array of tool-agnostic command contents
|
|
21
|
+
* @param adapter - The tool-specific adapter
|
|
22
|
+
* @returns Array of generated commands with paths and file contents
|
|
23
|
+
*/
|
|
24
|
+
export function generateCommands(contents, adapter) {
|
|
25
|
+
return contents.map((content) => generateCommand(content, adapter));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Generation Module
|
|
3
|
+
*
|
|
4
|
+
* Generic command generation system with tool-specific adapters.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { generateCommands, CommandAdapterRegistry, type CommandContent } from './command-generation/index.js';
|
|
9
|
+
*
|
|
10
|
+
* const contents: CommandContent[] = [...];
|
|
11
|
+
* const adapter = CommandAdapterRegistry.get('cursor');
|
|
12
|
+
* if (adapter) {
|
|
13
|
+
* const commands = generateCommands(contents, adapter);
|
|
14
|
+
* // Write commands to disk
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export type { CommandContent, ToolCommandAdapter, GeneratedCommand, } from './types.js';
|
|
19
|
+
export { CommandAdapterRegistry } from './registry.js';
|
|
20
|
+
export { generateCommand, generateCommands } from './generator.js';
|
|
21
|
+
export { claudeAdapter, cursorAdapter, windsurfAdapter } from './adapters/index.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|