chore: move appdata folder to .claudeDo

This commit is contained in:
Mika Kuns
2026-08-26 14:26:19 +02:00
parent 7fe8729603
commit c4928b4def
24 changed files with 99 additions and 56 deletions
+7 -7
View File
@@ -49,7 +49,7 @@ Each step implements `IInstallStep`; `InstallerService` runs them sequentially,
`StopWorkerStep` → `DownloadAndExtractStep` → `RegisterAutostartStep` → `StartWorkerStep`
**Uninstall** (`UninstallRunner`):
Stop worker → remove legacy task/service → delete HKLM uninstall key + shortcuts → delete install dir (cmd.exe trampoline if uninstaller exe is inside it) → optionally delete `~/.todo-app`
Stop worker → remove legacy task/service → delete HKLM uninstall key + shortcuts → delete install dir (cmd.exe trampoline if uninstaller exe is inside it) → optionally delete `~/.claudeDo`
## Folder Layout
@@ -97,9 +97,9 @@ and restored if it fails.
| Property | Default |
|---|---|
| `InstallDirectory` | `C:\Program Files\ClaudeDo` |
| `DbPath` | `~/.todo-app/todo.db` |
| `LogRoot` | `~/.todo-app/logs` |
| `SandboxRoot` | `~/.todo-app/sandbox` |
| `DbPath` | `~/.claudeDo/todo.db` |
| `LogRoot` | `~/.claudeDo/logs` |
| `SandboxRoot` | `~/.claudeDo/sandbox` |
| `WorktreeRootStrategy` | `sibling` |
| `SignalRPort` | `47821` |
| `ExternalMcpPort` | `47822` |
@@ -112,9 +112,9 @@ and restored if it fails.
| Path | Content |
|---|---|
| `~/.todo-app/worker.config.json` | Worker config |
| `~/.todo-app/ui.config.json` | UI config |
| `~/.todo-app/todo.db` | SQLite DB (EF migrations) |
| `~/.claudeDo/worker.config.json` | Worker config |
| `~/.claudeDo/ui.config.json` | UI config |
| `~/.claudeDo/todo.db` | SQLite DB (EF migrations) |
| `<InstallDir>\install.json` | Install manifest |
| `<InstallDir>\app\` | UI binaries |
| `<InstallDir>\worker\` | Worker binaries |
+5 -5
View File
@@ -29,19 +29,19 @@ internal static class JsonConfigFile
public sealed class InstallerWorkerConfig
{
[JsonPropertyName("db_path")]
public string DbPath { get; set; } = "~/.todo-app/todo.db";
public string DbPath { get; set; } = "~/.claudeDo/todo.db";
[JsonPropertyName("sandbox_root")]
public string SandboxRoot { get; set; } = "~/.todo-app/sandbox";
public string SandboxRoot { get; set; } = "~/.claudeDo/sandbox";
[JsonPropertyName("log_root")]
public string LogRoot { get; set; } = "~/.todo-app/logs";
public string LogRoot { get; set; } = "~/.claudeDo/logs";
[JsonPropertyName("worktree_root_strategy")]
public string WorktreeRootStrategy { get; set; } = "sibling";
[JsonPropertyName("central_worktree_root")]
public string CentralWorktreeRoot { get; set; } = "~/.todo-app/worktrees";
public string CentralWorktreeRoot { get; set; } = "~/.claudeDo/worktrees";
[JsonPropertyName("queue_backstop_interval_ms")]
public int QueueBackstopIntervalMs { get; set; } = 30_000;
@@ -78,7 +78,7 @@ public sealed class InstallerWorkerConfig
/// </summary>
public sealed class InstallerAppSettings
{
public string DbPath { get; set; } = "~/.todo-app/todo.db";
public string DbPath { get; set; } = "~/.claudeDo/todo.db";
public string SignalRUrl { get; set; } = "http://127.0.0.1:47821/hub";
public string Language { get; set; } = "";
@@ -13,11 +13,11 @@ public sealed class InstallContext
public bool LatestTagUnparseable { get; set; } // true if latest tag isn't a System.Version
// PathsPage
public string DbPath { get; set; } = "~/.todo-app/todo.db";
public string LogRoot { get; set; } = "~/.todo-app/logs";
public string SandboxRoot { get; set; } = "~/.todo-app/sandbox";
public string DbPath { get; set; } = "~/.claudeDo/todo.db";
public string LogRoot { get; set; } = "~/.claudeDo/logs";
public string SandboxRoot { get; set; } = "~/.claudeDo/sandbox";
public string WorktreeRootStrategy { get; set; } = "sibling";
public string CentralWorktreeRoot { get; set; } = "~/.todo-app/worktrees";
public string CentralWorktreeRoot { get; set; } = "~/.claudeDo/worktrees";
// ServicePage
public int SignalRPort { get; set; } = 47_821;
@@ -28,7 +28,7 @@ public sealed class InstallContext
// UiSettingsPage
public string SignalRUrl { get; set; } = "http://127.0.0.1:47821/hub";
public string UiDbPath { get; set; } = "~/.todo-app/todo.db";
public string UiDbPath { get; set; } = "~/.claudeDo/todo.db";
// InstallPage
public bool CreateDesktopShortcut { get; set; } = true;
@@ -72,7 +72,7 @@ public sealed class UninstallRunner
// 6) Delete data dir (config + DB + logs) — only if user opted in.
// Prefer the manifest-recorded DataDir so a customised DbPath is honoured;
// fall back to the default ~/.todo-app for older manifests.
// fall back to the default app data root for older manifests.
if (removeAppData)
{
var manifest = InstallManifestStore.TryRead(_context.InstallDirectory);
@@ -17,11 +17,11 @@ public partial class PathsPageViewModel : ObservableObject, IInstallerPage
public bool ShowInSettings => true;
public UserControl View => _view ??= new PathsPageView { DataContext = this };
[ObservableProperty] private string _dbPath = "~/.todo-app/todo.db";
[ObservableProperty] private string _logRoot = "~/.todo-app/logs";
[ObservableProperty] private string _sandboxRoot = "~/.todo-app/sandbox";
[ObservableProperty] private string _dbPath = "~/.claudeDo/todo.db";
[ObservableProperty] private string _logRoot = "~/.claudeDo/logs";
[ObservableProperty] private string _sandboxRoot = "~/.claudeDo/sandbox";
[ObservableProperty] private string _worktreeRootStrategy = "sibling";
[ObservableProperty] private string _centralWorktreeRoot = "~/.todo-app/worktrees";
[ObservableProperty] private string _centralWorktreeRoot = "~/.claudeDo/worktrees";
[ObservableProperty] private string? _validationError;
public bool IsCentralVisible => WorktreeRootStrategy == "central";
@@ -18,7 +18,7 @@ public partial class UiSettingsPageViewModel : ObservableObject, IInstallerPage
public UserControl View => _view ??= new UiSettingsPageView { DataContext = this };
[ObservableProperty] private string _signalRUrl = "http://127.0.0.1:47821/hub";
[ObservableProperty] private string _uiDbPath = "~/.todo-app/todo.db";
[ObservableProperty] private string _uiDbPath = "~/.claudeDo/todo.db";
[ObservableProperty] private bool _isSynced = true;
[ObservableProperty] private string? _validationError;
@@ -183,7 +183,7 @@ public partial class SettingsViewModel : ObservableObject
{
var dataNote = RemoveAppData
? "This will remove ClaudeDo AND delete all of your tasks, configuration, and database.\n\nContinue?"
: "This will remove ClaudeDo. Your tasks, configuration, and database in ~/.todo-app will be kept.\n\nContinue?";
: "This will remove ClaudeDo. Your tasks, configuration, and database in ~/.claudeDo will be kept.\n\nContinue?";
var confirm = MessageBox.Show(
dataNote,