home / skills / laurigates / claude-plugins / configure-editor
This skill checks and configures EditorConfig and VS Code workspace settings to ensure consistent editor environments across a project.
npx playbooks add skill laurigates/claude-plugins --skill configure-editorReview the files below or copy the command above to add this skill to your agents.
---
model: haiku
created: 2025-12-16
modified: 2026-02-10
reviewed: 2025-12-16
description: Check and configure EditorConfig and VS Code workspace settings
allowed-tools: Glob, Grep, Read, Write, Edit, Bash, AskUserQuestion, TodoWrite
argument-hint: "[--check-only] [--fix]"
name: configure-editor
---
# /configure:editor
Check and configure editor settings for consistency across the team.
## When to Use This Skill
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Setting up consistent editor configuration across a team | Personal editor preferences only (configure in user settings) |
| Checking EditorConfig or VS Code workspace compliance | Just viewing existing .editorconfig (use Read tool) |
| Configuring format-on-save for detected languages | Project doesn't use VS Code (configure for other editors manually) |
| Adding recommended VS Code extensions for project tools | Extensions are already properly configured |
| Setting up debug configurations and tasks | Simple project with no debugging needs |
## Context
- EditorConfig: !`test -f .editorconfig && echo "EXISTS" || echo "MISSING"`
- VS Code settings: !`test -f .vscode/settings.json && echo "EXISTS" || echo "MISSING"`
- VS Code extensions: !`test -f .vscode/extensions.json && echo "EXISTS" || echo "MISSING"`
- VS Code launch: !`test -f .vscode/launch.json && echo "EXISTS" || echo "MISSING"`
- VS Code tasks: !`test -f .vscode/tasks.json && echo "EXISTS" || echo "MISSING"`
- Project languages: !`find . -maxdepth 1 \( -name 'package.json' -o -name 'tsconfig.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'biome.json' \) 2>/dev/null`
- Project standards: !`test -f .project-standards.yaml && echo "EXISTS" || echo "MISSING"`
## Parameters
Parse from `$ARGUMENTS`:
- `--check-only`: Report compliance status without modifications
- `--fix`: Apply all fixes automatically without prompting
## Execution
Execute this editor configuration workflow:
### Step 1: Detect project languages and tools
Check for language indicators:
| Indicator | Language/Tool | Configuration Needed |
|-----------|---------------|---------------------|
| `package.json` | JavaScript/TypeScript | Biome |
| `tsconfig.json` | TypeScript | TypeScript extension |
| `pyproject.toml` | Python | Ruff, Python extension |
| `Cargo.toml` | Rust | rust-analyzer |
| `biome.json` | Biome formatter/linter | Biome extension |
### Step 2: Analyze current editor configuration
Check existing configuration against these requirements:
**EditorConfig:**
1. Verify `.editorconfig` exists
2. Check root directive, charset, end-of-line, final newline, trim whitespace
3. Check language-specific sections match detected languages
**VS Code Settings:**
1. Verify `.vscode/settings.json` exists
2. Check format-on-save, default formatters per language, language-specific settings
**VS Code Extensions:**
1. Verify `.vscode/extensions.json` exists
2. Check recommended extensions match project tools
### Step 3: Generate compliance report
Print a formatted compliance report showing status of each check:
```
Editor Configuration Compliance Report
=======================================
Project: [name]
Languages: [detected]
Detected Tools: [detected]
EditorConfig: [status per check]
VS Code Settings: [status per check]
VS Code Extensions: [status per check]
Overall: [X issues found]
Recommendations: [list specific fixes]
```
If `--check-only`, stop here.
### Step 4: Configure editor files (if --fix or user confirms)
Apply fixes based on detected languages. Use configurations from [REFERENCE.md](REFERENCE.md).
1. Create or update `.editorconfig` with language-specific sections
2. Create or update `.vscode/settings.json` with format-on-save and per-language formatters
3. Create or update `.vscode/extensions.json` with recommended extensions for detected tools
4. Add language-specific settings (TypeScript import preferences, Python interpreter, Rust clippy)
### Step 5: Create launch and task configurations
1. Create `.vscode/launch.json` with debug configurations for detected languages
2. Create `.vscode/tasks.json` with build/test/lint tasks
### Step 6: Update standards tracking
Update `.project-standards.yaml`:
```yaml
components:
editor: "2025.1"
editor_config: true
vscode_settings: true
vscode_extensions: true
```
### Step 7: Create documentation
Create `docs/EDITOR_SETUP.md` with quick start instructions for the team covering VS Code setup, recommended extensions, and troubleshooting.
### Step 8: Print completion report
Print a summary of all changes made, including files created/updated, extensions recommended, and next steps for the team.
For detailed configuration templates and language-specific settings, see [REFERENCE.md](REFERENCE.md).
## Agentic Optimizations
| Context | Command |
|---------|---------|
| Check if EditorConfig exists | `test -f .editorconfig && echo "exists" \|\| echo "missing"` |
| Validate EditorConfig syntax | `editorconfig-checker .editorconfig 2>&1` (if installed) |
| Check VS Code settings exist | `test -f .vscode/settings.json && jq empty .vscode/settings.json 2>&1` |
| List detected languages | `find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \) -exec basename {} \;` |
| Quick compliance check | `/configure:editor --check-only` |
| Auto-fix all issues | `/configure:editor --fix` |
## Flags
| Flag | Description |
|------|-------------|
| `--check-only` | Report status without offering fixes |
| `--fix` | Apply all fixes automatically without prompting |
## Examples
```bash
# Check compliance and offer fixes
/configure:editor
# Check only, no modifications
/configure:editor --check-only
# Auto-fix all issues
/configure:editor --fix
```
## Error Handling
- **No language detected**: Create minimal EditorConfig
- **Conflicting formatters**: Warn about duplicate formatter configs
- **Invalid JSON**: Report parse error, offer to replace with template
## See Also
- `/configure:formatting` - Configure code formatting
- `/configure:linting` - Configure linting tools
- `/configure:all` - Run all compliance checks
- **EditorConfig documentation**: https://editorconfig.org
- **VS Code settings reference**: https://code.visualstudio.com/docs/getstarted/settings
This skill checks and configures EditorConfig and VS Code workspace settings to enforce consistent editor behavior across a project. It detects project languages and tools, reports compliance, and can create or update .editorconfig and .vscode workspace files to apply recommended settings. Use it to standardize format-on-save, default formatters, recommended extensions, and basic debug/tasks for the team.
The skill inspects the repository for language indicators (package.json, tsconfig.json, pyproject.toml, Cargo.toml, biome.json) to infer required formatters and extensions. It then verifies the presence and contents of .editorconfig, .vscode/settings.json, .vscode/extensions.json, .vscode/launch.json, and .vscode/tasks.json and generates a compliance report. When asked to fix, it applies templates to create or update those files and updates a project standards tracking file and a short onboarding doc.
What does --check-only do?
It runs all detection and validation steps and prints a compliance report without creating or modifying any files.
Can the skill overwrite existing personal settings?
By default it updates workspace files under .vscode and project files like .editorconfig. Personal user settings are not modified.