ClojureDart development skills packaged as an APM plugin. One install deploys the full set to every runtime in APM's default target set: Claude Code, Codex, OpenCode, Cursor, Copilot, Gemini, Windsurf, Kiro, and Grok Build. Antigravity is supported by naming it explicitly with --target antigravity.
Skills follow the Agent Skills open standard. Three auto-trigger from conversation context (clojuredart, clojuredart-lenses, clojuredart-nav); the rest appear as slash commands.
This package layers on top of the host-neutral clojure-skills baseline. Install both together so the clojure skill handles general Clojure family style (naming, threading, collections, atoms, dispatch, formatting, namespaces, testing) and this package covers Dart interop, type hints and nullability, cljd.flutter directives, async, FFI, the ClojureDart socket REPL, and Flutter project layout.
Six sibling APM packages. This package layers on top of clojure-skills and covers Dart interop, type hints, cljd.flutter directives, async, FFI, and the Flutter project workflow. Install both together for ClojureDart work. The JVM, ClojureScript, Biff, and Fulcro packages are not required for ClojureDart-only projects.
| Package | Focus | Layers on |
|---|---|---|
| clojure-skills | Host-neutral Clojure family baseline: style, naming, threading, collections, atoms, dispatch, formatting, namespaces, and testing. Triggers on .clj, .cljs, .cljc, .cljd. |
— |
| clojure-jvm-skills | Clojure on the JVM: Java interop, refs / agents / STM, with-open, JVM-typed exceptions, alter-var-root, and the Clojure CLI / tools.build / clj-kondo / cljfmt / test-runner / nREPL workflow. |
clojure-skills |
| clojurescript-skills | ClojureScript style and tooling: JavaScript interop, externs inference, macro stage separation, catch :default, JS-flavored numbers and truthiness, and the cljs.main workflow. Triggers on .cljs, .cljc compiled to JS, shadow-cljs.edn, figwheel-main.edn. |
clojure-skills |
| biff-skills | Biff web framework on the JVM: scaffolding, conventions, deployment. | clojure-skills + clojure-jvm-skills |
| fulcro-skills | Fulcro full-stack framework: defsc components, idents and the normalized client database, mutations, df/load!, dynamic routing, forms, UI state machines, Fulcro Inspect, and the Pathom 3 server. Triggers on com.fulcrologic.fulcro.*, com.fulcrologic.rad.*, com.wsscode.pathom3.*, defsc, defmutation, defrouter, df/load!, and ident vectors. |
clojure-skills + clojurescript-skills + clojure-jvm-skills |
| clojuredart-skills (this package) | ClojureDart on Flutter: Dart interop, type hints, cljd.flutter directives, async, FFI, REPL, and the Flutter project workflow. Triggers on .cljd, cljd.flutter. |
clojure-skills |
Install APM first if you don't already have it. Then, in a project:
apm install brackendev/clojuredart-skills --target all
apm install brackendev/clojure-skills --target allGlobally for your user account:
apm install brackendev/clojuredart-skills -g --target all
apm install brackendev/clojure-skills -g --target allUpdate later with apm update [-g]. Remove with apm uninstall brackendev/clojuredart-skills [-g]. A local filesystem path can replace the shorthand at either scope.
- Flutter SDK and ClojureDart for any skill in this package.
- clojure-skills installed alongside, for the host-neutral baseline.
- The
cljd-fixdry step requires a dry4clj:dry4cljalias indeps.edn.
A quick guide to every slash command. The detailed entries under Skills cover arguments and examples.
| Command | Use it when | What it does |
|---|---|---|
/cljd-new |
Starting a new ClojureDart Flutter project | Scaffolds the project with clj-kondo lint setup |
/cljd-fix |
Lint, format, or compilation needs attention | Runs the fix pipeline, rewriting .cljd files in the format step with cljfmt fix |
/cljd-test |
Running ClojureDart tests | Runs cljd.test suites and offers to scaffold tests when none exist |
/cljd-upgrade |
ClojureDart is behind the latest release | Moves tensegritics/clojuredart to the latest release tag and SHA and verifies with a compile |
/cljd-smells-fix |
Reserved for a future ClojureDart smells fix | Placeholder that prints a not-yet-implemented notice |
User-invocable skills share an argument grammar, scope vocabulary, and mutation default. See CONVENTIONS.md for the full standard. In short: skills accept natural-language keywords and bare paths; the single sanctioned flag is --report; mutating skills apply changes by default.
Scaffold a new ClojureDart Flutter project pinned to the latest ClojureDart release, including clj-kondo lint setup and a cljfmt configuration that formats .cljd files.
/cljd-new my_appFix a ClojureDart project. Defaults to running all four steps; the format step rewrites .cljd files in place via cljfmt fix. Pass --report to swap the format step for cljfmt check, which previews diffs without writing. The format step fails with a fix hint when .cljfmt.edn has no :file-pattern that matches .cljd, because cljfmt otherwise skips ClojureDart files. The advisory dry step scans .cljd files when the project's :dry4clj alias points at a dry4clj revision that includes the .cljd extension.
/cljd-fix
/cljd-fix compile
/cljd-fix format --reportRun ClojureDart tests with cljd.test. When no test files exist, the skill offers to scaffold them.
/cljd-test
/cljd-test widgetUpgrade ClojureDart to the latest GitHub Release. Runs the built-in clj -M:cljd upgrade, which rewrites the tensegritics/clojuredart :tag and :sha in deps.edn, then verifies with a compile and restores the original deps.edn if the compile fails. Pass --report to print the current and latest release coordinates without writing.
/cljd-upgrade
/cljd-upgrade --reportReserves the command name for a future ClojureDart-specific smells fix pipeline. When implemented, will mirror the mutation contract of /clj-smells-fix in clojure-skills: auto-apply Stage 1 mechanical findings and the Stage 2 DEFECT-tier safety band; report SMELL and HINT findings; honor --report to disable all writes. Currently prints a "not yet implemented" notice and exits. See TODO.md.
These skills activate from conversation context. They cannot be invoked directly.
| Skill | Triggers |
|---|---|
| clojuredart | .cljd files, deps.edn with tensegritics/clojuredart, cljd-out/ directories, Flutter integration, ClojureDart REPL usage. Covers syntax, Dart interop, widget macros, project structure, compilation, REPL-driven development, the defrecord factory rule, and the absence of with-redefs. Defers to the clojure baseline for general style. |
| clojuredart-lenses | Auto-triggers alongside the code-lenses plugin in ClojureDart work. Layers on top of clojure-lenses and records only the Flutter-specific deltas. Covers the four default code-lenses philosophies (grug, Honest Code, Tidy First, Parse Don't Validate) and the two opt-in philosophies (APOSD, Legacy Code) that activate when their lens is added with +aposd or +legacy-code or invoked directly. |
| clojuredart-nav | ClojureDart navigation discussions: named routes, go_router, the Navigator API, tab navigation, and deep linking in Flutter. |
See CONTRIBUTING.md.
MIT. See LICENSE.