ruvnet/ruflo/tree/main/plugins/ruflo-adr
ruflo-adr
ADR 수명 주기 관리—생성, 인덱싱, 조정, 대체, 규정 준수 확인을 수행하고 AgentDB 계층형 저장소와 인과 엣지(supersedes/amends/depends-on/related)로 아키텍처 결정 기록을 코드에 연결합니다
이 mod 소개
ruflo-adr
개요
아키텍처 결정 기록을 제안, 승인, 사용 중단, 대체됨 상태를 포함한 전체 수명 주기로 관리합니다. ADR은 docs/adr/의 markdown 파일로 저장하고, supersedes/amends/depends-on 관계를 추적하는 인과 엣지와 함께 AgentDB에 인덱싱합니다. git diff를 스캔하는 규정 준수 검사와 디스크에서 삭제된 ADR(#2666)을 조정하는 adr-reindex도 포함합니다.
설치
claude --plugin-dir plugins/ruflo-adr
Agents
| Agent | 모델 | 역할 |
|-------|------|------|
| adr-architect | sonnet | ADR 수명 주기 관리, grep/blame을 통한 코드-ADR 연결, AgentDB 그래프 저장 |
Skills
| Skill | 사용법 | 설명 |
|-------|--------|------|
| adr-create | /adr-create <title> | 순차 번호를 붙이고 AgentDB에 등록한 새 ADR 생성 |
| adr-index | /adr-index | AgentDB에서 ADR 인덱스와 의존성 그래프를 구축 또는 재구축(추가/업데이트만 수행—삭제하지 않음) |
| adr-review | /adr-review [--branch BRANCH] | 승인된 ADR을 기준으로 코드 변경을 검토해 규정 준수 위반 확인 |
| adr-verify | /adr-verify | adr-patterns + adr-edges 네임스페이스를 다시 읽고, 끊어진 참조·대체 순환·상태 불일치를 표시합니다. 순환이 있으면 종료 코드 1 |
| adr-reindex | /adr-reindex | 삭제된 ADR 파일을 조정: 현재 디스크에 있는 내용을 바탕으로 adr-patterns + adr-edges를 삭제 후 재구축 |
명령(7개 하위 명령)
# 수명 주기
adr create <title>
adr list
adr status <adr-id> <new-status>
adr supersede <old-id> <new-id>
# 규정 준수
adr check # 최근 git 변경을 스캔해 ADR 위반 확인
adr graph # ADR 의존성 그래프 표시
adr search <query> # ADR 전체에서 의미 검색
ADR 수명 주기
proposed --> accepted --> deprecated
\--> superseded by ADR-XXX
인과 엣지로 추적하는 관계: supersedes, amends, depends-on, related.
본문의 관계 필드는 **Amends by scope**: 또는 **Depends-on / confirms**: 같은 한정자를 사용할 수 있으며, Relates는 Related의 별칭입니다. 줄바꿈된 목록은 ADR 참조(Markdown 링크 포함)와 구분자만 있는 줄에서 계속할 수 있습니다. 설명 문장의 이어지는 내용은 관계로 스캔하지 않으므로, 추가 관계는 별도의 굵은 필드로 선언하세요.
호환성
- CLI:
@claude-flow/cliv3.6 major+minor에 고정됩니다. - 검증:
bash plugins/ruflo-adr/scripts/smoke.sh가 계약입니다.
네임스페이스 조정
이 플러그인은 adr-patterns AgentDB 네임스페이스를 소유합니다. 이름 지정 규칙은 ruflo-agentdb ADR-0001 "Namespace convention"을 따릅니다. 예약된 네임스페이스(pattern, claude-memories, default)를 가려서는 안 됩니다.
adr-patterns는 규칙에 따라 kebab-case인 <plugin-stem>-<intent> 형식을 사용합니다. ruflo-intelligence의 hooks_transfer를 통해 의미 기반 ADR 검색과 프로젝트 간 패턴 전송에 사용합니다.
검증
bash plugins/ruflo-adr/scripts/smoke.sh
# 예상: "22 passed, 0 failed"
아키텍처 결정
ADR-0001— ruflo-adr 플러그인 계약(고정, 네임스페이스 조정, smoke를 계약으로 사용)ADR-0002— 삭제된 ADR 조정(하드 삭제 프리미티브 + 삭제 후 재구축하는 reindex)
관련 플러그인
ruflo-agentdb— 네임스페이스 규칙 소유자이며 ADR 그래프의 백엔드 저장소ruflo-ddd— 도메인 결정을 ADR로 기록ruflo-sparc— 아키텍처 단계(Phase 3)에서 ADR 생성ruflo-migrations— 스키마 변경 결정을 ADR로 기록ruflo-jujutsu— PR에서 ADR을 인식하는 diff 분석ruflo-intelligence—hooks_transfer가 프로젝트 간 ADR 패턴 전송
라이선스
MIT
mod로 사용
ADR은 함수 훅 mod도 제공합니다(ADR-445 패턴, hooks/의 훅을 플러그인과 함께 로드). 네트워크, 프로세스, 모델 호출을 하지 않습니다.
- Guard(기본 활성화):
adr*네임스페이스에 쓰는 ADR(agentdb_hierarchical-store,agentdb_causal-edge또는memory_store)에 키, 토큰 또는 비밀번호가 있으면 거부합니다. 강화만 수행하므로 세션이 거부할 내용을 허용하지 않으며, 거부할 때 비밀을 반복하지 않습니다.guard옵션으로 끌 수 있습니다. /adr-mod: 로컬에서 응답합니다./adr-mod status,/adr-mod scan <text>,/adr-mod format.- 상태 파일:
.claude-flow/adr-mod/status.json(version,updatedMs, 카운터)을 세션 시작 시와 호출이 거부될 때마다 기록하며, 콘솔이 읽습니다. - 옵션(
userConfig):guard(기본 켜짐).
테스트: claude plugin validate plugins/ruflo-adr, claude plugin test plugins/ruflo-adr, bash plugins/ruflo-adr/scripts/smoke.sh.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add ruvnet/ruflo claude plugin install ruflo-adr
원문 / README
ruflo-adr
ADR lifecycle management -- create, index, reconcile, supersede, and link Architecture Decision Records to code.
Overview
Manages Architecture Decision Records through their full lifecycle (proposed, accepted, deprecated, superseded). ADRs are stored as markdown files in docs/adr/ and indexed in AgentDB with causal edges tracking supersedes/amends/depends-on relationships. Includes compliance checking that scans git diffs for ADR violations, and reconciliation (adr-reindex) for ADRs deleted from disk (#2666).
Installation
claude --plugin-dir plugins/ruflo-adr
Agents
| Agent | Model | Role |
|-------|-------|------|
| adr-architect | sonnet | ADR lifecycle management, code-ADR linking via grep/blame, AgentDB graph storage |
Skills
| Skill | Usage | Description |
|-------|-------|-------------|
| adr-create | /adr-create <title> | Create a new ADR with sequential numbering and AgentDB registration |
| adr-index | /adr-index | Build or rebuild the ADR index and dependency graph in AgentDB (add/update only — never removes) |
| adr-review | /adr-review [--branch BRANCH] | Review code changes against accepted ADRs for compliance violations |
| adr-verify | /adr-verify | Read back adr-patterns + adr-edges namespaces, surface dangling refs / supersede cycles / status mismatches; exits 1 on cycles |
| adr-reindex | /adr-reindex | Reconcile a deleted ADR file: drop-and-rebuild adr-patterns + adr-edges from what's on disk right now |
Commands (7 subcommands)
# Lifecycle
adr create <title>
adr list
adr status <adr-id> <new-status>
adr supersede <old-id> <new-id>
# Compliance
adr check # Scan recent git changes for ADR violations
adr graph # Show ADR dependency graph
adr search <query> # Semantic search across ADRs
ADR Lifecycle
proposed --> accepted --> deprecated
\--> superseded by ADR-XXX
Relationships tracked as causal edges: supersedes, amends, depends-on, related.
Body relationship fields accept qualifiers such as **Amends by scope**: or
**Depends-on / confirms**:, and Relates is an alias for Related. Wrapped
lists may continue on lines containing only ADR references (including Markdown
links) and separators. Narrative continuation is not scanned for relationships;
declare additional relationships in another bold field.
Compatibility
- CLI: pinned to
@claude-flow/cliv3.6 major+minor. - Verification:
bash plugins/ruflo-adr/scripts/smoke.shis the contract.
Namespace coordination
This plugin owns the adr-patterns AgentDB namespace. It defers to ruflo-agentdb ADR-0001 §"Namespace convention" for naming rules. Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.
adr-patterns follows kebab-case <plugin-stem>-<intent> per the convention. The plugin uses it for semantic ADR search and for cross-project pattern transfer (via hooks_transfer in ruflo-intelligence).
Verification
bash plugins/ruflo-adr/scripts/smoke.sh
# Expected: "22 passed, 0 failed"
Architecture Decisions
ADR-0001— ruflo-adr plugin contract (pinning, namespace coordination, smoke as contract)ADR-0002— Reconcile deleted ADRs (hard-delete primitive + drop-and-rebuild reindex)
Related Plugins
ruflo-agentdb— namespace convention owner; backing store for the ADR graphruflo-ddd— document domain decisions as ADRsruflo-sparc— Architecture phase (Phase 3) produces ADRsruflo-migrations— schema change decisions recorded as ADRsruflo-jujutsu— ADR-aware diff analysis on PRsruflo-intelligence—hooks_transferships ADR patterns across projects
License
MIT
As a mod
ADR also ships as a function-hook mod (ADR-445 pattern; hooks in hooks/, loaded with the plugin). No network, no process, no model call.
- Guard (default on): refuses an ADR write (
agentdb_hierarchical-store,agentdb_causal-edgeormemory_storeinto anadr*namespace) that holds a key, token or password. It only tightens: it never allows anything the session would deny, and the refusal never repeats the secret. Turn it off with theguardoption. /adr-mod: answered locally./adr-mod status,/adr-mod scan <text>,/adr-mod format.- Status file:
.claude-flow/adr-mod/status.json(version,updatedMs, counters), written at session start and whenever a call is refused; the console reads it. - Options (
userConfig):guard(onby default).
Test: claude plugin validate plugins/ruflo-adr, claude plugin test plugins/ruflo-adr, and bash plugins/ruflo-adr/scripts/smoke.sh.
