Thank you for your interest in contributing to the RUDI Registry.
- Node.js 18 or later
- RUDI CLI installed
git clone https://github.com/learn-rudi/registry.git
cd registry
npm install- Create a folder:
catalog/stacks/{stack-id}/ - Add
manifest.jsonwith required fields - Add MCP server code in
node/src/orpython/src/ - Add entry to
index.json - Test locally with
rudi install {stack-id} --local - Submit a pull request
Required fields:
id- Unique identifier (lowercase, hyphens)name- Display nameversion- Semantic versiondescription- Brief descriptionruntime-nodeorpythoncommand- Array of command arguments
Optional fields:
provides.tools- List of MCP toolsrequires.binaries- Binary dependenciesrequires.secrets- Secret requirementsmeta- Author, license, category, tags
Declare secrets in requires.secrets:
{
"requires": {
"secrets": [
{
"name": "API_KEY",
"label": "API Key",
"required": true,
"description": "Get yours at https://example.com/api-keys"
}
]
}
}Never hardcode secrets in stack code.
- Create
catalog/binaries/{binary-id}.json - Include upstream URLs for each platform
- Add entry to
index.json - Submit a pull request
{
"id": "mytool",
"name": "My Tool",
"version": "1.0.0",
"description": "What it does",
"installType": "binary",
"binary": "mytool",
"upstream": {
"darwin-arm64": "https://releases.example.com/mytool-macos-arm64",
"darwin-x64": "https://releases.example.com/mytool-macos-x64",
"linux-x64": "https://releases.example.com/mytool-linux-x64"
}
}- Create
catalog/prompts/{prompt-id}.md - Add YAML frontmatter with metadata
- Add entry to
index.json - Submit a pull request
---
name: My Prompt
description: What this prompt does
category: coding
tags:
- example
author: Your Name
---
# Prompt Title
Your system prompt content here...- Fork the repository
- Create a feature branch (
git checkout -b add-my-stack) - Make your changes
- Test locally with the RUDI CLI
- Commit with a descriptive message
- Push to your fork
- Open a pull request
Use clear, descriptive commit messages:
Add slack stack with messaging tools
- Add manifest.json with tool declarations
- Add MCP server implementation
- Update index.json
For MCP server code:
- Use TypeScript for Node.js stacks
- Use type hints for Python stacks
- Include error handling for all tools
- Follow MCP protocol specifications
Before submitting:
- Validate manifest structure
- Test installation with RUDI CLI
- Test all declared tools
- Verify secret injection works
# Install locally
rudi install my-stack --local
# Run the stack
rudi run my-stack
# Test with Claude or another agent
rudi integrate claudeWhen categorizing packages, use these standard categories:
Stacks:
- ai-generation
- ai-local
- productivity
- communication
- social-media
- data-extraction
- document-processing
- media
- deployment
- utilities
Binaries:
- media
- data
- devops
- utilities
- ai-ml
- version-control
Prompts:
- coding
- writing
- creative
- utilities
- general
If you have questions about contributing, open a discussion on GitHub or reach out via issues.
By contributing to RUDI Registry, you agree that your contributions will be licensed under the MIT License.