Community程式設計與開發github.com

juxt/propagate

從 Allium 規格產生測試。當使用者想要傳播測試、從規格產生測試檔案、為規格編寫測試、建立基於屬性的測試、產生狀態機測試、檢查測試覆蓋率是否符合規格要求,或了解規格需要哪些測試時使用。

propagate 是什麼?

這個技能 (juxt/propagate) 能從 Allium 規格中自動產生測試案例,大幅簡化測試開發流程。它支援多種測試類型,包括基於屬性的測試 (property-based tests) 和狀態機測試 (state machine tests),讓開發者能專注於定義規格,而非手動撰寫千篇一律的測試程式碼。 此技能的核心價值在於確保測試覆蓋率能完整對應規格中定義的義務 (obligations),從而減少遺漏邊界情況或功能需求的風險。開發者只需提供 Allium 規格檔案,技能便會解析其內容,並生成對應的測試檔案。 juxt/propagate 主要用於 Clojure 生態系,並依賴 Allium 這個 Clojure 測試函式庫。它透過讀取規格中的契約與條件,自動推導出所需的測試案例,進而產生符合 Clojure test 框架的程式碼。這不僅節省時間,也提升了測試的完整性和一致性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/juxt/allium/tree/main/skills/propagate

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

propagate 是做什麼的?

從 Allium 規格產生測試。當使用者想要傳播測試、從規格產生測試檔案、為規格編寫測試、建立基於屬性的測試、產生狀態機測試、檢查測試覆蓋率是否符合規格要求,或了解規格需要哪些測試時使用。

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

juxt/allium

Give your AI agents something more useful than a prompt. Velocity through clarity.

juxt/distill

Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.

juxt/elicit

Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.

juxt/tend

Tend the Allium garden. Use when the user wants to write, edit, update, add to, improve, clarify, refine, restructure, fix or migrate Allium specs. Covers adding entities, rules, triggers, surfaces and contracts, fixing syntax or validation errors, renaming or refactoring within specs, migrating specs to a new language version, and translating requirements into well-formed specifications. Pushes back on vague requirements.

juxt/weed

Weed the Allium garden. Find where Allium specifications and implementation code have diverged, and help resolve the divergences. Use when the user wants to check spec-code alignment, compare specs against implementation, audit for spec drift or violations, sync specs with code or code with specs, or verify whether the implementation matches what the spec says.

相關技能