mirror of
https://github.com/jimeh/.vscode.d.git
synced 2026-02-19 03:16:39 +00:00
docs: add AGENTS.md for project overview and guidelines
This commit is contained in:
71
AGENTS.md
Normal file
71
AGENTS.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# 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 editor
|
||||
- `make cursor-extensions` - Install Cursor extensions
|
||||
- `make all-config` - Configure all editors
|
||||
- `make all-extensions` - Install extensions for all editors
|
||||
|
||||
### Supported Editors
|
||||
|
||||
- `cursor` (c) - Cursor editor
|
||||
- `vscode` (code, vsc, v) - Visual Studio Code
|
||||
- `vscode-insiders` (vsci, i) - Visual Studio Code Insiders
|
||||
- `windsurf` (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
|
||||
71
CLAUDE.md
71
CLAUDE.md
@@ -1,71 +0,0 @@
|
||||
# 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 editor
|
||||
- `make cursor-extensions` - Install Cursor extensions
|
||||
- `make all-config` - Configure all editors
|
||||
- `make all-extensions` - Install extensions for all editors
|
||||
|
||||
### Supported Editors
|
||||
|
||||
- `cursor` (c) - Cursor editor
|
||||
- `vscode` (code, vsc, v) - Visual Studio Code
|
||||
- `vscode-insiders` (vsci, i) - Visual Studio Code Insiders
|
||||
- `windsurf` (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
|
||||
@@ -12,6 +12,10 @@ everything you do.
|
||||
instead let the unit test be narrower in scope.
|
||||
- Check Makefile and similar for common project tasks like lint, format, test,
|
||||
etc.
|
||||
- When told how to perform certain actions by executing a command, the user
|
||||
means for the command to be run from the root of the project. DO NOT attempt
|
||||
to run modify the command to an absolute path, instead just execute the
|
||||
command as instructed.
|
||||
- When I ask for a fix or explanation, please provide direct code solutions or
|
||||
detailed technical explanations rather than general advice. I prefer
|
||||
straightforward answers without introductory phrases like "Here's how you
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
- If there is a `AGENTS.md` or `CLAUDE.md` file in the root of a project, please
|
||||
read it for additional instructions.
|
||||
- Try and keep line length to 80 characters or fewer when possible.
|
||||
- Check and fix linting errors.
|
||||
- Follow code style and conventions already present in the project when
|
||||
reasonable, including choice of libraries, test frameworks, etc.
|
||||
- Do break from project conventions when it fully makes sense to do, for
|
||||
example, don't copy a pattern from integration-style tests into a unit test,
|
||||
instead let the unit test be narrower in scope.
|
||||
- Check Makefile and similar for common project tasks like lint, format, test,
|
||||
etc.
|
||||
- When told how to perform certain actions by executing a command, the user
|
||||
means for the command to be run from the root of the project. DO NOT attempt
|
||||
to run modify the command to an absolute path, instead just execute the
|
||||
command as instructed.
|
||||
- When I ask for a fix or explanation, please provide direct code solutions or
|
||||
detailed technical explanations rather than general advice. I prefer
|
||||
straightforward answers without introductory phrases like "Here's how you
|
||||
can..."
|
||||
- Include robust error handling in code examples and highlight potential edge
|
||||
cases
|
||||
- Flag security concerns and performance impacts in solutions
|
||||
- Suggest appropriate naming conventions and code structure improvements
|
||||
- Handle changes across multiple files with proper import/dependency management
|
||||
- Consider version constraints and backward compatibility of
|
||||
libraries/frameworks
|
||||
- Generate or update docstrings/comments for new code
|
||||
- Provide test examples for new functionality when relevant
|
||||
- Consider build environment constraints and platform-specific issues
|
||||
- If clarification is needed, make reasonable assumptions and note them
|
||||
- Be casual unless otherwise specified.
|
||||
- Be terse.
|
||||
- Be accurate and thorough.
|
||||
- Give the answer immediately. Provide detailed explanations afterward if
|
||||
needed.
|
||||
- Value good arguments over authorities, the source is irrelevant.
|
||||
- If your content policy is an issue, provide the closest acceptable response
|
||||
and explain the content policy issue afterward.
|
||||
- Cite sources whenever possible at the end, not inline.
|
||||
- No need to mention your knowledge cutoff.
|
||||
- No need to disclose you're an AI.
|
||||
- Respect my formatting preferences when you provide code.
|
||||
- Respect all code comments, they're usually there for a reason. Remove them
|
||||
ONLY if they're completely irrelevant after a code change. if unsure, do not
|
||||
remove the comment.
|
||||
- When adding new comments, they must be relevant and specific to the code in
|
||||
question. They should NOT refer to any specific instructions like "use new X
|
||||
function".
|
||||
1
cursor/user-rules.md
Symbolic link
1
cursor/user-rules.md
Symbolic link
@@ -0,0 +1 @@
|
||||
../claude/CLAUDE.md
|
||||
Reference in New Issue
Block a user