← ClaudeAtlas

swe-programming-clojurelisted

Clojure coding standards from authoritative docs/explanation/software-engineering/programming-languages/clojure/ documentation
wahidyankf/ose-primer · ★ 2 · Data & Documents · score 75
Install: claude install-skill wahidyankf/ose-primer
# Clojure Coding Standards ## Purpose Progressive disclosure of Clojure coding standards for agents writing Clojure code. **Usage**: Auto-loaded for agents when writing Clojure code. Provides quick reference to idioms, best practices, and antipatterns. **Authoritative Source**: [docs/explanation/software-engineering/programming-languages/clojure/README.md](../../../docs/explanation/software-engineering/programming-languages/clojure/README.md) ## Prerequisite Knowledge **IMPORTANT**: This skill provides **demo-specific style guides**, not educational tutorials. Complete the demo Clojure learning path first: ## Quick Standards Reference ### Naming Conventions **Functions/Variables**: kebab-case - `calculate-zakat`, `total-amount`, `validate-contract` **Predicates**: end with `?` - `valid-nisab?`, `above-threshold?` **Side-effecting functions**: end with `!` - `save-transaction!`, `send-notification!` **Namespaces**: reverse-domain + feature - `com.demo.zakat.calculator` **Namespace aliases**: standard abbreviations - `(require [clojure.string :as str])` ### Core Idioms ```clojure ;; CORRECT: Pure function for Zakat calculation (defn calculate-zakat "Calculate Zakat amount. Returns 2.5% if wealth >= nisab, else 0." [wealth nisab] (if (>= wealth nisab) (* wealth 0.025M) 0M)) ;; CORRECT: Threading macro for readability (defn process-contracts [contracts nisab] (->> contracts (filter #(>= (:wealth %) nisab)) (map #(assoc % :zakat-amoun