diff --git a/docs/ai/ai-config.md b/docs/ai/ai-config.md index c06a845..2b2ed2e 100644 --- a/docs/ai/ai-config.md +++ b/docs/ai/ai-config.md @@ -152,6 +152,30 @@ dot_cursor/modify_cli-config.json `selectedModel` keys from the script to make the model machine-local. - **Verify:** `chezmoi diff ~/.cursor/cli-config.json` is empty once applied; the status line previews via `echo '' | ~/.cursor/statusline.sh`. +- **Hooks:** `~/.cursor/hooks.json` + `hooks/run-shellcheck.sh` are managed as + plain files (shellcheck `afterFileEdit` only). Machine-injected hooks (e.g. + Adrafinil) are not in the repo and will be replaced on apply until re-injected. +- **MCP:** `~/.cursor/mcp.json` is **not** managed — MCP endpoints are + machine/context-specific. + +## Cursor IDE User Preferences + +Portable Cursor IDE prefs live under macOS Application Support and are managed: + +``` +Library/Application Support/Cursor/User/settings.json → theme, composer, update track +Library/Application Support/Cursor/User/keybindings.json → cmd+i → composerMode.agent +``` + +Caches, History, globalStorage, and extension VSIX trees under that User folder +are not managed. + +## Zed + +- **Source:** `dot_config/zed/settings.json` → **target:** `~/.config/zed/settings.json` + (vim mode, fonts, theme, cursor agent_servers). +- **Cask:** `zed` (and `cursor`) are declared in `dot_Brewfile.tmpl` for non-headless + machines. ## Ownership Boundary @@ -163,11 +187,12 @@ cannot delete ignored paths, one-time cleanup of stale `~/.agents/skills/*` is d ## What Is Not Managed -- **IDE settings** (themes, keybindings) live outside the home dotfiles - (e.g. macOS `~/Library/Application Support/Cursor/User/`) and are configured per machine. +- **Cursor MCP config** (`~/.cursor/mcp.json`) — machine/context-specific endpoints. +- **VS Code / other IDE Application Support** beyond the Cursor User + settings/keybindings above (and Zed under `~/.config/zed/`). - **Per-tool settings** removed in the AI-native overhaul (Claude `settings.json`, Codex `config.toml`/`rules`) are not restored here. The **Cursor CLI** status line - and portable prefs *are* now managed — see [Cursor CLI Configuration](#cursor-cli-configuration). + and portable prefs *are* managed — see [Cursor CLI Configuration](#cursor-cli-configuration). - **Ephemeral/sensitive runtime state** under `~/.cursor`, `~/.claude`, `~/.codex` (auth, caches, history, project state) is not in the repo — the Cursor `modify_` script preserves it on the machine but never commits it. diff --git a/dot_Brewfile.tmpl b/dot_Brewfile.tmpl index 954f543..9fba95c 100644 --- a/dot_Brewfile.tmpl +++ b/dot_Brewfile.tmpl @@ -49,7 +49,9 @@ brew "shellcheck" {{- if not .headless }} # 'brew install --cask' cask "claude-code" +cask "cursor" cask "visual-studio-code" +cask "zed" cask "rectangle" cask "font-fira-code-nerd-font" cask "displaylink" diff --git a/dot_config/zed/private_settings.json b/dot_config/zed/private_settings.json new file mode 100644 index 0000000..321a9c9 --- /dev/null +++ b/dot_config/zed/private_settings.json @@ -0,0 +1,28 @@ +// Zed settings +// +// For information on how to configure Zed, see the Zed +// documentation: https://zed.dev/docs/configuring-zed +// +// To see all of Zed's default settings without changing your +// custom settings, run `zed: open default settings` from the +// command palette (cmd-shift-p / ctrl-shift-p) +{ + "minimap": { + "show": "always" + }, + "agent_servers": { + "cursor": { + "type": "registry" + } + }, + "base_keymap": "VSCode", + "cli_default_open_behavior": "new_window", + "vim_mode": true, + "ui_font_size": 16, + "buffer_font_size": 15, + "theme": { + "mode": "system", + "light": "One Light", + "dark": "One Dark", + }, +} diff --git a/private_Library/private_Application Support/private_Cursor/User/keybindings.json b/private_Library/private_Application Support/private_Cursor/User/keybindings.json new file mode 100644 index 0000000..5e5d901 --- /dev/null +++ b/private_Library/private_Application Support/private_Cursor/User/keybindings.json @@ -0,0 +1,7 @@ +// Place your key bindings in this file to override the defaults +[ + { + "key": "cmd+i", + "command": "composerMode.agent" + } +] \ No newline at end of file diff --git a/private_Library/private_Application Support/private_Cursor/User/settings.json b/private_Library/private_Application Support/private_Cursor/User/settings.json new file mode 100644 index 0000000..d6260ad --- /dev/null +++ b/private_Library/private_Application Support/private_Cursor/User/settings.json @@ -0,0 +1,11 @@ +{ + "workbench.iconTheme": "Cursor Dark Icons", + "application.shellEnvironmentResolutionTimeout": 120, + "workbench.colorTheme": "Monokai Pro (Filter Octagon)", + "window.autoDetectColorScheme": false, + "cursor.composer.showEmptyStateTips": false, + "cursor.composer.conversationDensity": "detailed", + "cursor.general.reduceTransparency": true, + "cursor.composer.usageSummaryDisplay": "always", + "update.releaseTrack": "dev" +} \ No newline at end of file