mirror of
https://github.com/jimeh/.vscode.d.git
synced 2026-02-19 11:26:39 +00:00
Cursor can now install extensions via ID through it's `cursor` CLI command. So let's do that by default, and fallback to downloading vsix files if the extension ID approach fails, like we do with VSCode.
2.4 KiB
2.4 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a personal VSCode configuration repository (vscode-siren) that provides a unified configuration for VSCode-based editors including Cursor, VSCode, VSCode Insiders, and Windsurf. It focuses on recreating an Emacs-like text editor experience with custom keybindings, settings, and extensions.
Key Commands
Configuration Management
./siren <editor> config- Create symlinks for editor config files./siren <editor> extensions- Install extensions from lock file./siren <editor> extensions --latest- Install latest versions of extensions./siren <editor> dump-extensions- Export installed extensions to lock file
Makefile Shortcuts
make cursor-config- Configure Cursor editormake cursor-extensions- Install Cursor extensionsmake all-config- Configure all editorsmake all-extensions- Install extensions for all editors
Supported Editors
cursor(c) - Cursor editorvscode(code, vsc, v) - Visual Studio Codevscode-insiders(vsci, i) - Visual Studio Code Insiderswindsurf(surf, w) - Windsurf editor
Architecture
Core Components
- siren script - Main configuration management tool (bash script)
- settings.json - VSCode settings configuration
- keybindings.json - Custom keybindings (Emacs-inspired)
- snippets/ - Code snippets for Go and Ruby
- extensions.*.lock - Extension lock files for each editor
Configuration Structure
- Config files are symlinked to appropriate editor directories based on OS
- Extensions are managed via lock files with version pinning
- Extensions install directly by ID with fallback to .vsix when needed
- Static symlinks for additional files like cspell dictionary and MCP config
Key Features
- Cross-platform support (macOS/Linux)
- Version-locked extensions with fallback to .vsix downloads
- Automatic backup of existing configurations
- Emacs-inspired keybindings and workflow
- Dark/light theme switching based on system preferences
Development Guidelines
Based on cursor/user-rules.md:
- Keep line length to 80 characters when possible
- Check Makefile for common project tasks
- Be direct and terse in communication
- Provide code solutions rather than general advice
- Include robust error handling
- Consider cross-platform compatibility
- Respect existing code comments