Project Files
src / schemas.ts
import { z } from "zod";
// Enum for template types
export const TemplateTypeEnum = z.enum([
"agent_rules",
"rosetta_stone",
"script_vision",
"script_spec",
"custom",
]);
export type TemplateType = z.infer<typeof TemplateTypeEnum>;
// Frontmatter schema
export const FrontmatterSchema = z.object({
id: z.string().optional(),
module: z.string().optional(),
version: z.string().optional(),
strict_mode: z.boolean().optional(),
dependencies: z.array(z.string()).optional(),
ai_behavior: z
.enum(["critical_honesty", "creative", "assistive"])
.optional(),
});
export type Frontmatter = z.infer<typeof FrontmatterSchema>;
// Parameters for create_markdown_file tool
export const CreateMarkdownFileParams = z.object({
file_name: z.string(),
content: z.string(),
template_type: TemplateTypeEnum.optional(),
frontmatter: FrontmatterSchema.optional(),
force: z.boolean().optional(),
});
export type CreateMarkdownFileParams = z.infer<typeof CreateMarkdownFileParams>;
// Parameters for validate_markdown_structure tool
export const ValidateMarkdownStructureParams = z.object({
content: z.string(),
});
export type ValidateMarkdownStructureParams = z.infer<
typeof ValidateMarkdownStructureParams
>;
// Validation result
export const ValidationResultSchema = z.object({
valid: z.boolean(),
hasFrontmatter: z.boolean(),
hasInlineMetadata: z.boolean(),
hasSectionIds: z.boolean(),
errors: z.array(z.string()),
warnings: z.array(z.string()),
});
export type ValidationResult = z.infer<typeof ValidationResultSchema>;
// Template content references (minimal - just structure hints)
export const TEMPLATE_STRUCTURES: Record<TemplateType, string> = {
agent_rules: `---{{frontmatter}}
# 🎯 Zasady Agenta (Agent Rules): {{project_module_name}}
*Standardy kodowania, architektury i filozofia współpracy*
---
## 🤝 Sekcja §99: Filozofia Współpracy
...
## đź”´ NIENEGOCJOWALNE ZASADY (The Rules)
> [!DANGER] KAŻDY plik MUSI być zgodny ze standardem...
## 🟢 REKOMENDOWANE WZORCE (The Patterns)
...
## 📝 Karta Feedbacku`,
rosetta_stone: `---{{frontmatter}}
# 🗿 Kamień z Rosetty (Rosetta Stone): {{document_name}}
*Narzędzie transformacji dokumentacji...*
---
## đź“‹ Metadane Procesu
...
## 🔍 Analiza i Dekonstrukcja
...
## 🛠️ Nowa Struktura Adresowalna
...
## 📦 Mapowanie do Bazy Wiedzy`,
script_vision: `---{{frontmatter}}
# đź’ˇ Wizja Skryptu: {{script_name}}
*Od pomysłu do intencji – co chcemy osiągnąć?*
---
## âť“ Jaki problem rozwiÄ…zujemy? (The Problem)
...
## đź”® OgĂłlna Idea i Zachowanie (The Concept)
...
## 📚 Co musisz zgłębić? (Required Context)`,
script_spec: `---{{frontmatter}}
# 📜 Specyfikacja Skryptu: {{script_name}}
*Status: [đź§Ş DRAFT / đź“‹ PLANNED / âś… READY]*
---
## 🚀 Wyzwalacz i Użycie (Usage & Trigger)
...
## ⚙️ Funkcjonalność (Features)
...
## 📊 Wyjście (Output Example)`,
custom: "",
};