@forge/manifest

13.1.1-next.2-experimental-094961613.2.0-next.5
out/validators/modules-validators/rovo/skill-file-rules.d.ts
+out/validators/modules-validators/rovo/skill-file-rules.d.tsNew file
+30
Index: package/out/validators/modules-validators/rovo/skill-file-rules.d.ts
===================================================================
--- package/out/validators/modules-validators/rovo/skill-file-rules.d.ts
+++ package/out/validators/modules-validators/rovo/skill-file-rules.d.ts
@@ -0,0 +1,30 @@
+import { AllModuleTypes, ValidationError } from '../../../types';
+import { Modules } from '../../../schema/manifest';
+export type SkillModule = NonNullable<Modules[AllModuleTypes.RovoSkill]>[number];
+export type SkillContext = {
+    skill: SkillModule;
+    skillDirectory: string;
+    parentDirectoryName: string;
+    frontmatter: Record<string, unknown>;
+    body: string;
+    bodyLines: string[];
+    referencedBodyFiles: string[];
+    dependencyTools: string[];
+    unknownFrontmatterFields: string[];
+    metadata: unknown;
+    metadataEntries: [string, unknown][];
+    allowedTools: unknown;
+};
+export type SkillValidator = {
+    check: (context: SkillContext) => boolean;
+    errorMessageGenerator: (context: SkillContext) => string;
+    errorType: ValidationError['level'];
+};
+export declare const allowedFrontmatterFields: Set<string>;
+export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
+export declare const skillValidationRules: SkillValidator[];
+export declare const buildUnknownFrontmatterFieldValidators: (context: SkillContext) => SkillValidator[];
+export declare const buildMetadataValueValidators: (context: SkillContext) => SkillValidator[];
+export declare const buildReferencedFileValidators: (context: SkillContext) => SkillValidator[];
+export declare const createAlwaysFailValidator: (errorType: ValidationError["level"], errorMessageGenerator: () => string) => SkillValidator;
+//# sourceMappingURL=skill-file-rules.d.ts.map
\ No newline at end of file