add-language

Implement six-file language parser support in Codanna.

1|1|Updated Nov 16, 2025
One-click install
npx skills add https://github.com/chriskrycho/nova-rust-2 --skill add-language-chriskrycho
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-language
Source: https://github.com/chriskrycho/nova-rust-2/tree/main/.claude/skills/add-language
Command: npx skills add https://github.com/chriskrycho/nova-rust-2 --skill add-language-chriskrycho

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? This Skill provides a structured, step-by-step guide for adding new programming language support to the Codanna system. It solves the complexity of integrating new language parsers by detailing the six-layer architecture, trait implementations, and resolution scope design, ensuring consistent and robust language extensions.

Core Features & Use Cases:

  • Six-Layer Architecture: Implement new languages following a clear mod.rs, definition.rs, parser.rs, behavior.rs, resolution.rs, audit.rs structure.
  • Trait-Based Implementation: Guide through implementing LanguageDefinition, LanguageParser, and LanguageBehavior traits for core functionality.
  • Custom Resolution Scopes: Design language-specific symbol resolution contexts (e.g., LEGB for Python, hoisting for TypeScript) for accurate code understanding.
  • Use Case: A user wants Codanna to understand a new domain-specific language (DSL) or a recently released programming language. This skill provides the exact workflow and code patterns to integrate the language, from setting up Tree-sitter grammar to implementing custom resolution logic.

Quick Start: To begin adding support for a new language like Java, ask: "Guide me through adding Java language support to Codanna." Or, to understand the architecture: "Explain the six-layer architecture for language implementation."

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 programming language to Codanna?

Add a new language to Codanna by implementing a six-layer architecture: mod.rs, definition.rs, parser.rs, behavior.rs, resolution.rs, and audit.rs. Follow trait-based interfaces for LanguageDefinition, LanguageParser, and LanguageBehavior, then register the language for deployment and testing.

What is the six-layer architecture for language implementation?

The six-layer architecture separates concerns across mod.rs (registration), definition.rs (language metadata), parser.rs (Tree-sitter integration), behavior.rs (language semantics), resolution.rs (symbol scoping), and audit.rs (ABI-15 compliance). This structure ensures consistent, maintainable language extensions.

Can I implement custom resolution scopes for language-specific symbol resolution?

Yes. Design language-specific resolution contexts like LEGB scoping for Python or hoisting for TypeScript. Custom resolution scopes enable accurate code understanding tailored to each language's unique symbol binding rules.

Do I need Tree-sitter to add language support to Codanna?

Yes. Tree-sitter grammars are required to build the parser layer. The Skill guides you through creating Tree-sitter grammars and wiring them into Codanna's six-file module structure for complete language integration.

What prerequisites must I meet before implementing a new language?

You need a Tree-sitter grammar for your target language, understanding of trait-based Rust interfaces, and familiarity with symbol resolution scoping. Knowledge of the language's semantic rules ensures accurate behavior and resolution layer implementation.

Does this approach work for domain-specific languages (DSLs)?

Yes. The six-layer architecture applies to both general-purpose languages and domain-specific languages. Implement Tree-sitter grammars specific to your DSL, then follow the trait-based module structure for full Codanna integration.