Zed Editor Configuration and Plugin Management

Summary

This page documents the standardized configuration for the Zed editor and the management of Claude Code plugins within the Sokrates development environment. It covers performance optimizations, security measures for AI-assisted coding, and the resolution of plugin visibility issues.

Details

Zed Editor Configuration

The Zed editor is configured with specific settings to optimize performance and ensure compatibility with the project’s toolchain. A key fix involved updating the path for the ty binary (a Typer-based CLI tool) from a legacy virtual environment path to the current uv-installed location at ~/.local/bin/ty.

Performance and UI

To prevent editor lag and unnecessary indexing, file_scan_exclusions are implemented for:

  • .git
  • node_modules
  • target (Rust build artifacts)
  • .venv
  • __pycache__

UI adjustments include disabling cursor blinking (cursor_blink: false), highlighting only the gutter for the current line, and showing whitespaces only at boundaries. Soft wrapping is set to a preferred line length of 100 characters globally.

Security and Privacy

To prevent sensitive information from being leaked to AI models during agentic sessions, the following settings are enforced:

  • private_files: Identifies .env and other secret files.
  • redact_private_values: Ensures values in identified private files are redacted.
  • edit_predictions.disabled_in_files: Disables AI-powered code completion in sensitive files.

Language Specifics

  • Python: Tab size is set to 4, with a preferred line length of 88 characters (matching Black/Ruff standards).
  • TypeScript/JavaScript: Biome is utilized as the primary formatter, with Prettier explicitly disabled to maintain consistency.
  • Rust: The rust-analyzer is configured to run Clippy on save and uses a separate targetDir to prevent rebuild thrashing when switching between the editor and CLI builds.

Claude Code Plugin System

The development environment utilizes a plugin system to extend the capabilities of the Claude Code agent. Plugins are managed via the /plugin command and must be explicitly enabled in the settings.json file.

Plugin Visibility and Registration

A common issue identified was the “missing skill” problem, where a .skill file exists in the repository but does not appear in the agent’s /skills list. For a skill to be recognized, it must:

  1. Be part of a structured plugin directory.
  2. Contain a valid plugin.json declaration.
  3. Be listed in the enabledPlugins array within the Claude Code configuration.
  4. Not be a loose file in the root or a temporary session artifact (e.g., inside local-agent-mode-sessions).

Enabled Plugins

The following plugins have been integrated into the environment:

  • firecrawl: For web crawling and data extraction.
  • legalzoom: Likely for legal document processing or research.
  • sonatype-guide: For dependency analysis and security.
  • zed-config: A local plugin specifically for managing the editor state described above.