diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-18 22:33:40 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-18 22:33:40 -0400 |
| commit | 3e46a6fa95e0518f837c2f5e3ee601d84ddc666a (patch) | |
| tree | 712e2af96bf4fd4b3247e2c6a1fa07b1901d595d /claude-templates | |
| parent | 049a9f8ac380df39cac285032cf1fedcb6f566bf (diff) | |
| download | rulesets-3e46a6fa95e0518f837c2f5e3ee601d84ddc666a.tar.gz rulesets-3e46a6fa95e0518f837c2f5e3ee601d84ddc666a.zip | |
feat(rules): working-files convention for in-progress task artifacts
I added claude-rules/working-files.md as the canonical convention. In-progress task artifacts live in working/<task-slug>/ under the project root. On task completion the files get renamed individually with a YYYY-MM-DD-<slug>-<descriptor> shape and moved flat into assets/ (or the area-specific assets/). Never rename the directory as a substitute for filing, since that loses the flat-searchable property of assets/.
claude-templates/.ai/protocols.org gained a short reference to the rule so it propagates to every project's .ai/protocols.org on the next startup rsync.
Diffstat (limited to 'claude-templates')
| -rw-r--r-- | claude-templates/.ai/protocols.org | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org index 30b0274..57ebf87 100644 --- a/claude-templates/.ai/protocols.org +++ b/claude-templates/.ai/protocols.org @@ -158,6 +158,18 @@ Each project's =.ai/= is the scope boundary: =protocols.org=, =session-context.o Canonical rule: =~/code/rulesets/claude-rules/cross-project.md=. +** Working-Files Convention — =working/<task-slug>/= for In-Progress Artifacts + +Every in-progress task that produces files (drafts, source documents, diagrams, scripts, sub-deliverables) gets a dedicated subdirectory under =<project-root>/working/=, named after the task. All artifacts for that task live in that subdirectory until the task is marked done. + +When the task ships, files are **renamed individually** (standard form: =YYYY-MM-DD-<task-slug>-<descriptor>.<ext>=) and **moved flat** into the appropriate permanent home (typically =assets/= or an area-specific =<area>/assets/=). The working subdirectory is then empty and gets deleted. + +***Never rename the directory itself as a substitute for filing.*** The point is to keep =assets/= flat-searchable — a nested =assets/old-tech-deck-2026/slide.png= is harder to find than =assets/2026-05-18-tech-deck-vol2-slide-04-diagram.png=. + +When the user starts a new task that will produce file artifacts, propose the =working/<task-slug>/= path before creating any files. Add or update the inbound link in =todo.org= to point at the working dir. When the user marks the task done, list every file, propose renames + permanent homes, move flat after confirmation, delete the empty subdir, update inbound links. + +Canonical rule: =~/code/rulesets/claude-rules/working-files.md=. + * Important Terminology ** "Let's run the [X] workflow" vs "I want to create an [X] workflow" |
