feat: 项目基础设施、类型定义和依赖
This commit is contained in:
8
bun.lock
8
bun.lock
@@ -4,6 +4,10 @@
|
|||||||
"workspaces": {
|
"workspaces": {
|
||||||
"": {
|
"": {
|
||||||
"name": "rune",
|
"name": "rune",
|
||||||
|
"dependencies": {
|
||||||
|
"cac": "^6.7.14",
|
||||||
|
"yaml": "^2.7.0",
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bun": "latest",
|
"@types/bun": "latest",
|
||||||
},
|
},
|
||||||
@@ -19,8 +23,12 @@
|
|||||||
|
|
||||||
"bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="],
|
"bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="],
|
||||||
|
|
||||||
|
"cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
|
||||||
|
|
||||||
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
||||||
|
|
||||||
"undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="],
|
"undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="],
|
||||||
|
|
||||||
|
"yaml": ["yaml@2.9.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
10
package.json
10
package.json
@@ -1,12 +1,20 @@
|
|||||||
{
|
{
|
||||||
"name": "rune",
|
"name": "rune",
|
||||||
"module": "index.ts",
|
"version": "0.1.0",
|
||||||
|
"module": "src/cli.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
"bin": {
|
||||||
|
"rune": "./src/cli.ts"
|
||||||
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bun": "latest"
|
"@types/bun": "latest"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": "^5"
|
"typescript": "^5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cac": "^6.7.14",
|
||||||
|
"yaml": "^2.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
51
src/types.ts
Normal file
51
src/types.ts
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
export interface DocumentConfig {
|
||||||
|
name: string;
|
||||||
|
prompt: string;
|
||||||
|
template?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DiscussStage {
|
||||||
|
prompt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PlanStage {
|
||||||
|
documents: DocumentConfig[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BuildStage {
|
||||||
|
prompt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ArchiveStage {
|
||||||
|
prompt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface StagesConfig {
|
||||||
|
discuss?: DiscussStage;
|
||||||
|
plan?: PlanStage;
|
||||||
|
build?: BuildStage;
|
||||||
|
archive?: ArchiveStage;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RuneConfig {
|
||||||
|
stages: StagesConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TaskItem {
|
||||||
|
checked: boolean;
|
||||||
|
text: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ChangeStatus {
|
||||||
|
name: string;
|
||||||
|
documents: string[];
|
||||||
|
taskProgress: { completed: number; total: number } | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const STAGES = ["discuss", "plan", "build", "archive"] as const;
|
||||||
|
export type Stage = (typeof STAGES)[number];
|
||||||
|
|
||||||
|
export const RUNE_DIR = ".rune";
|
||||||
|
export const CONFIG_FILE = "config.yaml";
|
||||||
|
export const CHANGES_DIR = "changes";
|
||||||
|
export const ARCHIVE_DIR = "archive";
|
||||||
Reference in New Issue
Block a user