use std::fs; use std::path::Path; use rusqlite::Connection; use uuid::Uuid; use crate::db::queries::template as qt; use crate::engine::{EngineError, EngineResult}; use crate::model::{Template, TemplateKind, TemplateStatus}; use crate::util::frontmatter::{write_template_file, TemplateFrontmatter}; use crate::util::{atomic_write_str, ensure_unique, now_unix_ms, slugify}; /// Create a new draft template. Content stored in DB, no file written. pub fn create_template( conn: &Connection, project_id: &str, title: &str, kind: TemplateKind, content: &str, ) -> EngineResult