Skip to content

feat: dc_rulekit v0.1 — agnostic on-device rules engine - #1

Merged
ucguy4u merged 1 commit into
mainfrom
cursor/rulekit-v0-1-d401
Oct 2, 2026
Merged

ucguy4u merged 1 commit into
mainfrom
cursor/rulekit-v0-1-d401

Conversation

@ucguy4u

@ucguy4u ucguy4u commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Summary

First version of rulekit under the published name dc_rulekit (crates.io rulekit / rule_kit are taken; pub.dev aligns on dc_rulekit). GitHub repo remains DevelopersCoffee/rulekit.

  • Rust dc_rulekit: Rule JSON model, PluginRegistry, RuleStore / ProposalStore, Engine (ordered when/then, dry-run, fail-closed unknown plugins), AuditHook with opaque receipt payload.
  • Dart dc_rulekit: Pure-Dart mirror of the same schema/semantics for Flutter hosts (FFI deferred; documented in ADR).
  • dc_rulekit_demo_plugins: Toy plugins only (demo.when.always, threshold/counter, demo.then.log, increment planner).
  • ADR 0001: Agnostic core vs host plugins, naming, schema versioning, proposal lifecycle.

Test plan

  • cargo test --all
  • cd packages/dc_rulekit && dart analyze && dart test
  • Demo quickstart: cargo test -p dc_rulekit_demo_plugins quickstart_runs

Out of scope (by design)

Cruftkit adapter, cron runner, product-domain APIs in core.

Publishing

Do not publish from this PR; Pub.dev/crates.io agent publishes dc_rulekit after merge.

Open in Web Open in Cursor 

Introduce business-agnostic on-device rules core as publishable crate
dc_rulekit with plugin registry, proposal workflow, engine dry-run,
and audit hooks. Mirror semantics in pure Dart package dc_rulekit.
Include toy demo plugins, ADR 0001, CI, and documentation noting
GitHub repo name rulekit vs published dc_rulekit.

Co-authored-by: Uday Chauhan <chauhan.s.uday26@gmail.com>
@ucguy4u
ucguy4u marked this pull request as ready for review October 2, 2026 17:19
@ucguy4u
ucguy4u merged commit 794d5a9 into main Oct 2, 2026
2 checks passed
@ucguy4u
ucguy4u deleted the cursor/rulekit-v0-1-d401 branch October 2, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants