codemod-semantic-providers

Document and validate Codemod semantic provider contracts across crates and tooling.

1.1k|81|Updated Jan 26, 2024
One-click install
npx skills add https://github.com/codemod/codemod --skill codemod-semantic-providers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: codemod-semantic-providers
Source: https://github.com/codemod/codemod/tree/main/.agents/skills/codemod-semantic-providers
Command: npx skills add https://github.com/codemod/codemod --skill codemod-semantic-providers

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Codemod's semantic provider ecosystem spans language-core, language-javascript, language-python, semantic-factory, and tree-sitter-loader. This Skill helps teams coordinate changes, validate provider contracts, and streamline testing to prevent regressions in goto-definition and find-references across languages.

Core Features & Use Cases

  • Shared guidelines for preserving provider contracts across crates.
  • Validation procedures and integration tests to ensure consistent behavior during provider changes.
  • Guidance for updating or introducing semantic analysis providers without breaking tooling.

Quick Start

Run the semantic provider validation workflow across the provider crates to confirm compatibility.

Frequently Asked Questions about codemod-semantic-providers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test semantic providers for goto-definition and find-references without regressions?

You can validate semantic providers by running deterministic validation scripts and integration test harnesses that exercise provider contracts while suppressing stdout and stderr from provider code across language-core, language-javascript, and language-python.

What are semantic providers in tree-sitter and when do I need them?

Semantic providers in tree-sitter supply goto-definition and find-references capabilities across language-core, language-javascript, and language-python. You need them when coordinating changes across crates to prevent tooling regressions during semantic analysis updates.

How do I integrate a new semantic analysis provider without breaking existing tooling?

You integrate a new semantic analysis provider safely by applying explicit frontmatter-driven metadata and following shared guidelines that preserve provider contracts across language-core, semantic-factory, and tree-sitter-loader crates.

Does this semantic provider validation workflow support multiple programming languages?

Yes, the semantic provider validation workflow supports multiple programming languages by coordinating changes and validating contracts across language-javascript, language-python, and language-core crates using the tree-sitter-loader.

Why does my semantic provider test fail when the code emits output to stdout or stderr?

Semantic provider tests fail when code emits output because the test harness requires provider contracts to be exercised without emitting any stdout or stderr from provider code, ensuring deterministic validation results across crates.