Radzor is community-driven. Every component in the registry was contributed by a developer like you. Here's how to create yours and get it listed.
A Radzor component is a self-contained building block that ships with real code, a machine-readable manifest, and LLM-optimized docs. Here's the file structure:
my-component/
├── radzor.manifest.json # Component contract (required)
├── src/
│ ├── index.ts # TypeScript implementation (required)
│ └── index.py # Python implementation (optional)
└── llm/
├── integration.md # How to integrate (recommended)
└── examples.md # Usage examples (recommended)The radzor.manifest.json is the core — it tells LLMs exactly what your component does, what it accepts, and how it connects to other components. Read the full spec →
The CLI generates the manifest, source file, and LLM docs in one command.
$ npx radzor@latest create @radzor/my-component ✓ Created my-component/ radzor.manifest.json src/index.ts llm/integration.md llm/examples.md
Implement your component in src/index.ts (TypeScript) and optionally src/index.py (Python). Zero external dependencies is the goal — keep it self-contained.
// src/index.ts
export class MyComponent {
private emitter = new Map<string, Function[]>();
constructor(config: MyComponentConfig) {
// Initialize with typed inputs from manifest
}
async doSomething(): Promise<Result> {
// Your logic here
this.emit("onComplete", { ... });
}
}
# src/index.py (optional)
class MyComponent:
def __init__(self, config: MyComponentConfig) -> None:
# Initialize with typed inputs from manifest
def do_something(self) -> Result:
# Your logic here
self._emit("onComplete", { ... })The validator checks your manifest, verifies file structure, and catches common mistakes before submission.
$ npx radzor@latest validate . ✓ my-component/radzor.manifest.json ✓ @radzor/my-component@0.1.0 — valid ✓ Category: networking Languages: typescript, python Inputs: 3 | Outputs: 1 Actions: 2 | Events: 2 LLM docs: ✓
Fork the components repo, add your component directory, and open a PR. We review for quality and merge.
$ cd components/ $ git checkout -b feat/my-component $ git add my-component/ $ git commit -m "feat: add @radzor/my-component" $ git push origin feat/my-component # → Open PR on github.com/radzor-io/components
Install the CLI, scaffold your component, and open a PR. We review every submission and merge fast.