@fission-ai/openspec 0.23.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -382
- package/dist/cli/index.js +120 -6
- 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 +52 -0
- package/dist/commands/workflow/shared.js +111 -0
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.js +58 -0
- package/dist/commands/workflow/templates.d.ts +16 -0
- package/dist/commands/workflow/templates.js +68 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +5 -1
- package/dist/core/artifact-graph/instruction-loader.js +8 -19
- 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/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 +13 -0
- package/dist/core/command-generation/adapters/codex.js +27 -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 +27 -0
- package/dist/core/command-generation/adapters/index.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/opencode.d.ts +13 -0
- package/dist/core/command-generation/adapters/opencode.js +26 -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 +88 -0
- package/dist/core/command-generation/types.d.ts +55 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.js +21 -21
- package/dist/core/init.d.ts +16 -36
- package/dist/core/init.js +323 -534
- package/dist/core/legacy-cleanup.d.ts +162 -0
- package/dist/core/legacy-cleanup.js +501 -0
- package/dist/core/project-config.js +2 -2
- 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 +41 -0
- package/dist/core/shared/skill-generation.js +76 -0
- package/dist/core/shared/tool-detection.d.ts +66 -0
- package/dist/core/shared/tool-detection.js +140 -0
- package/dist/core/templates/index.d.ts +7 -16
- package/dist/core/templates/index.js +8 -36
- package/dist/core/templates/skill-templates.d.ts +13 -0
- package/dist/core/templates/skill-templates.js +634 -44
- package/dist/core/update.d.ts +38 -0
- package/dist/core/update.js +280 -62
- package/dist/prompts/searchable-multi-select.d.ts +27 -0
- package/dist/prompts/searchable-multi-select.js +149 -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-utils.d.ts +3 -3
- package/dist/utils/change-utils.js +3 -3
- package/dist/utils/file-system.d.ts +11 -0
- package/dist/utils/file-system.js +65 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +2 -0
- package/package.json +1 -1
- package/dist/commands/artifact-workflow.d.ts +0 -17
- package/dist/commands/artifact-workflow.js +0 -915
- package/dist/core/configurators/agents.d.ts +0 -8
- package/dist/core/configurators/agents.js +0 -15
- package/dist/core/configurators/base.d.ts +0 -7
- package/dist/core/configurators/base.js +0 -2
- package/dist/core/configurators/claude.d.ts +0 -8
- package/dist/core/configurators/claude.js +0 -15
- package/dist/core/configurators/cline.d.ts +0 -8
- package/dist/core/configurators/cline.js +0 -15
- package/dist/core/configurators/codebuddy.d.ts +0 -8
- package/dist/core/configurators/codebuddy.js +0 -15
- package/dist/core/configurators/costrict.d.ts +0 -8
- package/dist/core/configurators/costrict.js +0 -15
- package/dist/core/configurators/iflow.d.ts +0 -8
- package/dist/core/configurators/iflow.js +0 -15
- package/dist/core/configurators/qoder.d.ts +0 -30
- package/dist/core/configurators/qoder.js +0 -42
- package/dist/core/configurators/qwen.d.ts +0 -24
- package/dist/core/configurators/qwen.js +0 -37
- package/dist/core/configurators/registry.d.ts +0 -9
- package/dist/core/configurators/registry.js +0 -43
- package/dist/core/configurators/slash/amazon-q.d.ts +0 -9
- package/dist/core/configurators/slash/amazon-q.js +0 -46
- package/dist/core/configurators/slash/antigravity.d.ts +0 -9
- package/dist/core/configurators/slash/antigravity.js +0 -23
- package/dist/core/configurators/slash/auggie.d.ts +0 -9
- package/dist/core/configurators/slash/auggie.js +0 -31
- package/dist/core/configurators/slash/base.d.ts +0 -19
- package/dist/core/configurators/slash/base.js +0 -69
- package/dist/core/configurators/slash/claude.d.ts +0 -9
- package/dist/core/configurators/slash/claude.js +0 -37
- package/dist/core/configurators/slash/cline.d.ts +0 -9
- package/dist/core/configurators/slash/cline.js +0 -23
- package/dist/core/configurators/slash/codebuddy.d.ts +0 -9
- package/dist/core/configurators/slash/codebuddy.js +0 -34
- package/dist/core/configurators/slash/codex.d.ts +0 -14
- package/dist/core/configurators/slash/codex.js +0 -109
- package/dist/core/configurators/slash/continue.d.ts +0 -9
- package/dist/core/configurators/slash/continue.js +0 -46
- package/dist/core/configurators/slash/costrict.d.ts +0 -9
- package/dist/core/configurators/slash/costrict.js +0 -31
- package/dist/core/configurators/slash/crush.d.ts +0 -9
- package/dist/core/configurators/slash/crush.js +0 -37
- package/dist/core/configurators/slash/cursor.d.ts +0 -9
- package/dist/core/configurators/slash/cursor.js +0 -37
- package/dist/core/configurators/slash/factory.d.ts +0 -10
- package/dist/core/configurators/slash/factory.js +0 -35
- package/dist/core/configurators/slash/gemini.d.ts +0 -9
- package/dist/core/configurators/slash/gemini.js +0 -22
- package/dist/core/configurators/slash/github-copilot.d.ts +0 -9
- package/dist/core/configurators/slash/github-copilot.js +0 -34
- package/dist/core/configurators/slash/iflow.d.ts +0 -9
- package/dist/core/configurators/slash/iflow.js +0 -37
- package/dist/core/configurators/slash/kilocode.d.ts +0 -9
- package/dist/core/configurators/slash/kilocode.js +0 -17
- package/dist/core/configurators/slash/opencode.d.ts +0 -12
- package/dist/core/configurators/slash/opencode.js +0 -72
- package/dist/core/configurators/slash/qoder.d.ts +0 -35
- package/dist/core/configurators/slash/qoder.js +0 -76
- package/dist/core/configurators/slash/qwen.d.ts +0 -32
- package/dist/core/configurators/slash/qwen.js +0 -49
- package/dist/core/configurators/slash/registry.d.ts +0 -8
- package/dist/core/configurators/slash/registry.js +0 -78
- package/dist/core/configurators/slash/roocode.d.ts +0 -9
- package/dist/core/configurators/slash/roocode.js +0 -23
- package/dist/core/configurators/slash/toml-base.d.ts +0 -10
- package/dist/core/configurators/slash/toml-base.js +0 -53
- package/dist/core/configurators/slash/windsurf.d.ts +0 -9
- package/dist/core/configurators/slash/windsurf.js +0 -23
- package/dist/core/templates/agents-root-stub.d.ts +0 -2
- package/dist/core/templates/agents-root-stub.js +0 -17
- package/dist/core/templates/agents-template.d.ts +0 -2
- package/dist/core/templates/agents-template.js +0 -458
- package/dist/core/templates/claude-template.d.ts +0 -2
- package/dist/core/templates/claude-template.js +0 -2
- package/dist/core/templates/cline-template.d.ts +0 -2
- package/dist/core/templates/cline-template.js +0 -2
- package/dist/core/templates/costrict-template.d.ts +0 -2
- package/dist/core/templates/costrict-template.js +0 -2
- package/dist/core/templates/project-template.d.ts +0 -8
- package/dist/core/templates/project-template.js +0 -32
- package/dist/core/templates/slash-command-templates.d.ts +0 -4
- package/dist/core/templates/slash-command-templates.js +0 -49
- package/schemas/tdd/schema.yaml +0 -213
- package/schemas/tdd/templates/docs.md +0 -15
- package/schemas/tdd/templates/implementation.md +0 -11
- package/schemas/tdd/templates/spec.md +0 -11
- package/schemas/tdd/templates/test.md +0 -11
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class AgentsStandardConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, _openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
export class AgentsStandardConfigurator {
|
|
6
|
-
name = 'AGENTS.md standard';
|
|
7
|
-
configFileName = 'AGENTS.md';
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, _openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getAgentsStandardTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=agents.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class ClaudeConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
export class ClaudeConfigurator {
|
|
6
|
-
name = 'Claude Code';
|
|
7
|
-
configFileName = 'CLAUDE.md';
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getClaudeTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=claude.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class ClineConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=cline.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
export class ClineConfigurator {
|
|
6
|
-
name = 'Cline';
|
|
7
|
-
configFileName = 'CLINE.md';
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getClineTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=cline.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class CodeBuddyConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=codebuddy.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
export class CodeBuddyConfigurator {
|
|
6
|
-
name = 'CodeBuddy';
|
|
7
|
-
configFileName = 'CODEBUDDY.md';
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getClaudeTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=codebuddy.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class CostrictConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=costrict.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
export class CostrictConfigurator {
|
|
6
|
-
name = 'CoStrict';
|
|
7
|
-
configFileName = 'COSTRICT.md';
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getCostrictTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=costrict.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from "./base.js";
|
|
2
|
-
export declare class IflowConfigurator implements ToolConfigurator {
|
|
3
|
-
name: string;
|
|
4
|
-
configFileName: string;
|
|
5
|
-
isAvailable: boolean;
|
|
6
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=iflow.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { FileSystemUtils } from "../../utils/file-system.js";
|
|
3
|
-
import { TemplateManager } from "../templates/index.js";
|
|
4
|
-
import { OPENSPEC_MARKERS } from "../config.js";
|
|
5
|
-
export class IflowConfigurator {
|
|
6
|
-
name = "iFlow";
|
|
7
|
-
configFileName = "IFLOW.md";
|
|
8
|
-
isAvailable = true;
|
|
9
|
-
async configure(projectPath, openspecDir) {
|
|
10
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
11
|
-
const content = TemplateManager.getClaudeTemplate();
|
|
12
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=iflow.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
/**
|
|
3
|
-
* Qoder AI Tool Configurator
|
|
4
|
-
*
|
|
5
|
-
* Configures OpenSpec integration for Qoder AI coding assistant.
|
|
6
|
-
* Creates and manages QODER.md configuration file with OpenSpec instructions.
|
|
7
|
-
*
|
|
8
|
-
* @implements {ToolConfigurator}
|
|
9
|
-
*/
|
|
10
|
-
export declare class QoderConfigurator implements ToolConfigurator {
|
|
11
|
-
/** Display name for the Qoder tool */
|
|
12
|
-
name: string;
|
|
13
|
-
/** Configuration file name at project root */
|
|
14
|
-
configFileName: string;
|
|
15
|
-
/** Indicates tool is available for configuration */
|
|
16
|
-
isAvailable: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Configure Qoder integration for a project
|
|
19
|
-
*
|
|
20
|
-
* Creates or updates QODER.md file with OpenSpec instructions.
|
|
21
|
-
* Uses Claude-compatible template for instruction content.
|
|
22
|
-
* Wrapped with OpenSpec markers for future updates.
|
|
23
|
-
*
|
|
24
|
-
* @param {string} projectPath - Absolute path to project root directory
|
|
25
|
-
* @param {string} openspecDir - Path to openspec directory (unused but required by interface)
|
|
26
|
-
* @returns {Promise<void>} Resolves when configuration is complete
|
|
27
|
-
*/
|
|
28
|
-
configure(projectPath: string, openspecDir: string): Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=qoder.d.ts.map
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
3
|
-
import { TemplateManager } from '../templates/index.js';
|
|
4
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
5
|
-
/**
|
|
6
|
-
* Qoder AI Tool Configurator
|
|
7
|
-
*
|
|
8
|
-
* Configures OpenSpec integration for Qoder AI coding assistant.
|
|
9
|
-
* Creates and manages QODER.md configuration file with OpenSpec instructions.
|
|
10
|
-
*
|
|
11
|
-
* @implements {ToolConfigurator}
|
|
12
|
-
*/
|
|
13
|
-
export class QoderConfigurator {
|
|
14
|
-
/** Display name for the Qoder tool */
|
|
15
|
-
name = 'Qoder';
|
|
16
|
-
/** Configuration file name at project root */
|
|
17
|
-
configFileName = 'QODER.md';
|
|
18
|
-
/** Indicates tool is available for configuration */
|
|
19
|
-
isAvailable = true;
|
|
20
|
-
/**
|
|
21
|
-
* Configure Qoder integration for a project
|
|
22
|
-
*
|
|
23
|
-
* Creates or updates QODER.md file with OpenSpec instructions.
|
|
24
|
-
* Uses Claude-compatible template for instruction content.
|
|
25
|
-
* Wrapped with OpenSpec markers for future updates.
|
|
26
|
-
*
|
|
27
|
-
* @param {string} projectPath - Absolute path to project root directory
|
|
28
|
-
* @param {string} openspecDir - Path to openspec directory (unused but required by interface)
|
|
29
|
-
* @returns {Promise<void>} Resolves when configuration is complete
|
|
30
|
-
*/
|
|
31
|
-
async configure(projectPath, openspecDir) {
|
|
32
|
-
// Construct full path to QODER.md at project root
|
|
33
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
34
|
-
// Get Claude-compatible instruction template
|
|
35
|
-
// This ensures Qoder receives the same high-quality OpenSpec instructions
|
|
36
|
-
const content = TemplateManager.getClaudeTemplate();
|
|
37
|
-
// Write or update file with managed content between markers
|
|
38
|
-
// This allows future updates to refresh instructions automatically
|
|
39
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=qoder.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
/**
|
|
3
|
-
* QwenConfigurator class provides integration with Qwen Code
|
|
4
|
-
* by creating and managing the necessary configuration files.
|
|
5
|
-
* Currently configures the QWEN.md file with OpenSpec instructions.
|
|
6
|
-
*/
|
|
7
|
-
export declare class QwenConfigurator implements ToolConfigurator {
|
|
8
|
-
/** Display name for the Qwen Code tool */
|
|
9
|
-
name: string;
|
|
10
|
-
/** Configuration file name for Qwen Code */
|
|
11
|
-
configFileName: string;
|
|
12
|
-
/** Availability status for the Qwen Code tool */
|
|
13
|
-
isAvailable: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Configures the Qwen Code integration by creating or updating the QWEN.md file
|
|
16
|
-
* with OpenSpec instructions and markers.
|
|
17
|
-
*
|
|
18
|
-
* @param {string} projectPath - The path to the project root
|
|
19
|
-
* @param {string} _openspecDir - The path to the openspec directory (unused)
|
|
20
|
-
* @returns {Promise<void>} A promise that resolves when configuration is complete
|
|
21
|
-
*/
|
|
22
|
-
configure(projectPath: string, _openspecDir: string): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=qwen.d.ts.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Qwen Code configurator for OpenSpec integration.
|
|
3
|
-
* This class handles the configuration of Qwen Code as an AI tool within OpenSpec.
|
|
4
|
-
*
|
|
5
|
-
* @implements {ToolConfigurator}
|
|
6
|
-
*/
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import { FileSystemUtils } from '../../utils/file-system.js';
|
|
9
|
-
import { TemplateManager } from '../templates/index.js';
|
|
10
|
-
import { OPENSPEC_MARKERS } from '../config.js';
|
|
11
|
-
/**
|
|
12
|
-
* QwenConfigurator class provides integration with Qwen Code
|
|
13
|
-
* by creating and managing the necessary configuration files.
|
|
14
|
-
* Currently configures the QWEN.md file with OpenSpec instructions.
|
|
15
|
-
*/
|
|
16
|
-
export class QwenConfigurator {
|
|
17
|
-
/** Display name for the Qwen Code tool */
|
|
18
|
-
name = 'Qwen Code';
|
|
19
|
-
/** Configuration file name for Qwen Code */
|
|
20
|
-
configFileName = 'QWEN.md';
|
|
21
|
-
/** Availability status for the Qwen Code tool */
|
|
22
|
-
isAvailable = true;
|
|
23
|
-
/**
|
|
24
|
-
* Configures the Qwen Code integration by creating or updating the QWEN.md file
|
|
25
|
-
* with OpenSpec instructions and markers.
|
|
26
|
-
*
|
|
27
|
-
* @param {string} projectPath - The path to the project root
|
|
28
|
-
* @param {string} _openspecDir - The path to the openspec directory (unused)
|
|
29
|
-
* @returns {Promise<void>} A promise that resolves when configuration is complete
|
|
30
|
-
*/
|
|
31
|
-
async configure(projectPath, _openspecDir) {
|
|
32
|
-
const filePath = path.join(projectPath, this.configFileName);
|
|
33
|
-
const content = TemplateManager.getAgentsStandardTemplate();
|
|
34
|
-
await FileSystemUtils.updateFileWithMarkers(filePath, content, OPENSPEC_MARKERS.start, OPENSPEC_MARKERS.end);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=qwen.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ToolConfigurator } from './base.js';
|
|
2
|
-
export declare class ToolRegistry {
|
|
3
|
-
private static tools;
|
|
4
|
-
static register(tool: ToolConfigurator): void;
|
|
5
|
-
static get(toolId: string): ToolConfigurator | undefined;
|
|
6
|
-
static getAll(): ToolConfigurator[];
|
|
7
|
-
static getAvailable(): ToolConfigurator[];
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ClaudeConfigurator } from './claude.js';
|
|
2
|
-
import { ClineConfigurator } from './cline.js';
|
|
3
|
-
import { CodeBuddyConfigurator } from './codebuddy.js';
|
|
4
|
-
import { CostrictConfigurator } from './costrict.js';
|
|
5
|
-
import { QoderConfigurator } from './qoder.js';
|
|
6
|
-
import { IflowConfigurator } from './iflow.js';
|
|
7
|
-
import { AgentsStandardConfigurator } from './agents.js';
|
|
8
|
-
import { QwenConfigurator } from './qwen.js';
|
|
9
|
-
export class ToolRegistry {
|
|
10
|
-
static tools = new Map();
|
|
11
|
-
static {
|
|
12
|
-
const claudeConfigurator = new ClaudeConfigurator();
|
|
13
|
-
const clineConfigurator = new ClineConfigurator();
|
|
14
|
-
const codeBuddyConfigurator = new CodeBuddyConfigurator();
|
|
15
|
-
const costrictConfigurator = new CostrictConfigurator();
|
|
16
|
-
const qoderConfigurator = new QoderConfigurator();
|
|
17
|
-
const iflowConfigurator = new IflowConfigurator();
|
|
18
|
-
const agentsConfigurator = new AgentsStandardConfigurator();
|
|
19
|
-
const qwenConfigurator = new QwenConfigurator();
|
|
20
|
-
// Register with the ID that matches the checkbox value
|
|
21
|
-
this.tools.set('claude', claudeConfigurator);
|
|
22
|
-
this.tools.set('cline', clineConfigurator);
|
|
23
|
-
this.tools.set('codebuddy', codeBuddyConfigurator);
|
|
24
|
-
this.tools.set('costrict', costrictConfigurator);
|
|
25
|
-
this.tools.set('qoder', qoderConfigurator);
|
|
26
|
-
this.tools.set('iflow', iflowConfigurator);
|
|
27
|
-
this.tools.set('agents', agentsConfigurator);
|
|
28
|
-
this.tools.set('qwen', qwenConfigurator);
|
|
29
|
-
}
|
|
30
|
-
static register(tool) {
|
|
31
|
-
this.tools.set(tool.name.toLowerCase().replace(/\s+/g, '-'), tool);
|
|
32
|
-
}
|
|
33
|
-
static get(toolId) {
|
|
34
|
-
return this.tools.get(toolId);
|
|
35
|
-
}
|
|
36
|
-
static getAll() {
|
|
37
|
-
return Array.from(this.tools.values());
|
|
38
|
-
}
|
|
39
|
-
static getAvailable() {
|
|
40
|
-
return this.getAll().filter(tool => tool.isAvailable);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
3
|
-
export declare class AmazonQSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
4
|
-
readonly toolId = "amazon-q";
|
|
5
|
-
readonly isAvailable = true;
|
|
6
|
-
protected getRelativePath(id: SlashCommandId): string;
|
|
7
|
-
protected getFrontmatter(id: SlashCommandId): string;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=amazon-q.d.ts.map
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
const FILE_PATHS = {
|
|
3
|
-
proposal: '.amazonq/prompts/openspec-proposal.md',
|
|
4
|
-
apply: '.amazonq/prompts/openspec-apply.md',
|
|
5
|
-
archive: '.amazonq/prompts/openspec-archive.md'
|
|
6
|
-
};
|
|
7
|
-
const FRONTMATTER = {
|
|
8
|
-
proposal: `---
|
|
9
|
-
description: Scaffold a new OpenSpec change and validate strictly.
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
The user has requested the following change proposal. Use the openspec instructions to create their change proposal.
|
|
13
|
-
|
|
14
|
-
<UserRequest>
|
|
15
|
-
$ARGUMENTS
|
|
16
|
-
</UserRequest>`,
|
|
17
|
-
apply: `---
|
|
18
|
-
description: Implement an approved OpenSpec change and keep tasks in sync.
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
The user wants to apply the following change. Use the openspec instructions to implement the approved change.
|
|
22
|
-
|
|
23
|
-
<ChangeId>
|
|
24
|
-
$ARGUMENTS
|
|
25
|
-
</ChangeId>`,
|
|
26
|
-
archive: `---
|
|
27
|
-
description: Archive a deployed OpenSpec change and update specs.
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
The user wants to archive the following deployed change. Use the openspec instructions to archive the change and update specs.
|
|
31
|
-
|
|
32
|
-
<ChangeId>
|
|
33
|
-
$ARGUMENTS
|
|
34
|
-
</ChangeId>`
|
|
35
|
-
};
|
|
36
|
-
export class AmazonQSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
37
|
-
toolId = 'amazon-q';
|
|
38
|
-
isAvailable = true;
|
|
39
|
-
getRelativePath(id) {
|
|
40
|
-
return FILE_PATHS[id];
|
|
41
|
-
}
|
|
42
|
-
getFrontmatter(id) {
|
|
43
|
-
return FRONTMATTER[id];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=amazon-q.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
3
|
-
export declare class AntigravitySlashCommandConfigurator extends SlashCommandConfigurator {
|
|
4
|
-
readonly toolId = "antigravity";
|
|
5
|
-
readonly isAvailable = true;
|
|
6
|
-
protected getRelativePath(id: SlashCommandId): string;
|
|
7
|
-
protected getFrontmatter(id: SlashCommandId): string | undefined;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=antigravity.d.ts.map
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
const FILE_PATHS = {
|
|
3
|
-
proposal: '.agent/workflows/openspec-proposal.md',
|
|
4
|
-
apply: '.agent/workflows/openspec-apply.md',
|
|
5
|
-
archive: '.agent/workflows/openspec-archive.md'
|
|
6
|
-
};
|
|
7
|
-
const DESCRIPTIONS = {
|
|
8
|
-
proposal: 'Scaffold a new OpenSpec change and validate strictly.',
|
|
9
|
-
apply: 'Implement an approved OpenSpec change and keep tasks in sync.',
|
|
10
|
-
archive: 'Archive a deployed OpenSpec change and update specs.'
|
|
11
|
-
};
|
|
12
|
-
export class AntigravitySlashCommandConfigurator extends SlashCommandConfigurator {
|
|
13
|
-
toolId = 'antigravity';
|
|
14
|
-
isAvailable = true;
|
|
15
|
-
getRelativePath(id) {
|
|
16
|
-
return FILE_PATHS[id];
|
|
17
|
-
}
|
|
18
|
-
getFrontmatter(id) {
|
|
19
|
-
const description = DESCRIPTIONS[id];
|
|
20
|
-
return `---\ndescription: ${description}\n---`;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=antigravity.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
3
|
-
export declare class AuggieSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
4
|
-
readonly toolId = "auggie";
|
|
5
|
-
readonly isAvailable = true;
|
|
6
|
-
protected getRelativePath(id: SlashCommandId): string;
|
|
7
|
-
protected getFrontmatter(id: SlashCommandId): string;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=auggie.d.ts.map
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
const FILE_PATHS = {
|
|
3
|
-
proposal: '.augment/commands/openspec-proposal.md',
|
|
4
|
-
apply: '.augment/commands/openspec-apply.md',
|
|
5
|
-
archive: '.augment/commands/openspec-archive.md'
|
|
6
|
-
};
|
|
7
|
-
const FRONTMATTER = {
|
|
8
|
-
proposal: `---
|
|
9
|
-
description: Scaffold a new OpenSpec change and validate strictly.
|
|
10
|
-
argument-hint: feature description or request
|
|
11
|
-
---`,
|
|
12
|
-
apply: `---
|
|
13
|
-
description: Implement an approved OpenSpec change and keep tasks in sync.
|
|
14
|
-
argument-hint: change-id
|
|
15
|
-
---`,
|
|
16
|
-
archive: `---
|
|
17
|
-
description: Archive a deployed OpenSpec change and update specs.
|
|
18
|
-
argument-hint: change-id
|
|
19
|
-
---`
|
|
20
|
-
};
|
|
21
|
-
export class AuggieSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
22
|
-
toolId = 'auggie';
|
|
23
|
-
isAvailable = true;
|
|
24
|
-
getRelativePath(id) {
|
|
25
|
-
return FILE_PATHS[id];
|
|
26
|
-
}
|
|
27
|
-
getFrontmatter(id) {
|
|
28
|
-
return FRONTMATTER[id];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=auggie.js.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
2
|
-
export interface SlashCommandTarget {
|
|
3
|
-
id: SlashCommandId;
|
|
4
|
-
path: string;
|
|
5
|
-
kind: 'slash';
|
|
6
|
-
}
|
|
7
|
-
export declare abstract class SlashCommandConfigurator {
|
|
8
|
-
abstract readonly toolId: string;
|
|
9
|
-
abstract readonly isAvailable: boolean;
|
|
10
|
-
getTargets(): SlashCommandTarget[];
|
|
11
|
-
generateAll(projectPath: string, _openspecDir: string): Promise<string[]>;
|
|
12
|
-
updateExisting(projectPath: string, _openspecDir: string): Promise<string[]>;
|
|
13
|
-
protected abstract getRelativePath(id: SlashCommandId): string;
|
|
14
|
-
protected abstract getFrontmatter(id: SlashCommandId): string | undefined;
|
|
15
|
-
protected getBody(id: SlashCommandId): string;
|
|
16
|
-
resolveAbsolutePath(projectPath: string, id: SlashCommandId): string;
|
|
17
|
-
protected updateBody(filePath: string, body: string): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { FileSystemUtils } from '../../../utils/file-system.js';
|
|
2
|
-
import { TemplateManager } from '../../templates/index.js';
|
|
3
|
-
import { OPENSPEC_MARKERS } from '../../config.js';
|
|
4
|
-
const ALL_COMMANDS = ['proposal', 'apply', 'archive'];
|
|
5
|
-
export class SlashCommandConfigurator {
|
|
6
|
-
getTargets() {
|
|
7
|
-
return ALL_COMMANDS.map((id) => ({
|
|
8
|
-
id,
|
|
9
|
-
path: this.getRelativePath(id),
|
|
10
|
-
kind: 'slash'
|
|
11
|
-
}));
|
|
12
|
-
}
|
|
13
|
-
async generateAll(projectPath, _openspecDir) {
|
|
14
|
-
const createdOrUpdated = [];
|
|
15
|
-
for (const target of this.getTargets()) {
|
|
16
|
-
const body = this.getBody(target.id);
|
|
17
|
-
const filePath = FileSystemUtils.joinPath(projectPath, target.path);
|
|
18
|
-
if (await FileSystemUtils.fileExists(filePath)) {
|
|
19
|
-
await this.updateBody(filePath, body);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const frontmatter = this.getFrontmatter(target.id);
|
|
23
|
-
const sections = [];
|
|
24
|
-
if (frontmatter) {
|
|
25
|
-
sections.push(frontmatter.trim());
|
|
26
|
-
}
|
|
27
|
-
sections.push(`${OPENSPEC_MARKERS.start}\n${body}\n${OPENSPEC_MARKERS.end}`);
|
|
28
|
-
const content = sections.join('\n') + '\n';
|
|
29
|
-
await FileSystemUtils.writeFile(filePath, content);
|
|
30
|
-
}
|
|
31
|
-
createdOrUpdated.push(target.path);
|
|
32
|
-
}
|
|
33
|
-
return createdOrUpdated;
|
|
34
|
-
}
|
|
35
|
-
async updateExisting(projectPath, _openspecDir) {
|
|
36
|
-
const updated = [];
|
|
37
|
-
for (const target of this.getTargets()) {
|
|
38
|
-
const filePath = FileSystemUtils.joinPath(projectPath, target.path);
|
|
39
|
-
if (await FileSystemUtils.fileExists(filePath)) {
|
|
40
|
-
const body = this.getBody(target.id);
|
|
41
|
-
await this.updateBody(filePath, body);
|
|
42
|
-
updated.push(target.path);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return updated;
|
|
46
|
-
}
|
|
47
|
-
getBody(id) {
|
|
48
|
-
return TemplateManager.getSlashCommandBody(id).trim();
|
|
49
|
-
}
|
|
50
|
-
// Resolve absolute path for a given slash command target. Subclasses may override
|
|
51
|
-
// to redirect to tool-specific locations (e.g., global directories).
|
|
52
|
-
resolveAbsolutePath(projectPath, id) {
|
|
53
|
-
const rel = this.getRelativePath(id);
|
|
54
|
-
return FileSystemUtils.joinPath(projectPath, rel);
|
|
55
|
-
}
|
|
56
|
-
async updateBody(filePath, body) {
|
|
57
|
-
const content = await FileSystemUtils.readFile(filePath);
|
|
58
|
-
const startIndex = content.indexOf(OPENSPEC_MARKERS.start);
|
|
59
|
-
const endIndex = content.indexOf(OPENSPEC_MARKERS.end);
|
|
60
|
-
if (startIndex === -1 || endIndex === -1 || endIndex <= startIndex) {
|
|
61
|
-
throw new Error(`Missing OpenSpec markers in ${filePath}`);
|
|
62
|
-
}
|
|
63
|
-
const before = content.slice(0, startIndex + OPENSPEC_MARKERS.start.length);
|
|
64
|
-
const after = content.slice(endIndex);
|
|
65
|
-
const updatedContent = `${before}\n${body}\n${after}`;
|
|
66
|
-
await FileSystemUtils.writeFile(filePath, updatedContent);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
3
|
-
export declare class ClaudeSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
4
|
-
readonly toolId = "claude";
|
|
5
|
-
readonly isAvailable = true;
|
|
6
|
-
protected getRelativePath(id: SlashCommandId): string;
|
|
7
|
-
protected getFrontmatter(id: SlashCommandId): string;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
const FILE_PATHS = {
|
|
3
|
-
proposal: '.claude/commands/openspec/proposal.md',
|
|
4
|
-
apply: '.claude/commands/openspec/apply.md',
|
|
5
|
-
archive: '.claude/commands/openspec/archive.md'
|
|
6
|
-
};
|
|
7
|
-
const FRONTMATTER = {
|
|
8
|
-
proposal: `---
|
|
9
|
-
name: OpenSpec: Proposal
|
|
10
|
-
description: Scaffold a new OpenSpec change and validate strictly.
|
|
11
|
-
category: OpenSpec
|
|
12
|
-
tags: [openspec, change]
|
|
13
|
-
---`,
|
|
14
|
-
apply: `---
|
|
15
|
-
name: OpenSpec: Apply
|
|
16
|
-
description: Implement an approved OpenSpec change and keep tasks in sync.
|
|
17
|
-
category: OpenSpec
|
|
18
|
-
tags: [openspec, apply]
|
|
19
|
-
---`,
|
|
20
|
-
archive: `---
|
|
21
|
-
name: OpenSpec: Archive
|
|
22
|
-
description: Archive a deployed OpenSpec change and update specs.
|
|
23
|
-
category: OpenSpec
|
|
24
|
-
tags: [openspec, archive]
|
|
25
|
-
---`
|
|
26
|
-
};
|
|
27
|
-
export class ClaudeSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
28
|
-
toolId = 'claude';
|
|
29
|
-
isAvailable = true;
|
|
30
|
-
getRelativePath(id) {
|
|
31
|
-
return FILE_PATHS[id];
|
|
32
|
-
}
|
|
33
|
-
getFrontmatter(id) {
|
|
34
|
-
return FRONTMATTER[id];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=claude.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SlashCommandConfigurator } from './base.js';
|
|
2
|
-
import { SlashCommandId } from '../../templates/index.js';
|
|
3
|
-
export declare class ClineSlashCommandConfigurator extends SlashCommandConfigurator {
|
|
4
|
-
readonly toolId = "cline";
|
|
5
|
-
readonly isAvailable = true;
|
|
6
|
-
protected getRelativePath(id: SlashCommandId): string;
|
|
7
|
-
protected getFrontmatter(id: SlashCommandId): string | undefined;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=cline.d.ts.map
|