Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.
中文简介正在准备中。当前显示原文说明。
Contract for the project decision journal (tradeoffs and lessons-learned logs). Use when recording a decision, tradeoff, or lesson, or building a consumer hook.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
attune:project-init).docs/adr/; reference its number from a journal entry instead of
duplicating it.This is a convention and a helper rather than a hard runtime dependency. Consumers degrade gracefully when leyline is absent (see Fallback).
AI-assisted work tends to narrate tool output ("the agent built X") and lose the human reasoning: the decision, the road not taken, and the honest rework nobody mentions. Two append-only logs, co-located with the code, fix that:
docs/tradeoffs.md records decisions and the alternatives sacrificed.docs/lessons-learned.md records insights, failed approaches, and rework,
framed blamelessly.Both files live in docs/ (co-location is the strongest anti-staleness
lever). Each is a single append-only running log with a scannable
## Active index at the top and an ## Archive section at the bottom.
Status changes.superseded-by: <new-id>, and links both ways.TR-001, LL-001) so links from PRs, commits, and code
never break.Status vocabularies:
proposed -> accepted -> (superseded-by: TR-NNN | deprecated)open -> actioned -> closedWhen a workflow reaches a decision or lesson point:
proposed; lessons start open.Do not auto-write without the confirm step. The point is to capture the human reasoning, not to generate noise.
Run the helper from leyline:
python3 ${LEYLINE}/scripts/journal_append.py <tradeoffs|lessons> \
--project-root <repo-root> \
--title "<short title>" \
[--phase <phase>] [--status <status>] \
[--field key=value ...] \
[--json '<full field object>'] \
[--supersedes TR-NNN] \
[--dry-run]
The helper assigns the next ID, renders the template, inserts the entry above
the ## Archive marker, updates the active index, and (with --supersedes)
flips the prior entry's status and adds backlinks. It is idempotent: appending
an entry whose substantive fields already appear is a no-op.
title (required), context, drivers (list), options (list of
{name, pros, cons, chosen}), decision, ystatement,
consequences_positive, consequences_negative, phase, deciders,
links. Prefer --json for the list-valued fields. status and date
are auto-set (proposed / today) but can be overridden.
title (required), what_happened, what_went_well, what_didnt_work,
root_cause, action, category, owner, phase, links. status
and date are auto-set (open / today) but can be overridden.
The entry template ships inside each scaffolded file as an HTML-comment footer
(<!-- ENTRY TEMPLATE ... -->). When the helper is unavailable, a consumer (or
a human) copies that block into the section above ## Archive, assigns the
next sequential ID, fills it in, and adds an index row by hand. The fallback
template covers the same core sections as the canonical one so entries stay
consistent across the two paths.
Each workflow adds one block at its natural endpoint:
Record to the decision journal (draft + confirm):
- If leyline is installed: run journal_append.py for a {tradeoff|lesson},
drafting fields from this phase's context; show the draft; append on
confirm.
- Fallback (leyline absent): append to docs/{tradeoffs|lessons-learned}.md
using the footer ENTRY TEMPLATE; assign the next sequential ID.
python3 ${LEYLINE}/scripts/journal_append.py tradeoffs \
--title "Compliance check" --field context="verify" --dry-run
Must print a rendered entry containing ## TR-001: and write nothing.
docs/tradeoffs.md and docs/lessons-learned.md exist with a
## Active index and an ## Archive section.TR-NNN/LL-NNN id and an index row.superseded-by: <id> and
adds bidirectional links; the old entry is not deleted.The last criterion holds even for consumers that name leyline in their
dependencies.
That field is marketplace metadata; no installer acts on it, so
spec-kit or imbue can be installed without leyline present.
The fallback is the guard at that boundary, not leftover code.
See docs/metadata.md, "What dependencies Does Not Mean".
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.
中文简介正在准备中。当前显示原文说明。
Inverts burden of proof for code additions. Use when reviewing PRs, planning refactors, or running unbloat to challenge every addition's necessity.
中文简介正在准备中。当前显示原文说明。
Tracks per-agent token usage and flags waste in parallel dispatch. Use when evaluating parallel agent efficiency or after a multi-agent run.
中文简介正在准备中。当前显示原文说明。
Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.
中文简介正在准备中。当前显示原文说明。
Evaluates API surface design, consistency, and exemplar alignment. Use when reviewing public API changes or before releasing a new API surface.
中文简介正在准备中。当前显示原文说明。
Selects architecture paradigm via research before scaffolding. Use when architecture is undecided and the choice needs justification and documentation.
中文简介正在准备中。当前显示原文说明。