add-language

Implement new language parsers for Codanna using the six-file architecture.

Updated Jan 19, 2026
One-click install
npx skills add https://github.com/madeinoz67/madeinoz-recordmanager-skill --skill add-language-madeinoz67
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-language
Source: https://github.com/madeinoz67/madeinoz-recordmanager-skill/tree/main/.claude/skills/add-language
Command: npx skills add https://github.com/madeinoz67/madeinoz-recordmanager-skill --skill add-language-madeinoz67

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides developers in implementing a new language parser for Codanna using the six-file architecture (mod.rs, definition.rs, parser.rs, behavior.rs, resolution.rs, audit.rs). It provides a repeatable blueprint for registry integration, language-specific resolution contexts, and consistent symbol extraction across languages, reducing boilerplate and enabling rapid onboarding of new languages.

Core Features & Use Cases

  • Scaffold: generates a consistent six-file structure and module exports for a new language.
  • Registry Integration: wires the language into the central registry so it can be discovered and configured.
  • Language-Specific Resolution: defines a custom ResolutionScope to model language scoping and imports.
  • Reuse & Extensibility: leverages common patterns to minimize boilerplate when adding new languages.
  • Use Case: Add a new language with a tree-sitter grammar, implement symbol extraction, and register it for indexing and query.

Quick Start

Create a new directory under src/parsing for your language and implement the six files according to this guide, then run cargo test to verify registration and parsing.

Frequently Asked Questions about add-language

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

FAQPage Schema
How do I add a new language parser to Codanna using tree-sitter?

Codanna enforces a six-file architecture for language parsers, comprising mod.rs, definition.rs, parser.rs, behavior.rs, resolution.rs, and audit.rs. This layout separates concerns from parsing to registry integration to ensure consistent symbol extraction.

What is the best way to integrate a new language into the Codanna registry?

To register a new language in Codanna, wire the parser module into the central registry to enable discovery and configuration. After implementing the six-file structure, run cargo test to verify successful registration and parsing behavior.

How do I model language-specific scoping and imports when adding a parser to Codanna?

To model language-specific scoping and imports, define a custom ResolutionScope within the resolution.rs file. This allows the new language parser to accurately resolve contexts and symbols according to its unique import rules.

Do I need to implement all six files when extending Codanna with new language support?

Yes, extending Codanna with new language support requires implementing all six files: mod.rs, definition.rs, parser.rs, behavior.rs, resolution.rs, and audit.rs. This enforced layout minimizes boilerplate while ensuring complete registry integration and auditing.

Can I use an existing tree-sitter grammar to add language support in Codanna?

Yes, you can use an existing tree-sitter grammar to add language support in Codanna. The skill leverages common patterns to minimize boilerplate, allowing you to focus on implementing symbol extraction and the resolution context for the grammar.