🔧 Where my dotfiles lives in harmony and peace, most of the time

🧹 Drop cursor configs, tweak zed

+19 -268
-31
cursor/.cursorrules
··· 1 - # Rules 2 - 3 - ## Core Principles 4 - 5 - - Be concise and direct 6 - - Write clean, modular code with modern syntax and full type annotations 7 - - Follow existing code conventions in the codebase 8 - - Design for simplicity (simplest thing that could work, KISS) 9 - - Follow the UNIX Philosophy (Do one thing and do it well) 10 - - Keep feedback loops short 11 - - Break complex tasks into smaller components 12 - - Use todo lists for multi-step tasks 13 - 14 - ## Agent Mode Best Practices 15 - 16 - - Gather information using `man` and `--help` before acting 17 - - When working with data, write and run small inline Python scripts to get a sample and the schema of the datasets 18 - 19 - ## Task Workflow 20 - 21 - 1. Implement minimal and simple solutions keeping in mind the codebase, requirements and principles 22 - 2. Verify linting and typechecking, and run tests if available 23 - 3. ALWAYS run the code and verify it works as expected 24 - 25 - ## Code Quality Standards 26 - 27 - - Make code as simple as possible 28 - - Clear is better than clever 29 - - Use small functions and split large components 30 - - Prefer libraries/tools that are already installed in the codebase (`altair` instead of `matplotlib`, `polars` instead of `pandas`) 31 - - In Python, use `uv` over `pip`. I.e `uv pip install n` instead of `pip install n` and `uv run <script>` instead of `python <script>`
-3
cursor/README.md
··· 1 - # Cursor 2 - 3 - To fix the Python REPL, you need to update `product.json` (in your Cursor program directory, `/opt/cursor/usr/share/cursor/resources/app`) so that `extensionsEnabledApiProposals` > `ms-python.python` includes `notebookVariableProvider`.
-20
cursor/extensions.list
··· 1 - anysphere.cursorpyright 2 - astro-build.astro-vscode 3 - catppuccin.catppuccin-vsc 4 - catppuccin.catppuccin-vsc-icons 5 - charliermarsh.ruff 6 - foam.foam-vscode 7 - github.vscode-github-actions 8 - github.vscode-pull-request-github 9 - ms-python.debugpy 10 - ms-python.python 11 - ms-toolsai.jupyter 12 - ms-toolsai.jupyter-renderers 13 - ms-toolsai.vscode-jupyter-cell-tags 14 - ms-toolsai.vscode-jupyter-slideshow 15 - ms-vscode-remote.remote-containers 16 - redhat.vscode-yaml 17 - tamasfe.even-better-toml 18 - timonwong.shellcheck 19 - unifiedjs.vscode-mdx 20 - yzhang.markdown-all-in-one
-69
cursor/keybindings.json
··· 1 - [ 2 - { 3 - "key": "ctrl+[Backslash]", 4 - "command": "editor.action.commentLine", 5 - "when": "editorTextFocus && !editorReadonly" 6 - }, 7 - { 8 - "key": "ctrl+shift+d", 9 - "command": "editor.action.copyLinesDownAction", 10 - "when": "editorTextFocus && !editorReadonly" 11 - }, 12 - { 13 - "key": "ctrl+shift+up", 14 - "command": "editor.action.moveLinesUpAction" 15 - }, 16 - { 17 - "key": "ctrl+shift+down", 18 - "command": "editor.action.moveLinesDownAction" 19 - }, 20 - { 21 - "key": "ctrl+shift+-", 22 - "command": "workbench.action.terminal.new", 23 - "when": "terminalProcessSupported || terminalWebExtensionContributedProfile" 24 - }, 25 - { 26 - "key": "shift+alt+r", 27 - "command": "remote-containers.reopenInContainer" 28 - }, 29 - { 30 - "key": "alt+g alt+p", 31 - "command": "git.push", 32 - "when": "!operationInProgress" 33 - }, 34 - { 35 - "key": "shift+alt+d", 36 - "command": "editor.debug.action.selectionToRepl" 37 - }, 38 - { 39 - "key": "alt+g alt+c", 40 - "command": "runCommands", 41 - "args": { 42 - "commands": [ 43 - "workbench.scm.focus", 44 - "cursor.generateGitCommitMessage" 45 - ] 46 - } 47 - }, 48 - { 49 - "key": "shift+enter", 50 - "command": "workbench.action.terminal.sendSequence", 51 - "args": { 52 - "text": "\\\r\n" 53 - }, 54 - "when": "terminalFocus" 55 - }, 56 - { 57 - "key": "ctrl+enter", 58 - "command": "aipopup.action.modal.generate", 59 - "when": "!composerBarIsVisible" 60 - }, 61 - { 62 - "key": "ctrl+[Minus]", 63 - "command": "workbench.action.toggleAuxiliaryBar" 64 - }, 65 - { 66 - "key": "ctrl+alt+b", 67 - "command": "-workbench.action.toggleAuxiliaryBar" 68 - } 69 - ]
-3
cursor/mcp.json
··· 1 - { 2 - "mcpServers": {} 3 - }
-80
cursor/settings.json
··· 1 - { 2 - "workbench.colorTheme": "Catppuccin Frappé", 3 - "workbench.iconTheme": "catppuccin-frappe", 4 - "catppuccin.accentColor": "blue", 5 - "window.titleBarStyle": "native", 6 - "window.menuBarVisibility": "toggle", 7 - "git.enableSmartCommit": true, 8 - "git.confirmSync": false, 9 - "git.autofetch": true, 10 - "editor.formatOnSave": true, 11 - "editor.fontFamily": "JetBrainsMono NF", 12 - "editor.linkedEditing": true, 13 - "editor.wordWrap": "on", 14 - "extensions.ignoreRecommendations": true, 15 - "terminal.integrated.copyOnSelection": true, 16 - "terminal.integrated.hideOnStartup": "whenEmpty", 17 - "terminal.integrated.persistentSessionReviveProcess": "never", 18 - "terminal.integrated.suggest.enableExtensionCompletions": true, 19 - "terminal.integrated.suggest.enabled": true, 20 - "files.insertFinalNewline": true, 21 - "files.trimFinalNewlines": true, 22 - "files.trimTrailingWhitespace": true, 23 - "files.autoSave": "onFocusChange", 24 - "explorer.confirmDelete": false, 25 - "explorer.confirmDragAndDrop": false, 26 - "python.languageServer": "None", 27 - "python.experiments.enabled": true, 28 - "python.terminal.activateEnvInCurrentTerminal": true, 29 - "python.REPL.sendToNativeREPL": true, 30 - "interactiveWindow.executeWithShiftEnter": true, 31 - "jupyter.interactiveWindow.notebookRepl": true, 32 - "jupyter.executionAnalysis.enabled": true, 33 - "notebook.diff.ignoreOutputs": true, 34 - "notebook.diff.ignoreMetadata": true, 35 - "notebook.output.scrolling": true, 36 - "notebook.output.minimalErrorRendering": true, 37 - "notebook.formatOnSave.enabled": true, 38 - "notebook.codeActionsOnSave": { 39 - "notebook.source.fixAll": "explicit", 40 - "notebook.source.organizeImports": "explicit" 41 - }, 42 - "ruff.nativeServer": "on", 43 - "ruff.format.preview": true, 44 - "ruff.lint.preview": true, 45 - "ty.experimental.completions.enable": true, 46 - "[python]": { 47 - "editor.formatOnSave": true, 48 - "editor.codeActionsOnSave": { 49 - "source.fixAll": "explicit", 50 - "source.organizeImports": "explicit" 51 - }, 52 - "editor.defaultFormatter": "charliermarsh.ruff" 53 - }, 54 - "cursor.cpp.enablePartialAccepts": true, 55 - "cursor.general.enableShadowWorkspace": true, 56 - "cursor.general.gitGraphIndexing": "enabled", 57 - "cursor.composer.shouldChimeAfterChatFinishes": true, 58 - "cursor.diffs.useCharacterLevelDiffs": true, 59 - "cursor.composer.shouldQueueWhenGenerating": true, 60 - "cursor.cpp.disabledLanguages": [ 61 - "plaintext", 62 - "markdown" 63 - ], 64 - "cursorpyright.analysis.autoImportCompletions": true, 65 - "cursorpyright.analysis.autoSearchPaths": true, 66 - "cursorpyright.analysis.diagnosticMode": "workspace", 67 - "cursorpyright.analysis.typeCheckingMode": "standard", 68 - "cursorpyright.analysis.useLibraryCodeForTypes": true, 69 - "json.schemaDownload.enable": true, 70 - "cursorpyright.analysis.diagnosticSeverityOverrides": { 71 - "reportMissingTypeStubs": false, 72 - "reportUnknownMemberType": false, 73 - "reportUnknownArgumentType": false, 74 - "reportAny": false, 75 - "reportUnknownVariableType": false 76 - }, 77 - "cursorpyright.analysis.ignore": [ 78 - "var" 79 - ] 80 - }
-21
cursor/tasks.json
··· 1 - { 2 - "version": "2.0.0", 3 - "tasks": [ 4 - { 5 - "label": "AI Git Commit", 6 - "type": "shell", 7 - "command": "git add -A . && git diff --minimal --cached | llm -t gitcommit > $(git rev-parse --git-dir)/COMMIT_EDITMSG && $EDITOR --wait $(git rev-parse --git-dir)/COMMIT_EDITMSG && git commit --verbose --file=$(git rev-parse --git-dir)/COMMIT_EDITMSG", 8 - "presentation": { 9 - "echo": true, 10 - "reveal": "always", 11 - "focus": false, 12 - "panel": "shared", 13 - "showReuseMessage": false, 14 - "clear": false, 15 - "revealProblems": "onProblem", 16 - "close": true 17 - }, 18 - "problemMatcher": [] 19 - } 20 - ] 21 - }
+5 -5
zed/keymap.json
··· 5 5 "ctrl-ç": [ 6 6 "editor::ToggleComments", 7 7 { 8 - "advance_downwards": false 9 - } 8 + "advance_downwards": false, 9 + }, 10 10 ], 11 11 "ctrl-shift-up": "editor::MoveLineUp", 12 12 "ctrl-shift-down": "editor::MoveLineDown", 13 - "ctrl-shift-d": "editor::DuplicateSelection" 14 - } 15 - } 13 + "ctrl-shift-d": "editor::DuplicateSelection", 14 + }, 15 + }, 16 16 ]
+14 -36
zed/settings.json
··· 4 4 "terminal": { 5 5 "copy_on_select": true, 6 6 "font_family": "JetBrainsMono Nerd Font", 7 - "font_size": 14.0 7 + "font_size": 14.0, 8 8 }, 9 9 "inline_code_actions": true, 10 10 "tabs": { 11 11 "git_status": true, 12 12 "file_icons": true, 13 - "show_diagnostics": "errors" 13 + "show_diagnostics": "errors", 14 14 }, 15 15 "collaboration_panel": { 16 - "button": false 16 + "button": false, 17 17 }, 18 18 "always_treat_brackets_as_autoclosed": true, 19 - "languages": { 20 - "Python": { 21 - "language_servers": [ 22 - "ruff", 23 - "basedpyright", 24 - "!pyright" 25 - ], 26 - "formatter": [ 27 - { 28 - "code_actions": { 29 - "source.organizeImports.ruff": true, 30 - "source.fixAll.ruff": true 31 - } 32 - }, 33 - { 34 - "language_server": { 35 - "name": "ruff" 36 - } 37 - } 38 - ] 39 - } 40 - }, 41 19 "lsp": { 42 20 "basedpyright": { 43 21 "settings": { 44 22 "python": { 45 - "pythonPath": ".venv/bin/python" 23 + "pythonPath": ".venv/bin/python", 46 24 }, 47 25 "basedpyright.analysis": { 48 26 "typeCheckingMode": "standard", ··· 51 29 "callArgumentNames": true, 52 30 "functionReturnTypes": true, 53 31 "genericTypes": true, 54 - "variableTypes": true 55 - } 56 - } 57 - } 58 - } 32 + "variableTypes": true, 33 + }, 34 + }, 35 + }, 36 + }, 59 37 }, 60 38 "soft_wrap": "editor_width", 61 39 "scrollbar": { 62 40 "axes": { 63 - "horizontal": false 64 - } 41 + "horizontal": false, 42 + }, 65 43 }, 66 44 "diagnostics": { 67 45 "include_warnings": true, 68 46 "inline": { 69 47 "enabled": true, 70 48 "padding": 10, 71 - "min_column": 60 72 - } 49 + "min_column": 60, 50 + }, 73 51 }, 74 52 "autosave": "on_focus_change", 75 53 "ensure_final_newline_on_save": true, 76 54 "format_on_save": "on", 77 55 "auto_update": false, 78 56 "theme": "Catppuccin Frappé", 79 - "icon_theme": "Catppuccin Frappé" 57 + "icon_theme": "Catppuccin Frappé", 80 58 }