From 76b89b3e08e40b1dd08d3282b929d86e8c2360a9 Mon Sep 17 00:00:00 2001 From: Albert Edward Jukes III Date: Fri, 26 Jun 2026 19:52:22 -0400 Subject: [PATCH] Onboard workspace, configure UTF-8 BOM, and support any ready storage drive --- .agents/AGENTS.md | 4 ++++ .cursorrules | 5 +++++ .vscode/settings.json | 8 ++++++++ src/DriveTools.GUI.ps1 | 4 ++-- src/DriveTools.psm1 | 4 ++-- 5 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 .cursorrules create mode 100644 .vscode/settings.json diff --git a/.agents/AGENTS.md b/.agents/AGENTS.md index 5d36f4a..dd7a525 100644 --- a/.agents/AGENTS.md +++ b/.agents/AGENTS.md @@ -48,3 +48,7 @@ # Ignore removal errors if status file is already deleted or locked by another process. } ``` + +## 8. Artifact and Workspace File Operations +- **Artifact Directory Bounds**: Always write user-facing reports, plan documents, and walk-throughs in the designated conversation brain directory `C:\Users\ajjuk\.gemini\antigravity\brain\/` and provide `ArtifactMetadata`. +- **Workspace Files**: Never provide `ArtifactMetadata` when creating or modifying files inside the user's workspace directory (e.g. source files, `.vscode/settings.json`, `.cursorrules`). diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..5e6218c --- /dev/null +++ b/.cursorrules @@ -0,0 +1,5 @@ +# MyBookTools Workspace Cursor Rules + +This workspace extends the global AI guidelines. Please refer to: +- Global Rules: [~/.global_ai_rules.md](file:///C:/Users/ajjuk/.global_ai_rules.md) +- Project-Scoped Rules: [.agents/AGENTS.md](file:///C:/Users/ajjuk/.gemini/antigravity/worktrees/MyBookTools/onboard-workspace-project-plan/.agents/AGENTS.md) diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d422a4d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.encoding": "utf8bom", + "files.associations": { + "*.ps1": "powershell", + "*.psm1": "powershell", + "*.psd1": "powershell" + } +} diff --git a/src/DriveTools.GUI.ps1 b/src/DriveTools.GUI.ps1 index ee894ed..30d2eac 100644 --- a/src/DriveTools.GUI.ps1 +++ b/src/DriveTools.GUI.ps1 @@ -1,4 +1,4 @@ -#Requires -Version 5.1 +#Requires -Version 5.1 <# .SYNOPSIS DriveTools WPF GUI — graphical launcher for all DriveTools operations. @@ -211,7 +211,7 @@ $chkDupeRpt = $window.FindName('ChkDupeRpt') $comboDrives = $window.FindName('ComboDrives') # ── Populate drives list ────────────────────────────────────────────────────── -$drives = [System.IO.DriveInfo]::GetDrives() | Where-Object { $_.IsReady -and $_.DriveType -in 'Fixed','Removable' } +$drives = [System.IO.DriveInfo]::GetDrives() | Where-Object { $_.IsReady } foreach ($d in $drives) { $freeGB = [math]::Round($d.AvailableFreeSpace / 1GB, 1) $totalGB = [math]::Round($d.TotalSize / 1GB, 1) diff --git a/src/DriveTools.psm1 b/src/DriveTools.psm1 index b8cca8b..69a4592 100644 --- a/src/DriveTools.psm1 +++ b/src/DriveTools.psm1 @@ -43,9 +43,9 @@ function Get-DriveToolsRootPath { return $Path } - $drives = [System.IO.DriveInfo]::GetDrives() | Where-Object { $_.IsReady -and $_.DriveType -in 'Fixed','Removable' } + $drives = [System.IO.DriveInfo]::GetDrives() | Where-Object { $_.IsReady } if ($drives.Count -eq 0) { - throw "No ready fixed or removable drives found." + throw "No ready drives found." } # If non-interactive or running in automated tests