Consider making it langauge agnostic? #49
Replies: 2 comments 2 replies
-
|
I think this is a valuable direction. Right now configs and tooling are JS/TS-centric because that’s where many current scripts live. To make this truly language-agnostic, we could:
Before coding, I’d suggest an RFC in this repo to formalize the schema and approach. I’m happy to contribute a draft and some prototypes if maintainers are open to it. |
Beta Was this translation helpful? Give feedback.
-
RFC: Language-Agnostic Configuration Schema for Everything-Claude-CodeThank you @prathamkhairmode15 for the encouragement. Here's a comprehensive RFC addressing the language-agnostic architecture proposal. Executive SummaryThis RFC proposes a neutral configuration schema (JSON + Markdown) that decouples the core Claude Code framework from JS/TS ecosystems, enabling seamless adaptation to Python, Go, Rust, C#, and other languages through language-specific adapters. Problem StatementCurrent State:
Challenges:
Proposed Solution1. Unified Core Schema (YAML + JSON)Define a language-agnostic schema for all core components: # agents.schema.yml
agent:
name: string
description: string
role: string
tools:
- name: string
executor: reference
parameters: object
hooks:
- name: string
trigger: enum[pre, post, error]
executor: reference# skills.schema.yml
skill:
name: string
description: string
capabilities: string[]
executor: reference
language_specifics:
python: object
go: object
rust: object# hooks.schema.yml
hook:
name: string
type: enum[command, function, workflow]
matcher: regex | glob
actions:
- executor: reference
command_template: string
language_overrides:
python: string
go: string
rust: string
csharp: string2. Language Adapter ArchitectureCreate language-specific adapters that conform to a standard interface: Adapter Interface: 3. Directory Structure Redesign4. Configuration Format ExampleCurrent (agents/architect.md):
Proposed (configs/agents/architect.config.json): {
"$schema": "schemas/agents.schema.json",
"name": "architect",
"description": "Software architecture specialist",
"role": "senior software architect specializing in scalable, maintainable system design",
"tools": [
{
"name": "read",
"executor": "fs:read",
"parameters": {"mode": "binary"}
}
],
"documentation": {
"path": "documentation/agents/architect.md",
"format": "markdown"
}
}5. Implementation RoadmapPhase 1: Schema Definition (Weeks 1-2)
Phase 2: Core Adapter Framework (Weeks 3-4)
Phase 3: Multi-Language Adapters (Weeks 5-8)
Phase 4: Migration & Validation (Weeks 9-10)
Phase 5: Release & Community Support (Week 11+)
Migration StrategyBackward Compatibility:
Adoption Path:
Security Considerations
BenefitsLanguage Agnostic: Write once, run in any language Open Questions
Next Steps
References
I'm ready to start implementation on Phase 1 immediately. Would appreciate feedback on:
Looking forward to your thoughts! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I see a lot of concepts revolves around ts/js. Would it be a plan to make it agnostic or code language configurable across all components?
Beta Was this translation helpful? Give feedback.
All reactions