From 3ac34530578b9a6f59bcea6b5aeefd97eb03d588 Mon Sep 17 00:00:00 2001
From: Clawd <ai@clawd.bot>
Date: Sat, 28 Feb 2026 18:46:11 -0800
Subject: Move artifacts to ~/.claude-flow/ (outside repo)

- Store session artifacts in ~/.claude-flow/projects/{projectId}/sessions/{sessionId}/
- Artifacts no longer live in project directory - can't be accidentally committed
- Remove .claude-flow/ from .gitignore (not needed anymore)
- Update all IPC handlers and renderer to use projectId instead of projectPath
- Update prompts to remove worktree references
- Update README with new storage location
---
 renderer/src/App.tsx | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

(limited to 'renderer/src/App.tsx')

diff --git a/renderer/src/App.tsx b/renderer/src/App.tsx
index c56f292..f7ba41d 100644
--- a/renderer/src/App.tsx
+++ b/renderer/src/App.tsx
@@ -92,10 +92,10 @@ export function App() {
       // Load messages
       api.listMessages(selectedSession.id).then(setMessages);
 
-      // Load session-specific artifact
+      // Load session-specific artifact (from ~/.claude-flow/)
       const filename =
         selectedSession.phase === "research" ? "research.md" : "plan.md";
-      api.readSessionArtifact(selectedProject.path, selectedSession.id, filename).then((content) => {
+      api.readSessionArtifact(selectedProject.id, selectedSession.id, filename).then((content) => {
         const text = content || "";
         setDocumentContent(text);
         setOriginalContent(text);
@@ -125,7 +125,7 @@ export function App() {
         if (selectedProject && selectedSession) {
           const filename =
             selectedSession.phase === "research" ? "research.md" : "plan.md";
-          api.readSessionArtifact(selectedProject.path, selectedSession.id, filename).then((content) => {
+          api.readSessionArtifact(selectedProject.id, selectedSession.id, filename).then((content) => {
             const text = content || "";
             setDocumentContent(text);
             setOriginalContent(text);
@@ -193,10 +193,10 @@ export function App() {
     if (!selectedSession || !selectedProject) return;
     setError(null);
     try {
-      // Save user edits first (session-specific)
+      // Save user edits first (session-specific, stored in ~/.claude-flow/)
       const filename =
         selectedSession.phase === "research" ? "research.md" : "plan.md";
-      await api.writeSessionArtifact(selectedProject.path, selectedSession.id, filename, documentContent);
+      await api.writeSessionArtifact(selectedProject.id, selectedSession.id, filename, documentContent);
       setOriginalContent(documentContent);
       setIsLoading(true);
       await api.triggerReview(selectedSession.id);
@@ -210,10 +210,10 @@ export function App() {
     if (!selectedSession || !selectedProject) return;
     setError(null);
     try {
-      // Save any pending edits (session-specific)
+      // Save any pending edits (session-specific, stored in ~/.claude-flow/)
       const filename =
         selectedSession.phase === "research" ? "research.md" : "plan.md";
-      await api.writeSessionArtifact(selectedProject.path, selectedSession.id, filename, documentContent);
+      await api.writeSessionArtifact(selectedProject.id, selectedSession.id, filename, documentContent);
 
       const nextPhase = await api.advancePhase(selectedSession.id);
       if (nextPhase) {
-- 
cgit v1.2.3

