← ClaudeAtlas

editor-project-configlisted

Design the tracked per-repo editor configuration for VS Code (`.vscode/`) and Zed (`.zed/`) — settings overrides, extension recommendations, tasks, and debug configs that travel with the repo. Use when asked to "set up editor config for this project", "add a .vscode or .zed folder", "recommend extensions for this repo", "wire lint or tests into editor tasks", or when a repo's files open without syntax highlighting (extensionless scripts, odd filenames, JSONC named .json). Covers the surface map for both editors, the two association mechanisms (files.associations vs file_types), mirroring the repo's existing lint toolchain instead of inventing one, and keeping the two folders in parity.
hsb3/dotfiles-agents · ★ 0 · Code & Development · score 70
Install: claude install-skill hsb3/dotfiles-agents
# Editor project config — .vscode and .zed Project-level editor config overrides user config and travels with the repo. Track both folders in git; never put credentials in them (API-token settings, e.g. Zed `context_servers`, belong in user-level config only). ## Surface map | Concern | VS Code `.vscode/` | Zed `.zed/` | |---|---|---| | Settings overrides | `settings.json` | `settings.json` — global-only keys (theme, vim_mode, telemetry) are silently ignored at project level | | Extension recommendations | `extensions.json` `{"recommendations": [...]}`, prompted on first open | none — Zed auto-installs language support | | Tasks | `tasks.json` (`"version": "2.0.0"` + `tasks` array; parameterize with `inputs`/`pickString`) | `tasks.json` (flat array of `{label, command}`; `$ZED_FILE`, `$ZED_RELATIVE_FILE`, … are env vars in the task shell, so POSIX expansion like `${ZED_RELATIVE_FILE%%/*}` works) | | Debug | `launch.json` (`"type": "debugpy"`, …) | `debug.json` (flat array; `"adapter": "Debugpy"`, `"CodeLLDB"`, …) | Both editors parse all of these as JSONC. If the repo lints JSON strictly, write plain JSON (both editors accept it) so the repo's existing linter covers the new files. ## Procedure 1. **Inventory the repo.** Languages present, plus everything an editor cannot identify by extension: extensionless executables (shebang scan: `for f in <bindir>/*; do head -1 "$f"; done`), tool-specific filenames (Brewfile, rc files), dialect mismatches (JSONC content in