aboutsummaryrefslogtreecommitdiff
path: root/claude-rules
diff options
context:
space:
mode:
Diffstat (limited to 'claude-rules')
-rw-r--r--claude-rules/working-files.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/claude-rules/working-files.md b/claude-rules/working-files.md
index 2432268..b915579 100644
--- a/claude-rules/working-files.md
+++ b/claude-rules/working-files.md
@@ -26,6 +26,28 @@ hits a nested path instead of a single canonical name. Always rename the
files individually with a shared prefix so they sort together but live as
flat siblings in `assets/`.
+## `working/` Is Version-Controlled From Creation
+
+`working/` holds the project work currently being developed, so it is
+tracked in git the moment a task subdirectory and its artifacts are created —
+not staged locally and excluded until it graduates. `working/` is the tracked
+home of in-progress work, and it is never added to `.gitignore` (the
+install/sweep tooling deliberately leaves it out).
+
+Filing on completion **reorganizes** durable artifacts into their permanent
+homes; it does not mark the point at which they first become durable. The
+artifacts were durable — and tracked — from creation. Graduation is a move,
+not a promotion from throwaway to keep.
+
+The corollary: genuinely disposable work does not belong in `working/`.
+Ephemeral, single-use, or regenerable artifacts — scratch output, a
+throwaway conversion, intermediate data you will delete — go in a project-root
+`temp/` directory (gitignored) or system `/tmp`, never in `working/`.
+`working/` is for work that will graduate; `temp/` is for work that will be
+thrown away. The install tooling ignores `temp/` in both track and
+gitignore-mode projects, since ephemerality is independent of whether a
+project tracks its `.ai/` tooling.
+
## Directory Layout
<project-root>/