From 5cbd988b46d78d9587e1e4a92b0f1dcb461fce09 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 9 May 2026 19:11:13 +0100 Subject: [PATCH] Have pi format most markdown files on save Avoiding skills as they can contain generated blocks --- .pi/extensions/format-on-edit.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.pi/extensions/format-on-edit.ts b/.pi/extensions/format-on-edit.ts index 918f8bb3..d9209000 100644 --- a/.pi/extensions/format-on-edit.ts +++ b/.pi/extensions/format-on-edit.ts @@ -9,6 +9,16 @@ function isPiTsFile(path: string, cwd: string): boolean { return resolve(cwd, path).startsWith(piDir); } +function isDocsMd(path: string): boolean { + // Matches docs/*.md — only direct children, not nested + return /^docs\/[^/]+\.md$/.test(path); +} + +function isBacklogMd(path: string): boolean { + // Matches backlog/**/*.md — any depth under backlog/ + return /^backlog\/.+\.md$/.test(path); +} + async function formatElixir( pi: ExtensionAPI, path: string, @@ -42,6 +52,12 @@ export default function (pi: ExtensionAPI) { } catch { /* ignore */ } + } else if (isDocsMd(path) || isBacklogMd(path)) { + try { + await formatTypeScript(pi, path, ctx.signal); + } catch { + /* ignore */ + } } else if (isPiTsFile(path, ctx.cwd)) { try { await formatTypeScript(pi, path, ctx.signal);