بنقرة واحدة
core-sdk
Kailash Ruby SDK — gem setup, workflows, nodes, runtime, Magnus FFI bindings.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Kailash Ruby SDK — gem setup, workflows, nodes, runtime, Magnus FFI bindings.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Claude Code architecture — artifact design, context, agentic patterns. For CC audit/build.
Kailash DataFlow (Ruby/Magnus) — MANDATORY for DB/CRUD/bulk/migrations. Raw SQL/ORMs BLOCKED.
Kailash Nexus (Ruby) — MANDATORY for API+CLI+MCP. Direct Rack/Sinatra BLOCKED.
Kailash Kaizen (Ruby) — MANDATORY for AI agents/RAG/signatures. Raw LLM clients BLOCKED.
Kailash MCP (Ruby) — server, client, tools, resources, auth, transports. For AI agent integration.
Kailash deployment + Git — PyPI publish, CI/CD, wheels, version bumps, multi-package.
| name | core-sdk |
| description | Kailash Ruby SDK — gem setup, workflows, nodes, runtime, Magnus FFI bindings. |
High-performance workflow automation SDK powered by Rust via Magnus FFI bindings.
gem install kailash
Or in Gemfile:
gem "kailash"
require "kailash"
# 1. Create a registry and workflow
registry = Kailash::Registry.new
builder = Kailash::WorkflowBuilder.new
# 2. Add nodes
builder.add_node("NoOpNode", "start", {})
builder.add_node("LogNode", "log", { "message" => "Hello from Ruby!" })
builder.connect("start", "log")
# 3. Build and execute
workflow = builder.build(registry)
Kailash::Runtime.open(registry) do |rt|
result = rt.execute(workflow, {})
puts result.results
end
workflow.close
| Type | Purpose |
|---|---|
Kailash::Registry | Node type registry (must outlive workflows) |
Kailash::WorkflowBuilder | DAG builder — add_node, connect, build |
Kailash::Runtime | Workflow executor — open/close lifecycle |
Kailash::Workflow | Compiled workflow (from builder.build) |
registry = Kailash::Registry.new
begin
builder = Kailash::WorkflowBuilder.new
builder.add_node("NoOpNode", "n1", {})
wf = builder.build(registry)
Kailash::Runtime.open(registry) do |rt|
result = rt.execute(wf, { "input" => "value" })
# result.results => Hash of node outputs
# result.run_id => String UUID
end
ensure
wf&.close
registry&.close
end
Critical: Always close Registry and Workflow. Use Runtime.open block form for automatic cleanup.
# Input parameters to workflow
result = rt.execute(wf, { "user_id" => 42, "name" => "Alice" })
# Node parameters (set at build time)
builder.add_node("HttpRequestNode", "fetch", {
"url" => "https://api.example.com/users",
"method" => "GET"
})
begin
wf = builder.build(registry)
rescue Kailash::BuildError => e
puts "Workflow validation failed: #{e.message}"
end
begin
result = rt.execute(wf, {})
rescue Kailash::ExecutionError => e
puts "Execution failed: #{e.message}"
end
139 node types across 25+ categories. Use registry.list_types to enumerate.
Key categories: AI (9), HTTP (8), SQL (3), File (7), Auth (12), Security (12), Monitoring (10), Transaction (5), Enterprise (8), Code (4), RAG (7), Cache (3), Streaming (3).
All Kailash types are Send + Sync in Rust. Ruby's GVL applies — use Ractor or process-based parallelism for true concurrency. The native extension releases the GVL during Rust execution.
ruby-quickstart.md — Step-by-step getting startedruby-available-nodes.md — Full node referenceruby-custom-nodes.md — Custom node developmentruby-common-mistakes.md — Pitfalls and solutionsruby-cheatsheet.md — Quick reference card