From b255a74441c936f8e27859d57402a15170dcd73a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 26 May 2026 07:36:51 -0500 Subject: docs(protocols): document .ai/project-scripts/ for project-owned scripts A project script dropped into .ai/scripts/ gets wiped on the next startup, because that dir syncs from the template with rsync --delete. There was no documented home for a project's own scripts, the script-side counterpart to .ai/project-workflows/. I added .ai/project-scripts/ to the Directory Architecture table and noted in startup.org that it sits outside the synced set, like project-workflows/. A script a workflow imports lives there. Naming: a Python module imported via sys.path needs an importable name (underscores), while a CLI-invoked script can stay kebab-case like the template tooling. No mechanism change. Startup Phase A only rsyncs protocols.org, workflows/, and scripts/, so project-scripts/ is already sync-safe. This just documents it. --- .ai/protocols.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to '.ai/protocols.org') diff --git a/.ai/protocols.org b/.ai/protocols.org index e4e1310..c709010 100644 --- a/.ai/protocols.org +++ b/.ai/protocols.org @@ -42,7 +42,8 @@ Every file and directory has a defined purpose: | =sessions/= | Archived session files (one per session) — =YYYY-MM-DD-HH-MM-description.org= | | =workflows/= | Template workflows (synced from claude-templates, never edit in project) | | =project-workflows/= | Project-specific workflows (never touched by sync) | -| =scripts/= | Template scripts | +| =scripts/= | Template scripts (synced from claude-templates, never edit in project) | +| =project-scripts/= | Project-specific scripts (never touched by sync; mirrors =project-workflows/=) | | =someday-maybe.org= | Project ideas backlog | ** =docs/= (visible, real project documentation) -- cgit v1.2.3