@niujiajie/freespec 0.0.0-stage → 1.15.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 +58 -2
- package/bin/freespec.js +5 -0
- package/dist/cli/index.d.ts +25 -0
- package/dist/cli/index.js +359 -0
- package/dist/commands/shared-output.d.ts +18 -0
- package/dist/commands/shared-output.js +61 -0
- package/dist/commands/workflow/default-schema.d.ts +2 -0
- package/dist/commands/workflow/default-schema.js +4 -0
- package/dist/commands/workflow/index.d.ts +13 -0
- package/dist/commands/workflow/index.js +10 -0
- package/dist/commands/workflow/instructions.d.ts +39 -0
- package/dist/commands/workflow/instructions.js +565 -0
- package/dist/commands/workflow/new-change.d.ts +19 -0
- package/dist/commands/workflow/new-change.js +135 -0
- package/dist/commands/workflow/shared.d.ts +94 -0
- package/dist/commands/workflow/shared.js +169 -0
- package/dist/commands/workflow/status.d.ts +18 -0
- package/dist/commands/workflow/status.js +201 -0
- package/dist/core/artifact-graph/graph.d.ts +72 -0
- package/dist/core/artifact-graph/graph.js +165 -0
- package/dist/core/artifact-graph/index.d.ts +9 -0
- package/dist/core/artifact-graph/index.js +14 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +208 -0
- package/dist/core/artifact-graph/instruction-loader.js +268 -0
- package/dist/core/artifact-graph/outputs.d.ts +19 -0
- package/dist/core/artifact-graph/outputs.js +351 -0
- package/dist/core/artifact-graph/resolver.d.ts +89 -0
- package/dist/core/artifact-graph/resolver.js +342 -0
- package/dist/core/artifact-graph/schema.d.ts +27 -0
- package/dist/core/artifact-graph/schema.js +160 -0
- package/dist/core/artifact-graph/state.d.ts +12 -0
- package/dist/core/artifact-graph/state.js +31 -0
- package/dist/core/artifact-graph/types.d.ts +40 -0
- package/dist/core/artifact-graph/types.js +59 -0
- package/dist/core/available-tools.d.ts +18 -0
- package/dist/core/available-tools.js +49 -0
- package/dist/core/change-layout.d.ts +17 -0
- package/dist/core/change-layout.js +30 -0
- package/dist/core/change-metadata/index.d.ts +2 -0
- package/dist/core/change-metadata/index.js +2 -0
- package/dist/core/change-metadata/schema.d.ts +23 -0
- package/dist/core/change-metadata/schema.js +46 -0
- package/dist/core/change-status-policy.d.ts +49 -0
- package/dist/core/change-status-policy.js +50 -0
- package/dist/core/command-generation/adapters/amazon-q.d.ts +17 -0
- package/dist/core/command-generation/adapters/amazon-q.js +32 -0
- package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
- package/dist/core/command-generation/adapters/antigravity.js +27 -0
- package/dist/core/command-generation/adapters/atomcode.d.ts +24 -0
- package/dist/core/command-generation/adapters/atomcode.js +46 -0
- package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
- package/dist/core/command-generation/adapters/auggie.js +28 -0
- package/dist/core/command-generation/adapters/bob.d.ts +18 -0
- package/dist/core/command-generation/adapters/bob.js +33 -0
- package/dist/core/command-generation/adapters/claude.d.ts +13 -0
- package/dist/core/command-generation/adapters/claude.js +32 -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/codeassistant.d.ts +15 -0
- package/dist/core/command-generation/adapters/codeassistant.js +29 -0
- package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
- package/dist/core/command-generation/adapters/codebuddy.js +29 -0
- package/dist/core/command-generation/adapters/codestudio.d.ts +13 -0
- package/dist/core/command-generation/adapters/codestudio.js +27 -0
- package/dist/core/command-generation/adapters/command-code.d.ts +19 -0
- package/dist/core/command-generation/adapters/command-code.js +34 -0
- package/dist/core/command-generation/adapters/continue.d.ts +13 -0
- package/dist/core/command-generation/adapters/continue.js +33 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
- package/dist/core/command-generation/adapters/costrict.js +28 -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 +31 -0
- package/dist/core/command-generation/adapters/devin.d.ts +19 -0
- package/dist/core/command-generation/adapters/devin.js +36 -0
- package/dist/core/command-generation/adapters/easycode.d.ts +17 -0
- package/dist/core/command-generation/adapters/easycode.js +28 -0
- package/dist/core/command-generation/adapters/factory.d.ts +13 -0
- package/dist/core/command-generation/adapters/factory.js +28 -0
- package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
- package/dist/core/command-generation/adapters/gemini.js +27 -0
- package/dist/core/command-generation/adapters/gigacode.d.ts +17 -0
- package/dist/core/command-generation/adapters/gigacode.js +31 -0
- package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
- package/dist/core/command-generation/adapters/github-copilot.js +27 -0
- package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
- package/dist/core/command-generation/adapters/iflow.js +30 -0
- package/dist/core/command-generation/adapters/index.d.ts +40 -0
- package/dist/core/command-generation/adapters/index.js +40 -0
- package/dist/core/command-generation/adapters/junie.d.ts +13 -0
- package/dist/core/command-generation/adapters/junie.js +27 -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 +27 -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/oh-my-pi.d.ts +21 -0
- package/dist/core/command-generation/adapters/oh-my-pi.js +42 -0
- package/dist/core/command-generation/adapters/opencode.d.ts +14 -0
- package/dist/core/command-generation/adapters/opencode.js +38 -0
- package/dist/core/command-generation/adapters/pi.d.ts +18 -0
- package/dist/core/command-generation/adapters/pi.js +39 -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 +17 -0
- package/dist/core/command-generation/adapters/qwen.js +31 -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/trae.d.ts +13 -0
- package/dist/core/command-generation/adapters/trae.js +28 -0
- package/dist/core/command-generation/adapters/zcode.d.ts +16 -0
- package/dist/core/command-generation/adapters/zcode.js +33 -0
- package/dist/core/command-generation/generator.d.ts +29 -0
- package/dist/core/command-generation/generator.js +43 -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/invocation.d.ts +73 -0
- package/dist/core/command-generation/invocation.js +77 -0
- package/dist/core/command-generation/registry.d.ts +36 -0
- package/dist/core/command-generation/registry.js +114 -0
- package/dist/core/command-generation/toml.d.ts +19 -0
- package/dist/core/command-generation/toml.js +39 -0
- package/dist/core/command-generation/types.d.ts +63 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/command-generation/yaml.d.ts +36 -0
- package/dist/core/command-generation/yaml.js +48 -0
- package/dist/core/command-surface.d.ts +15 -0
- package/dist/core/command-surface.js +33 -0
- package/dist/core/config-prompts.d.ts +9 -0
- package/dist/core/config-prompts.js +56 -0
- package/dist/core/config-schema.d.ts +98 -0
- package/dist/core/config-schema.js +308 -0
- package/dist/core/config.d.ts +50 -0
- package/dist/core/config.js +122 -0
- package/dist/core/file-state.d.ts +36 -0
- package/dist/core/file-state.js +144 -0
- package/dist/core/file-view.d.ts +13 -0
- package/dist/core/file-view.js +14 -0
- package/dist/core/global-config.d.ts +101 -0
- package/dist/core/global-config.js +182 -0
- package/dist/core/id.d.ts +17 -0
- package/dist/core/id.js +30 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.js +7 -0
- package/dist/core/init.d.ts +57 -0
- package/dist/core/init.js +836 -0
- package/dist/core/list.d.ts +11 -0
- package/dist/core/list.js +197 -0
- package/dist/core/migration.d.ts +121 -0
- package/dist/core/migration.js +540 -0
- package/dist/core/onboarding-commands.d.ts +30 -0
- package/dist/core/onboarding-commands.js +38 -0
- package/dist/core/openspec-root.d.ts +47 -0
- package/dist/core/openspec-root.js +196 -0
- package/dist/core/planning-home.d.ts +16 -0
- package/dist/core/planning-home.js +67 -0
- package/dist/core/profile-sync-drift.d.ts +31 -0
- package/dist/core/profile-sync-drift.js +201 -0
- package/dist/core/profiles.d.ts +19 -0
- package/dist/core/profiles.js +33 -0
- package/dist/core/project-config.d.ts +132 -0
- package/dist/core/project-config.js +519 -0
- package/dist/core/references.d.ts +10 -0
- package/dist/core/references.js +46 -0
- package/dist/core/root-selection.d.ts +59 -0
- package/dist/core/root-selection.js +132 -0
- package/dist/core/shared/allowed-tools.d.ts +12 -0
- package/dist/core/shared/allowed-tools.js +12 -0
- package/dist/core/shared/ide-restart.d.ts +26 -0
- package/dist/core/shared/ide-restart.js +42 -0
- package/dist/core/shared/index.d.ts +11 -0
- package/dist/core/shared/index.js +11 -0
- package/dist/core/shared/skill-content-equivalence.d.ts +7 -0
- package/dist/core/shared/skill-content-equivalence.js +45 -0
- package/dist/core/shared/skill-files.d.ts +7 -0
- package/dist/core/shared/skill-files.js +43 -0
- package/dist/core/shared/skill-generation.d.ts +49 -0
- package/dist/core/shared/skill-generation.js +125 -0
- package/dist/core/shared/skill-paths.d.ts +13 -0
- package/dist/core/shared/skill-paths.js +23 -0
- package/dist/core/shared/tool-detection.d.ts +99 -0
- package/dist/core/shared/tool-detection.js +318 -0
- package/dist/core/shared-skill-target.d.ts +51 -0
- package/dist/core/shared-skill-target.js +239 -0
- package/dist/core/store/errors.d.ts +20 -0
- package/dist/core/store/errors.js +22 -0
- package/dist/core/store/index.d.ts +2 -0
- package/dist/core/store/index.js +2 -0
- package/dist/core/styles/palette.d.ts +7 -0
- package/dist/core/styles/palette.js +8 -0
- package/dist/core/templates/optional-workflow.d.ts +69 -0
- package/dist/core/templates/optional-workflow.js +140 -0
- package/dist/core/templates/types.d.ts +19 -0
- package/dist/core/templates/types.js +5 -0
- package/dist/core/templates/workflows/personal.d.ts +22 -0
- package/dist/core/templates/workflows/personal.js +225 -0
- package/dist/core/update-plan.d.ts +127 -0
- package/dist/core/update-plan.js +390 -0
- package/dist/core/update.d.ts +154 -0
- package/dist/core/update.js +723 -0
- package/dist/core/version-check.d.ts +188 -0
- package/dist/core/version-check.js +906 -0
- package/dist/core/zod-issues.d.ts +4 -0
- package/dist/core/zod-issues.js +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/prompts/searchable-multi-select.d.ts +35 -0
- package/dist/prompts/searchable-multi-select.js +188 -0
- package/dist/telemetry/config.d.ts +37 -0
- package/dist/telemetry/config.js +148 -0
- package/dist/telemetry/index.d.ts +39 -0
- package/dist/telemetry/index.js +217 -0
- package/dist/telemetry/opt-out.d.ts +17 -0
- package/dist/telemetry/opt-out.js +27 -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 +18 -0
- package/dist/ui/welcome-screen.js +199 -0
- package/dist/utils/change-metadata.d.ts +116 -0
- package/dist/utils/change-metadata.js +324 -0
- package/dist/utils/change-utils.d.ts +79 -0
- package/dist/utils/change-utils.js +121 -0
- package/dist/utils/ci.d.ts +12 -0
- package/dist/utils/ci.js +16 -0
- package/dist/utils/command-references.d.ts +104 -0
- package/dist/utils/command-references.js +190 -0
- package/dist/utils/date.d.ts +8 -0
- package/dist/utils/date.js +13 -0
- package/dist/utils/executable-path.d.ts +5 -0
- package/dist/utils/executable-path.js +44 -0
- package/dist/utils/file-system.d.ts +58 -0
- package/dist/utils/file-system.js +432 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/interactive.d.ts +85 -0
- package/dist/utils/interactive.js +174 -0
- package/dist/utils/item-discovery.d.ts +15 -0
- package/dist/utils/item-discovery.js +33 -0
- package/dist/utils/line-endings.d.ts +34 -0
- package/dist/utils/line-endings.js +46 -0
- package/dist/utils/match.d.ts +3 -0
- package/dist/utils/match.js +22 -0
- package/dist/utils/nested-change.d.ts +35 -0
- package/dist/utils/nested-change.js +185 -0
- package/dist/utils/shell-detection.d.ts +20 -0
- package/dist/utils/shell-detection.js +94 -0
- package/dist/utils/task-progress.d.ts +67 -0
- package/dist/utils/task-progress.js +184 -0
- package/package.json +74 -4
- package/schemas//351/273/230/350/256/244/schema.yaml +68 -0
- package/schemas//351/273/230/350/256/244/templates//344/273/273/345/212/241/346/270/205/345/215/225.md +25 -0
- package/schemas//351/273/230/350/256/244/templates//346/265/213/350/257/225/347/224/250/344/276/213.md +34 -0
- package/schemas//351/273/230/350/256/244/templates//350/256/276/350/256/241/346/226/207/346/241/243.md +172 -0
- package/schemas//351/273/230/350/256/244/templates//351/234/200/346/261/202/346/226/207/346/241/243.md +19 -0
- package/skill-files//344/273/273/345/212/241/references//346/212/244/346/240/217.md +43 -0
- package/skill-files//344/273/273/345/212/241/references//347/262/222/345/272/246.md +23 -0
- package/skill-files//344/273/273/345/212/241/references//347/272/246/346/235/237.md +8 -0
- package/skill-files//344/273/273/345/212/241/scripts/check-tasks.mjs +83 -0
- package/skill-files//345/206/231Java/references/Java/350/247/204/350/214/203.md +25 -0
- package/skill-files//345/206/231Java/references//345/215/261/351/231/251/345/206/231/346/263/225.md +27 -0
- package/skill-files//345/206/231Java/references//345/256/214/346/210/220/345/257/271/347/205/247.md +15 -0
- package/skill-files//345/206/231Java/references//346/212/244/346/240/217.md +35 -0
- package/skill-files//345/206/231Java/references//347/272/246/346/235/237.md +8 -0
- package/skill-files//345/206/231Java/references//350/270/251/345/235/221.md +17 -0
- package/skill-files//345/256/241Java/references//346/212/244/346/240/217.md +19 -0
- package/skill-files//345/256/241Java/references//347/244/272/344/276/213.md +23 -0
- package/skill-files//345/256/241Java/references//347/272/246/346/235/237.md +7 -0
- package/skill-files//345/256/241Java/references//350/247/204/345/210/231.md +23 -0
- package/skill-files//345/256/241Java/references//351/242/206/345/237/237/346/243/200/351/241/271.md +58 -0
- package/skill-files//345/256/241/346/226/207/346/241/243/references//346/212/244/346/240/217.md +18 -0
- package/skill-files//345/256/241/346/226/207/346/241/243/references//347/272/246/346/235/237.md +8 -0
- package/skill-files//345/256/241/346/226/207/346/241/243/references//347/273/264/345/272/246.md +17 -0
- package/skill-files//345/256/241/346/226/207/346/241/243/references//350/270/251/345/235/221.md +11 -0
- package/skill-files//346/226/260/345/273/272/references//344/272/244/346/216/245.md +11 -0
- package/skill-files//346/226/260/345/273/272/references//346/212/244/346/240/217.md +14 -0
- package/skill-files//346/226/260/345/273/272/references//347/272/246/346/235/237.md +7 -0
- package/skill-files//346/267/261/346/200/235/config/prompts.yaml +114 -0
- package/skill-files//346/267/261/346/200/235/references//344/270/211/346/226/271/346/240/270/345/257/271.md +72 -0
- package/skill-files//346/267/261/346/200/235/references//344/276/213/345/255/220.md +39 -0
- package/skill-files//346/267/261/346/200/235/references//346/200/216/344/271/210/346/203/263.md +61 -0
- package/skill-files//346/267/261/346/200/235/references//346/212/244/346/240/217.md +26 -0
- package/skill-files//346/267/261/346/200/235/references//347/202/271/351/200/211/346/217/220/351/227/256.md +66 -0
- package/skill-files//346/267/261/346/200/235/references//347/231/273/350/256/260.md +45 -0
- package/skill-files//346/267/261/346/200/235/references//347/272/246/346/235/237.md +9 -0
- package/skill-files//347/224/250/344/276/213/references//346/200/216/344/271/210/345/206/231.md +13 -0
- package/skill-files//347/224/250/344/276/213/references//346/212/244/346/240/217.md +42 -0
- package/skill-files//347/224/250/344/276/213/references//347/272/246/346/235/237.md +5 -0
- package/skill-files//347/224/250/344/276/213/scripts/check-cases.mjs +70 -0
- package/skill-files//350/256/276/350/256/241/references//345/207/206/345/244/207.md +25 -0
- package/skill-files//350/256/276/350/256/241/references//346/212/244/346/240/217.md +134 -0
- package/skill-files//350/256/276/350/256/241/references//346/226/207/351/243/216.md +17 -0
- package/skill-files//350/256/276/350/256/241/references//347/225/214/351/235/242.md +18 -0
- package/skill-files//350/256/276/350/256/241/references//347/261/273/345/236/213.md +19 -0
- package/skill-files//350/256/276/350/256/241/references//347/272/246/346/235/237.md +25 -0
- package/skill-files//350/256/276/350/256/241/scripts/_smoke.mjs +72 -0
- package/skill-files//350/256/276/350/256/241/scripts/check-design.mjs +331 -0
- package/skill-files//351/234/200/346/261/202/references//346/212/244/346/240/217.md +26 -0
- package/skill-files//351/234/200/346/261/202/references//346/226/207/351/243/216.md +23 -0
- package/skill-files//351/234/200/346/261/202/references//346/267/261/346/200/235/346/221/204/345/205/245.md +21 -0
- package/skill-files//351/234/200/346/261/202/references//347/272/246/346/235/237.md +8 -0
- package/skill-files//351/234/200/346/261/202/references//351/234/200/346/261/202/345/276/205/345/256/232.md +13 -0
- package/skill-files//351/234/200/346/261/202/scripts/check-requirements.mjs +60 -0
- package/skill-files//351/252/214/346/224/266/references//346/212/244/346/240/217.md +27 -0
- package/skill-files//351/252/214/346/224/266/references//346/240/270/345/257/271.md +17 -0
- package/skill-files//351/252/214/346/224/266/references//347/272/246/346/235/237.md +7 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Claude Code following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Claude Code adapter for command generation.
|
|
9
|
+
* File path: .claude/commands/freespec/<id>.md
|
|
10
|
+
* Frontmatter: name, description, allowed-tools, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export declare const claudeAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Claude Code following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue, formatTagsArray } from '../yaml.js';
|
|
8
|
+
import { OPENSPEC_CLI_ALLOWED_TOOLS } from '../../shared/allowed-tools.js';
|
|
9
|
+
/**
|
|
10
|
+
* Claude Code adapter for command generation.
|
|
11
|
+
* File path: .claude/commands/freespec/<id>.md
|
|
12
|
+
* Frontmatter: name, description, allowed-tools, category, tags
|
|
13
|
+
*/
|
|
14
|
+
export const claudeAdapter = {
|
|
15
|
+
toolId: 'claude',
|
|
16
|
+
getFilePath(commandId) {
|
|
17
|
+
return path.join('.claude', 'commands', 'freespec', `${commandId}.md`);
|
|
18
|
+
},
|
|
19
|
+
formatFile(content) {
|
|
20
|
+
return `---
|
|
21
|
+
name: ${escapeYamlValue(content.name)}
|
|
22
|
+
description: ${escapeYamlValue(content.description)}
|
|
23
|
+
allowed-tools: ${OPENSPEC_CLI_ALLOWED_TOOLS}
|
|
24
|
+
category: ${escapeYamlValue(content.category)}
|
|
25
|
+
tags: ${formatTagsArray(content.tags)}
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
${content.body}
|
|
29
|
+
`;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cline Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Cline following its workflow specification.
|
|
5
|
+
* Cline uses markdown headers instead of YAML frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Cline adapter for command generation.
|
|
10
|
+
* File path: .clinerules/workflows/freespec-<id>.md
|
|
11
|
+
* Format: Markdown header with description
|
|
12
|
+
*/
|
|
13
|
+
export declare const clineAdapter: ToolCommandAdapter;
|
|
14
|
+
//# sourceMappingURL=cline.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cline Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Cline following its workflow specification.
|
|
5
|
+
* Cline uses markdown headers instead of YAML frontmatter.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
/**
|
|
9
|
+
* Cline adapter for command generation.
|
|
10
|
+
* File path: .clinerules/workflows/freespec-<id>.md
|
|
11
|
+
* Format: Markdown header with description
|
|
12
|
+
*/
|
|
13
|
+
export const clineAdapter = {
|
|
14
|
+
toolId: 'cline',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.clinerules', 'workflows', `freespec-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `# ${content.name}
|
|
20
|
+
|
|
21
|
+
${content.description}
|
|
22
|
+
|
|
23
|
+
${content.body}
|
|
24
|
+
`;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=cline.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SourceCraft Code Assistant Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for the SourceCraft Code Assistant VS Code extension.
|
|
5
|
+
*
|
|
6
|
+
* @see https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/slash-commands
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* SourceCraft Code Assistant adapter for command generation.
|
|
11
|
+
* File path: .codeassistant/commands/freespec-<id>.md
|
|
12
|
+
* Format: YAML frontmatter with description
|
|
13
|
+
*/
|
|
14
|
+
export declare const codeassistantAdapter: ToolCommandAdapter;
|
|
15
|
+
//# sourceMappingURL=codeassistant.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SourceCraft Code Assistant Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for the SourceCraft Code Assistant VS Code extension.
|
|
5
|
+
*
|
|
6
|
+
* @see https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/slash-commands
|
|
7
|
+
*/
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
10
|
+
/**
|
|
11
|
+
* SourceCraft Code Assistant adapter for command generation.
|
|
12
|
+
* File path: .codeassistant/commands/freespec-<id>.md
|
|
13
|
+
* Format: YAML frontmatter with description
|
|
14
|
+
*/
|
|
15
|
+
export const codeassistantAdapter = {
|
|
16
|
+
toolId: 'codeassistant',
|
|
17
|
+
getFilePath(commandId) {
|
|
18
|
+
return path.join('.codeassistant', 'commands', `freespec-${commandId}.md`);
|
|
19
|
+
},
|
|
20
|
+
formatFile(content) {
|
|
21
|
+
return `---
|
|
22
|
+
description: ${escapeYamlValue(content.description)}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
${content.body}
|
|
26
|
+
`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=codeassistant.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeBuddy Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for CodeBuddy following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* CodeBuddy adapter for command generation.
|
|
9
|
+
* File path: .codebuddy/commands/freespec/<id>.md
|
|
10
|
+
* Frontmatter: name, description, argument-hint
|
|
11
|
+
*/
|
|
12
|
+
export declare const codebuddyAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=codebuddy.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeBuddy Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for CodeBuddy following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* CodeBuddy adapter for command generation.
|
|
10
|
+
* File path: .codebuddy/commands/freespec/<id>.md
|
|
11
|
+
* Frontmatter: name, description, argument-hint
|
|
12
|
+
*/
|
|
13
|
+
export const codebuddyAdapter = {
|
|
14
|
+
toolId: 'codebuddy',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.codebuddy', 'commands', 'freespec', `${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `---
|
|
20
|
+
name: ${escapeYamlValue(content.name)}
|
|
21
|
+
description: ${escapeYamlValue(content.description)}
|
|
22
|
+
argument-hint: "[command arguments]"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
${content.body}
|
|
26
|
+
`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=codebuddy.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Studio Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Syncfusion Code Studio following its .prompt.md specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Code Studio adapter for command generation.
|
|
9
|
+
* File path: .codestudio/prompts/freespec-<id>.prompt.md
|
|
10
|
+
* Frontmatter: description
|
|
11
|
+
*/
|
|
12
|
+
export declare const codeStudioAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=codestudio.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Studio Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Syncfusion Code Studio following its .prompt.md specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* Code Studio adapter for command generation.
|
|
10
|
+
* File path: .codestudio/prompts/freespec-<id>.prompt.md
|
|
11
|
+
* Frontmatter: description
|
|
12
|
+
*/
|
|
13
|
+
export const codeStudioAdapter = {
|
|
14
|
+
toolId: 'codestudio',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.codestudio', 'prompts', `freespec-${commandId}.prompt.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `---
|
|
20
|
+
description: ${escapeYamlValue(content.description)}
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
${content.body}
|
|
24
|
+
`;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=codestudio.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Command Code reads custom slash commands from `.commandcode/commands/`. The
|
|
5
|
+
* command name is the markdown filename without its `.md` extension, so
|
|
6
|
+
* `freespec-<id>.md` registers `/freespec-<id>` — the same flat naming Cursor and
|
|
7
|
+
* OpenCode use. See https://commandcode.ai/docs/reference/slash-commands.
|
|
8
|
+
*/
|
|
9
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Command Code adapter for command generation.
|
|
12
|
+
* File path: .commandcode/commands/freespec-<id>.md
|
|
13
|
+
* Format: plain Markdown with $ARGUMENTS injected after the input contract
|
|
14
|
+
*
|
|
15
|
+
* Command Code executes the full trimmed file body and substitutes invocation
|
|
16
|
+
* arguments only where the body includes one of its argument placeholders.
|
|
17
|
+
*/
|
|
18
|
+
export declare const commandCodeAdapter: ToolCommandAdapter;
|
|
19
|
+
//# sourceMappingURL=command-code.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command Code Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Command Code reads custom slash commands from `.commandcode/commands/`. The
|
|
5
|
+
* command name is the markdown filename without its `.md` extension, so
|
|
6
|
+
* `freespec-<id>.md` registers `/freespec-<id>` — the same flat naming Cursor and
|
|
7
|
+
* OpenCode use. See https://commandcode.ai/docs/reference/slash-commands.
|
|
8
|
+
*/
|
|
9
|
+
import path from 'path';
|
|
10
|
+
const COMMAND_CODE_INPUT_HEADING = /^\*\*Input\*\*:[^\n]*$/m;
|
|
11
|
+
function injectCommandCodeArgs(body) {
|
|
12
|
+
if (/^\*\*Provided arguments\*\*:\s*(?:\$(?:ARGUMENTS|@)|\$\{(?:ARGUMENTS|@)\})\s*$/m.test(body)) {
|
|
13
|
+
return body;
|
|
14
|
+
}
|
|
15
|
+
return body.replace(COMMAND_CODE_INPUT_HEADING, (heading) => `${heading}\n**Provided arguments**: $ARGUMENTS`);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Command Code adapter for command generation.
|
|
19
|
+
* File path: .commandcode/commands/freespec-<id>.md
|
|
20
|
+
* Format: plain Markdown with $ARGUMENTS injected after the input contract
|
|
21
|
+
*
|
|
22
|
+
* Command Code executes the full trimmed file body and substitutes invocation
|
|
23
|
+
* arguments only where the body includes one of its argument placeholders.
|
|
24
|
+
*/
|
|
25
|
+
export const commandCodeAdapter = {
|
|
26
|
+
toolId: 'command-code',
|
|
27
|
+
getFilePath(commandId) {
|
|
28
|
+
return path.join('.commandcode', 'commands', `freespec-${commandId}.md`);
|
|
29
|
+
},
|
|
30
|
+
formatFile(content) {
|
|
31
|
+
return `${injectCommandCodeArgs(content.body)}\n`;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=command-code.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Continue Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Continue following its .prompt specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Continue adapter for command generation.
|
|
9
|
+
* File path: .continue/prompts/freespec-<id>.prompt
|
|
10
|
+
* Frontmatter: name, description, invokable
|
|
11
|
+
*/
|
|
12
|
+
export declare const continueAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=continue.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Continue Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Continue following its .prompt specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* Continue adapter for command generation.
|
|
10
|
+
* File path: .continue/prompts/freespec-<id>.prompt
|
|
11
|
+
* Frontmatter: name, description, invokable
|
|
12
|
+
*/
|
|
13
|
+
export const continueAdapter = {
|
|
14
|
+
toolId: 'continue',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.continue', 'prompts', `freespec-${commandId}.prompt`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
// Continue injects an invoked prompt into the model context. Smaller local
|
|
20
|
+
// models can otherwise mistake the workflow name for a tool to call (#925).
|
|
21
|
+
return `---
|
|
22
|
+
name: ${escapeYamlValue(`freespec-${content.id}`)}
|
|
23
|
+
description: ${escapeYamlValue(content.description)}
|
|
24
|
+
invokable: true
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
This workflow prompt is already active. Follow its instructions directly. Do not call a tool named after this workflow.
|
|
28
|
+
|
|
29
|
+
${content.body}
|
|
30
|
+
`;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=continue.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoStrict Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for CoStrict following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* CoStrict adapter for command generation.
|
|
9
|
+
* File path: .cospec/freespec/commands/freespec-<id>.md
|
|
10
|
+
* Frontmatter: description, argument-hint
|
|
11
|
+
*/
|
|
12
|
+
export declare const costrictAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=costrict.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoStrict Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for CoStrict following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* CoStrict adapter for command generation.
|
|
10
|
+
* File path: .cospec/freespec/commands/freespec-<id>.md
|
|
11
|
+
* Frontmatter: description, argument-hint
|
|
12
|
+
*/
|
|
13
|
+
export const costrictAdapter = {
|
|
14
|
+
toolId: 'costrict',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.cospec', 'freespec', 'commands', `freespec-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `---
|
|
20
|
+
description: ${escapeYamlValue(content.description)}
|
|
21
|
+
argument-hint: command arguments
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
${content.body}
|
|
25
|
+
`;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=costrict.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crush Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Crush following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Crush adapter for command generation.
|
|
9
|
+
* File path: .crush/commands/freespec/<id>.md
|
|
10
|
+
* Frontmatter: name, description, category, tags
|
|
11
|
+
*/
|
|
12
|
+
export declare const crushAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=crush.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crush Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Crush following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue, formatTagsArray } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* Crush adapter for command generation.
|
|
10
|
+
* File path: .crush/commands/freespec/<id>.md
|
|
11
|
+
* Frontmatter: name, description, category, tags
|
|
12
|
+
*/
|
|
13
|
+
export const crushAdapter = {
|
|
14
|
+
toolId: 'crush',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.crush', 'commands', 'freespec', `${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `---
|
|
20
|
+
name: ${escapeYamlValue(content.name)}
|
|
21
|
+
description: ${escapeYamlValue(content.description)}
|
|
22
|
+
category: ${escapeYamlValue(content.category)}
|
|
23
|
+
tags: ${formatTagsArray(content.tags)}
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
${content.body}
|
|
27
|
+
`;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=crush.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Cursor following its frontmatter specification.
|
|
5
|
+
* Cursor uses a different frontmatter format and file naming convention.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Cursor adapter for command generation.
|
|
10
|
+
* File path: .cursor/commands/freespec-<id>.md
|
|
11
|
+
* Frontmatter: name (as /freespec-<id>), id, category, description
|
|
12
|
+
*/
|
|
13
|
+
export declare const cursorAdapter: ToolCommandAdapter;
|
|
14
|
+
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Cursor following its frontmatter specification.
|
|
5
|
+
* Cursor uses a different frontmatter format and file naming convention.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
9
|
+
/**
|
|
10
|
+
* Cursor adapter for command generation.
|
|
11
|
+
* File path: .cursor/commands/freespec-<id>.md
|
|
12
|
+
* Frontmatter: name (as /freespec-<id>), id, category, description
|
|
13
|
+
*/
|
|
14
|
+
export const cursorAdapter = {
|
|
15
|
+
toolId: 'cursor',
|
|
16
|
+
getFilePath(commandId) {
|
|
17
|
+
return path.join('.cursor', 'commands', `freespec-${commandId}.md`);
|
|
18
|
+
},
|
|
19
|
+
formatFile(content) {
|
|
20
|
+
return `---
|
|
21
|
+
name: ${escapeYamlValue(`/freespec-${content.id}`)}
|
|
22
|
+
id: ${escapeYamlValue(`freespec-${content.id}`)}
|
|
23
|
+
category: ${escapeYamlValue(content.category)}
|
|
24
|
+
description: ${escapeYamlValue(content.description)}
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
${content.body}
|
|
28
|
+
`;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Devin Desktop Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Devin Desktop following its frontmatter specification.
|
|
5
|
+
* Devin Desktop reads Cascade-style workflows from `.devin/workflows/`, the
|
|
6
|
+
* same shape Windsurf uses.
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Devin Desktop adapter for command generation.
|
|
11
|
+
* File path: .devin/workflows/freespec-<id>.md
|
|
12
|
+
* Frontmatter: name, description, category, tags
|
|
13
|
+
*
|
|
14
|
+
* The `freespec-` filename prefix makes this a flat invocation, so the generator
|
|
15
|
+
* rewrites the body's `/freespec:*` references to the `/freespec-*` form Devin
|
|
16
|
+
* registers — see invocation.ts.
|
|
17
|
+
*/
|
|
18
|
+
export declare const devinAdapter: ToolCommandAdapter;
|
|
19
|
+
//# sourceMappingURL=devin.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Devin Desktop Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Devin Desktop following its frontmatter specification.
|
|
5
|
+
* Devin Desktop reads Cascade-style workflows from `.devin/workflows/`, the
|
|
6
|
+
* same shape Windsurf uses.
|
|
7
|
+
*/
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import { escapeYamlValue, formatTagsArray } from '../yaml.js';
|
|
10
|
+
/**
|
|
11
|
+
* Devin Desktop adapter for command generation.
|
|
12
|
+
* File path: .devin/workflows/freespec-<id>.md
|
|
13
|
+
* Frontmatter: name, description, category, tags
|
|
14
|
+
*
|
|
15
|
+
* The `freespec-` filename prefix makes this a flat invocation, so the generator
|
|
16
|
+
* rewrites the body's `/freespec:*` references to the `/freespec-*` form Devin
|
|
17
|
+
* registers — see invocation.ts.
|
|
18
|
+
*/
|
|
19
|
+
export const devinAdapter = {
|
|
20
|
+
toolId: 'devin',
|
|
21
|
+
getFilePath(commandId) {
|
|
22
|
+
return path.join('.devin', 'workflows', `freespec-${commandId}.md`);
|
|
23
|
+
},
|
|
24
|
+
formatFile(content) {
|
|
25
|
+
return `---
|
|
26
|
+
name: ${escapeYamlValue(content.name)}
|
|
27
|
+
description: ${escapeYamlValue(content.description)}
|
|
28
|
+
category: ${escapeYamlValue(content.category)}
|
|
29
|
+
tags: ${formatTagsArray(content.tags)}
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
${content.body}
|
|
33
|
+
`;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=devin.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EasyCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for OrionStarAI/EasyCode using its TOML command format.
|
|
5
|
+
* https://github.com/OrionStarAI/EasyCode
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* EasyCode adapter for command generation.
|
|
10
|
+
* File path: .easycode/commands/freespec/<id>.toml
|
|
11
|
+
*
|
|
12
|
+
* Format:
|
|
13
|
+
* description = "<basic-string>" single-line, backslash/quote-safe
|
|
14
|
+
* prompt = """<multiline-string>""" multiline, backslash/triple-quote-safe
|
|
15
|
+
*/
|
|
16
|
+
export declare const easycodeAdapter: ToolCommandAdapter;
|
|
17
|
+
//# sourceMappingURL=easycode.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EasyCode Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for OrionStarAI/EasyCode using its TOML command format.
|
|
5
|
+
* https://github.com/OrionStarAI/EasyCode
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import { escapeTomlBasicString, escapeTomlMultilineBasicString } from '../toml.js';
|
|
9
|
+
/**
|
|
10
|
+
* EasyCode adapter for command generation.
|
|
11
|
+
* File path: .easycode/commands/freespec/<id>.toml
|
|
12
|
+
*
|
|
13
|
+
* Format:
|
|
14
|
+
* description = "<basic-string>" single-line, backslash/quote-safe
|
|
15
|
+
* prompt = """<multiline-string>""" multiline, backslash/triple-quote-safe
|
|
16
|
+
*/
|
|
17
|
+
export const easycodeAdapter = {
|
|
18
|
+
toolId: 'easycode',
|
|
19
|
+
getFilePath(commandId) {
|
|
20
|
+
return path.join('.easycode', 'commands', 'freespec', `${commandId}.toml`);
|
|
21
|
+
},
|
|
22
|
+
formatFile(content) {
|
|
23
|
+
const safeDesc = escapeTomlBasicString(content.description);
|
|
24
|
+
const safeBody = escapeTomlMultilineBasicString(content.body);
|
|
25
|
+
return `description = "${safeDesc}"\n\nprompt = """\n${safeBody}\n"""\n`;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=easycode.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory Droid Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Factory Droid following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Factory adapter for command generation.
|
|
9
|
+
* File path: .factory/commands/freespec-<id>.md
|
|
10
|
+
* Frontmatter: description, argument-hint
|
|
11
|
+
*/
|
|
12
|
+
export declare const factoryAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory Droid Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Factory Droid following its frontmatter specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeYamlValue } from '../yaml.js';
|
|
8
|
+
/**
|
|
9
|
+
* Factory adapter for command generation.
|
|
10
|
+
* File path: .factory/commands/freespec-<id>.md
|
|
11
|
+
* Frontmatter: description, argument-hint
|
|
12
|
+
*/
|
|
13
|
+
export const factoryAdapter = {
|
|
14
|
+
toolId: 'factory',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.factory', 'commands', `freespec-${commandId}.md`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `---
|
|
20
|
+
description: ${escapeYamlValue(content.description)}
|
|
21
|
+
argument-hint: command arguments
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
${content.body}
|
|
25
|
+
`;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Gemini CLI following its TOML specification.
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolCommandAdapter } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Gemini adapter for command generation.
|
|
9
|
+
* File path: .gemini/commands/freespec/<id>.toml
|
|
10
|
+
* Format: TOML with description and prompt fields
|
|
11
|
+
*/
|
|
12
|
+
export declare const geminiAdapter: ToolCommandAdapter;
|
|
13
|
+
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI Command Adapter
|
|
3
|
+
*
|
|
4
|
+
* Formats commands for Gemini CLI following its TOML specification.
|
|
5
|
+
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { escapeTomlBasicString, escapeTomlMultilineBasicString } from '../toml.js';
|
|
8
|
+
/**
|
|
9
|
+
* Gemini adapter for command generation.
|
|
10
|
+
* File path: .gemini/commands/freespec/<id>.toml
|
|
11
|
+
* Format: TOML with description and prompt fields
|
|
12
|
+
*/
|
|
13
|
+
export const geminiAdapter = {
|
|
14
|
+
toolId: 'gemini',
|
|
15
|
+
getFilePath(commandId) {
|
|
16
|
+
return path.join('.gemini', 'commands', 'freespec', `${commandId}.toml`);
|
|
17
|
+
},
|
|
18
|
+
formatFile(content) {
|
|
19
|
+
return `description = "${escapeTomlBasicString(content.description)}"
|
|
20
|
+
|
|
21
|
+
prompt = """
|
|
22
|
+
${escapeTomlMultilineBasicString(content.body)}
|
|
23
|
+
"""
|
|
24
|
+
`;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=gemini.js.map
|