autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
60 lines (59 loc) • 3.46 kB
TypeScript
/**
* UnifiedDimension — 统一维度类型定义
*
* Bootstrap / Panorama / Rescan 共用的维度接口,
* 消除三套维度体系之间的 ID 不一致和字段缺失问题。
*
* @module domain/dimension/UnifiedDimension
*/
/** 统一维度定义 — Bootstrap/Panorama/Rescan 共用 */
export interface UnifiedDimension {
/** 维度唯一 ID,kebab-case */
readonly id: string;
/** 维度中文标签(Dashboard 分组标签) */
readonly label: string;
/** 层级: universal | language | framework */
readonly layer: 'universal' | 'language' | 'framework';
/** Lucide 图标名 */
readonly icon: string;
/** Tailwind 颜色族(如 'violet', 'fuchsia', 'sky') */
readonly colorFamily: string;
/** 提取指南 — 告诉 Agent 从项目中挖掘什么 */
readonly extractionGuide: string;
/** 允许的 knowledgeType */
readonly allowedKnowledgeTypes: readonly string[];
/** 输出模式(当前阶段仅 candidate-only,Skill 后续规划) */
readonly outputMode: 'candidate-only';
/** 健康评估描述 */
readonly qualityDescription: string;
/** 主匹配字段: topicHint */
readonly matchTopics: readonly string[];
/** 次匹配字段: category */
readonly matchCategories: readonly string[];
/** 维度权重 (0-1, Panorama 加权平均) */
readonly weight: number;
/** gap 时的建议主题 */
readonly suggestedTopics: readonly string[];
/** 关联模块角色 (gap 优先级推断) */
readonly relatedRoles: readonly string[];
readonly conditions?: {
readonly languages?: readonly string[];
readonly frameworks?: readonly string[];
};
/** 1=最先 (Tier 1), 2=中间, 3=最后 */
readonly tierHint?: number;
/** Dashboard 展示分组 */
readonly displayGroup: 'architecture' | 'best-practice' | 'data-event-flow' | 'deep-scan';
}
/** Layer 1: 通用维度 ID */
export declare const UNIVERSAL_DIM_IDS: readonly ["architecture", "coding-standards", "design-patterns", "error-resilience", "concurrency-async", "data-event-flow", "networking-api", "ui-interaction", "testing-quality", "security-auth", "performance-optimization", "observability-logging", "agent-guidelines"];
/** Layer 2: 语言维度 ID */
export declare const LANGUAGE_DIM_IDS: readonly ["swift-objc-idiom", "ts-js-module", "python-structure", "jvm-annotation", "go-module", "rust-ownership", "csharp-dotnet"];
/** Layer 3: 框架维度 ID */
export declare const FRAMEWORK_DIM_IDS: readonly ["react-patterns", "vue-patterns", "spring-patterns", "swiftui-patterns", "django-fastapi"];
export type UniversalDimId = (typeof UNIVERSAL_DIM_IDS)[number];
export type LanguageDimId = (typeof LANGUAGE_DIM_IDS)[number];
export type FrameworkDimId = (typeof FRAMEWORK_DIM_IDS)[number];
export type DimensionId = UniversalDimId | LanguageDimId | FrameworkDimId;
/** 所有维度 ID 数组 */
export declare const ALL_DIMENSION_IDS: readonly ["architecture", "coding-standards", "design-patterns", "error-resilience", "concurrency-async", "data-event-flow", "networking-api", "ui-interaction", "testing-quality", "security-auth", "performance-optimization", "observability-logging", "agent-guidelines", "swift-objc-idiom", "ts-js-module", "python-structure", "jvm-annotation", "go-module", "rust-ownership", "csharp-dotnet", "react-patterns", "vue-patterns", "spring-patterns", "swiftui-patterns", "django-fastapi"];