بنقرة واحدة
dataflow
Kailash DataFlow (Ruby/Magnus) — MANDATORY for DB/CRUD/bulk/migrations. Raw SQL/ORMs BLOCKED.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Kailash DataFlow (Ruby/Magnus) — MANDATORY for DB/CRUD/bulk/migrations. Raw SQL/ORMs BLOCKED.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Claude Code architecture — artifact design, context, agentic patterns. For CC audit/build.
Kailash Ruby SDK — gem setup, workflows, nodes, runtime, Magnus FFI bindings.
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 | dataflow |
| description | Kailash DataFlow (Ruby/Magnus) — MANDATORY for DB/CRUD/bulk/migrations. Raw SQL/ORMs BLOCKED. |
DataFlow is a zero-config database framework built on Kailash Core SDK that automatically generates workflow nodes from database models. The Ruby gem wraps the Rust DataFlow engine via native extensions.
gem install kailash-dataflow
Or in Gemfile:
gem "kailash-dataflow"
require "kailash/dataflow"
db = Kailash::DataFlow.new do |config|
config.database_url = ENV["DATABASE_URL"]
config.auto_migrate = true
end
# Define model via DSL
db.model "User" do |m|
m.string :name
m.string :email
m.boolean :active, default: true
end
db.initialize!
# Express API -- direct CRUD, no workflow overhead
user = db.express.create("User", name: "Alice", email: "alice@example.com")
found = db.express.read("User", user["id"])
users = db.express.list("User", filter: { active: true })
count = db.express.count("User")
db.express.update("User", user["id"], name: "Bob")
db.express.delete("User", user["id"])
Use WorkflowBuilder only when you need multiple nodes with data flow between them.
require "kailash"
require "kailash/dataflow"
registry = Kailash::Registry.new
builder = Kailash::WorkflowBuilder.new
# Multi-node workflow with connections
builder.add_node("User_Create", "create_user", {
"data" => { "name" => "John", "email" => "john@example.com" }
})
# Execute with block form (recommended for resource cleanup)
workflow = builder.build(registry)
Kailash::Runtime.open(registry) do |rt|
result = rt.execute(workflow, {})
user_id = result.results["create_user"]["result"]
end
workflow.close
Each model definition generates:
{Model}_Create - Create single record{Model}_Read - Read by ID{Model}_Update - Update record{Model}_Delete - Delete record{Model}_List - List with filters{Model}_Upsert - Insert or update (atomic){Model}_Count - Efficient COUNT(*) queries{Model}_BulkCreate - Bulk insert{Model}_BulkUpdate - Bulk update{Model}_BulkDelete - Bulk delete{Model}_BulkUpsert - Bulk upsertdb.model "Product" do |m|
m.string :name, null: false
m.string :sku, unique: true
m.decimal :price, precision: 10, scale: 2
m.integer :quantity, default: 0
m.boolean :active, default: true
m.timestamp :created_at
m.timestamp :updated_at
end
Supported field types: string, integer, boolean, decimal, float, text, timestamp, date, json.
result.results["node_id"]["result"]db.express.create("User", name: "Alice")| Database | Type | Nodes/Model | Driver |
|---|---|---|---|
| PostgreSQL | SQL | 11 | sqlx (via FFI) |
| MySQL | SQL | 11 | sqlx (via FFI) |
| SQLite | SQL | 11 | sqlx (via FFI) |
The Ruby gem delegates all database operations to the Rust sqlx engine via native extensions. No Ruby database drivers are required.
require "kailash/dataflow"
require "kailash/nexus"
db = Kailash::DataFlow.new do |config|
config.database_url = ENV["DATABASE_URL"]
end
db.model "User" do |m|
m.string :name
m.string :email
end
# Auto-generates API + CLI + MCP
nexus = Kailash::Nexus.new(db.workflows)
nexus.run(port: 8000)
require "kailash"
require "kailash/dataflow"
db = Kailash::DataFlow.new do |config|
config.database_url = ENV["DATABASE_URL"]
end
# Use db-generated nodes in custom workflows
registry = Kailash::Registry.new
builder = Kailash::WorkflowBuilder.new
builder.add_node("User_Create", "user1", { "data" => { "name" => "Alice" } })
# config.ru
require "kailash/dataflow"
db = Kailash::DataFlow.new do |config|
config.database_url = ENV["DATABASE_URL"]
end
db.initialize!
# DataFlow is available to all Rack applications
use Kailash::DataFlow::Middleware, dataflow: db
run MyApp
Use DataFlow when you need to:
For DataFlow-specific questions, invoke:
dataflow-specialist - DataFlow implementation and patternstesting-specialist - DataFlow testing strategies skill - Choose between Core SDK and DataFlow