Initial commit
This commit is contained in:
11
.claude-plugin/plugin.json
Normal file
11
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "doc-review-commands",
|
||||
"description": "AI-powered documentation management system for Claude Code - keeps project documentation in sync with code changes",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "kimcharli"
|
||||
},
|
||||
"commands": [
|
||||
"./commands"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# doc-review-commands
|
||||
|
||||
AI-powered documentation management system for Claude Code - keeps project documentation in sync with code changes
|
||||
124
commands/analyze.md
Normal file
124
commands/analyze.md
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
|
||||
description: Run documentation analysis without making changes
|
||||
allowed-tools: Bash(~/.claude/commands/ck/doc-review/tools/analyzer.sh:*), Bash(~/.claude/tools/doc-analyzer.sh:*)
|
||||
---
|
||||
|
||||
# Documentation Analysis Command
|
||||
|
||||
## Context
|
||||
|
||||
- Analysis Results:
|
||||
!`~/.claude/commands/ck/doc-review/tools/analyzer.sh all || ~/.claude/tools/doc-analyzer.sh all`
|
||||
|
||||
## Task
|
||||
|
||||
**Analysis-only mode** - Review project documentation without making changes.
|
||||
|
||||
---
|
||||
|
||||
## Analysis Summary
|
||||
|
||||
Present the analysis results in a user-friendly format:
|
||||
|
||||
### 📋 Project Documentation Principles
|
||||
|
||||
[Summarize principles detected from analysis output above]
|
||||
|
||||
**Detected Constraints:**
|
||||
|
||||
- [List any detected principles or "None detected"]
|
||||
|
||||
**Impact:** [Explain what this means for documentation updates]
|
||||
|
||||
---
|
||||
|
||||
### 📁 Documentation Structure
|
||||
|
||||
**Inventory:**
|
||||
|
||||
- Total .md files: [from metrics]
|
||||
- Root directory: [count]
|
||||
- docs/ directory: [count]
|
||||
- specs/ directory: [count]
|
||||
|
||||
**Organization Assessment:**
|
||||
|
||||
- [Summarize if current structure is good or needs reorganization]
|
||||
- [List any potential improvements]
|
||||
|
||||
---
|
||||
|
||||
### 🎯 Change Impact Assessment
|
||||
|
||||
**Recent Changes:**
|
||||
[List files changed from git analysis]
|
||||
|
||||
**Documentation Impact:**
|
||||
|
||||
- README.md: [Needs update? Why?]
|
||||
- CLAUDE.md: [Needs update? Why?]
|
||||
- SDD artifacts: [Needs update? Why?]
|
||||
- API/Technical docs: [Needs update? Why?]
|
||||
|
||||
**Recommended Actions:**
|
||||
|
||||
1. [Prioritized list of documentation updates needed]
|
||||
2. [...]
|
||||
|
||||
---
|
||||
|
||||
### 📊 Current Metrics
|
||||
|
||||
**Documentation Health:**
|
||||
|
||||
- Total documentation lines: [from metrics]
|
||||
- Last commit: [from git]
|
||||
- Last doc update: [from git]
|
||||
|
||||
**Quality Indicators:**
|
||||
|
||||
- Large files (>200 lines): [count and list]
|
||||
- Potential misplaced files: [count and list]
|
||||
- SDD coverage: [number of active specs]
|
||||
|
||||
---
|
||||
|
||||
## Recommendations
|
||||
|
||||
Based on this analysis, here's what you should do:
|
||||
|
||||
### High Priority
|
||||
|
||||
- [List high-priority updates]
|
||||
|
||||
### Medium Priority
|
||||
|
||||
- [List medium-priority updates]
|
||||
|
||||
### Low Priority / Optional
|
||||
|
||||
- [List optional improvements]
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
**To update documentation, use:**
|
||||
|
||||
- `/ck:doc-review/core [feature]` - Update core files
|
||||
- `/ck:doc-review/sdd [feature]` - Update SDD artifacts
|
||||
- `/ck:doc-review/main [feature]` - Full update with user choice
|
||||
|
||||
**To validate quality:**
|
||||
|
||||
- `/ck:doc-review/qa` - Run quality checks
|
||||
|
||||
---
|
||||
|
||||
## Benefits
|
||||
|
||||
✅ **No Changes Made** - Safe to run anytime
|
||||
✅ **Fast** - Completes in < 1 second
|
||||
✅ **Comprehensive** - Full picture of doc health
|
||||
✅ **Actionable** - Clear next steps
|
||||
210
commands/core.md
Normal file
210
commands/core.md
Normal file
@@ -0,0 +1,210 @@
|
||||
---
|
||||
|
||||
description: Update core documentation files (README, CLAUDE, CHANGELOG)
|
||||
allowed-tools: Bash(cat:*), Bash(git:*), Read(*), Write(*), Edit(*), Grep(*), Glob(*)
|
||||
---
|
||||
|
||||
# Core Documentation Update Command
|
||||
|
||||
## Context
|
||||
|
||||
- Config:
|
||||
!`cat ~/.claude/commands/ck/doc-review/config/categories.json`
|
||||
- Recent changes:
|
||||
!`git diff --name-only HEAD~5..HEAD 2>/dev/null || echo "No recent commits"`
|
||||
|
||||
## Task
|
||||
|
||||
**Update core documentation for:** $ARGUMENTS
|
||||
|
||||
**Files to update:**
|
||||
|
||||
- README.md
|
||||
- CLAUDE.md
|
||||
- CHANGELOG.md
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Read Current Files
|
||||
|
||||
Read the current state of core files to understand what needs updating.
|
||||
|
||||
---
|
||||
|
||||
## Step 2: README.md Updates
|
||||
|
||||
### What to Update
|
||||
|
||||
Based on $ARGUMENTS, update relevant sections:
|
||||
|
||||
**Features Section:**
|
||||
If new feature added, use this template:
|
||||
|
||||
````markdown
|
||||
|
||||
### [Feature Name]
|
||||
|
||||
Brief description of what it does and why it's useful.
|
||||
|
||||
**Usage:**
|
||||
|
||||
```[language]
|
||||
# Code example here
|
||||
```
|
||||
````
|
||||
|
||||
**Key Features:**
|
||||
|
||||
- Feature point 1
|
||||
- Feature point 2
|
||||
|
||||
````
|
||||
|
||||
**Installation Section:**
|
||||
- Update if new dependencies added
|
||||
- Update if setup process changed
|
||||
- Verify all steps still work
|
||||
|
||||
**Configuration Section:**
|
||||
- Add new configuration options
|
||||
- Update examples with new settings
|
||||
- Note any breaking changes
|
||||
|
||||
**Troubleshooting:**
|
||||
- Add common issues encountered during development
|
||||
- Document solutions/workarounds
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply updates to README.md using Edit tool.
|
||||
|
||||
---
|
||||
|
||||
## Step 3: CLAUDE.md Updates
|
||||
|
||||
### What to Update
|
||||
|
||||
Add AI assistant context for: $ARGUMENTS
|
||||
|
||||
**Use this template:**
|
||||
|
||||
````markdown
|
||||
### [Module/Feature Name]
|
||||
- **Purpose**: [What it does in one sentence]
|
||||
- **Location**: `path/to/file.py:123`
|
||||
- **Key Components**:
|
||||
- `ClassName` - Description
|
||||
- `function_name()` - Description
|
||||
- **Usage Pattern**:
|
||||
```bash
|
||||
# Example usage
|
||||
```
|
||||
````
|
||||
|
||||
- **Error Handling**:
|
||||
- Common error 1: Solution
|
||||
- Common error 2: Solution
|
||||
- **Related Components**: [Links to related sections]
|
||||
|
||||
````
|
||||
|
||||
**Additional Context:**
|
||||
- Update architecture overview if structure changed
|
||||
- Add new workflow patterns
|
||||
- Document design decisions
|
||||
- Add debugging tips
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply updates to CLAUDE.md using Edit tool.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: CHANGELOG.md Updates
|
||||
|
||||
### Determine Version
|
||||
|
||||
Check current version and determine if this is:
|
||||
- Patch (bug fix): increment 0.0.X
|
||||
- Minor (new feature): increment 0.X.0
|
||||
- Major (breaking change): increment X.0.0
|
||||
|
||||
### Use Template
|
||||
|
||||
````markdown
|
||||
## [Version] - YYYY-MM-DD
|
||||
|
||||
### Added
|
||||
- Feature: [description] (file.py:123)
|
||||
- Feature: [description]
|
||||
|
||||
### Changed
|
||||
- Modified: [description]
|
||||
- Updated: [description]
|
||||
|
||||
### Fixed
|
||||
- Bug: [description] (#issue)
|
||||
- Issue: [description]
|
||||
|
||||
### Deprecated
|
||||
- [What's being removed in future]
|
||||
````
|
||||
|
||||
### Make Updates
|
||||
|
||||
- Read current CHANGELOG.md
|
||||
- Add new entry at the top (most recent first)
|
||||
- Use Edit tool to update
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Validation
|
||||
|
||||
**Check Updates:**
|
||||
|
||||
- [ ] README.md updated with new feature/changes
|
||||
- [ ] CLAUDE.md has AI context for new components
|
||||
- [ ] CHANGELOG.md has version entry with categorized changes
|
||||
- [ ] All code examples are syntactically correct
|
||||
- [ ] File:line references are accurate
|
||||
- [ ] No sensitive information exposed
|
||||
|
||||
---
|
||||
|
||||
## Output: Summary
|
||||
|
||||
### 📊 Core Documentation Update Summary
|
||||
|
||||
**Scope:** $ARGUMENTS
|
||||
|
||||
**Files Updated:**
|
||||
|
||||
| File | Sections Modified | Lines Changed |
|
||||
| ------------ | ----------------- | ------------- |
|
||||
| README.md | [list sections] | ~[estimate] |
|
||||
| CLAUDE.md | [list sections] | ~[estimate] |
|
||||
| CHANGELOG.md | [version entry] | ~[estimate] |
|
||||
|
||||
**Key Changes:**
|
||||
|
||||
- [Bullet point summary of main changes]
|
||||
|
||||
**Validation:**
|
||||
|
||||
- [x] All core files updated
|
||||
- [x] Examples tested
|
||||
- [x] No sensitive data
|
||||
- [x] References accurate
|
||||
|
||||
**Execution Time:** [X]s
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
Recommended follow-up:
|
||||
|
||||
- [ ] Review changes: `git diff README.md CLAUDE.md CHANGELOG.md`
|
||||
- [ ] Test any code examples added
|
||||
- [ ] Update SDD if needed: `/ck:doc-review/sdd $ARGUMENTS`
|
||||
- [ ] Run QA: `/ck:doc-review/qa`
|
||||
667
commands/help.md
Normal file
667
commands/help.md
Normal file
@@ -0,0 +1,667 @@
|
||||
---
|
||||
description: Documentation review system help - usage guide and command reference
|
||||
allowed-tools: Bash(cat:*)
|
||||
---
|
||||
|
||||
# 📚 Documentation Review System - Help Guide
|
||||
|
||||
**Version:** Phase 3 (Modular Architecture)
|
||||
**Last Updated:** 2025-10-24
|
||||
|
||||
---
|
||||
|
||||
## 🎯 What Is This?
|
||||
|
||||
The `/ck:doc-review` system is a **modular documentation update toolkit** that
|
||||
helps you:
|
||||
|
||||
✅ Keep documentation in sync with code changes
|
||||
✅ Update README, CLAUDE.md, CHANGELOG consistently
|
||||
✅ Maintain SDD (Specification-Driven Development) artifacts
|
||||
✅ Validate documentation quality before commits
|
||||
✅ Save 88% tokens compared to manual updates
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ Architecture Overview
|
||||
|
||||
```text
|
||||
┌─────────────────────────────────────────┐
|
||||
│ /ck:doc-review (Orchestrator) │
|
||||
│ • Analyzes changes │
|
||||
│ • Asks what to update │
|
||||
│ • Delegates to sub-commands │
|
||||
│ • Shows summary │
|
||||
└─────────────────────────────────────────┘
|
||||
│
|
||||
┌──────┼──────┬──────┬──────┐
|
||||
▼ ▼ ▼ ▼ ▼
|
||||
┌────────┐ │ │ │ │ │ │ └─────────┐
|
||||
│:analyze│ │:core│ │:sdd│ │:qa│ │:help │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ 0 edits│ │3 files││SDD │ │Check││This!│
|
||||
└────────┘ └─────┘ └────┘ └────┘ └──────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 Command Reference
|
||||
|
||||
### `/ck:doc-review/help` (This Command)
|
||||
|
||||
**Purpose:** Show help and usage guide
|
||||
**Token Cost:** ~200 tokens (one-time)
|
||||
**Files Modified:** None
|
||||
**Use When:** First time using system, or need reminder
|
||||
|
||||
---
|
||||
|
||||
### `/ck:doc-review/analyze`
|
||||
|
||||
**Purpose:** Analyze documentation needs without making changes
|
||||
**Token Cost:** ~600-800 tokens
|
||||
**Files Modified:** None
|
||||
**Execution Time:** < 1 second
|
||||
|
||||
**What It Does:**
|
||||
|
||||
- ✅ Detects project documentation principles
|
||||
- ✅ Analyzes current documentation structure
|
||||
- ✅ Identifies what needs updating (from git history)
|
||||
- ✅ Provides actionable recommendations
|
||||
- ❌ Makes zero changes
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- "What docs need updating?"
|
||||
- Before starting documentation work
|
||||
- Quick health check
|
||||
- Understanding project doc structure
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
/ck:doc-review/analyze
|
||||
|
||||
→ Output:
|
||||
- 61 .md files found
|
||||
- Recent changes: 5 files in src/
|
||||
- Recommendations: Update README, CLAUDE, specs/005/
|
||||
- Execution: 0.8s
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `/ck:doc-review/core`
|
||||
|
||||
**Purpose:** Update core documentation files
|
||||
**Token Cost:** ~1,200-1,500 tokens
|
||||
**Files Modified:** README.md, CLAUDE.md, CHANGELOG.md
|
||||
**Execution Time:** 15-30 seconds
|
||||
|
||||
**What It Does:**
|
||||
|
||||
- ✅ Updates README.md (features, usage, installation)
|
||||
- ✅ Updates CLAUDE.md (AI context, module docs)
|
||||
- ✅ Updates CHANGELOG.md (version entry)
|
||||
- ✅ Uses professional templates
|
||||
- ✅ Validates changes
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- Just added a new feature
|
||||
- Need to document new API/module
|
||||
- Quick documentation update
|
||||
- Before sharing project
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
/ck:doc-review/core "ApstraWorkModule implementation"
|
||||
|
||||
→ Updates:
|
||||
- README.md: Added usage examples
|
||||
- CLAUDE.md: Added module context
|
||||
- CHANGELOG.md: Created v1.2.0 entry
|
||||
- Time: 18s
|
||||
```
|
||||
|
||||
**Templates Provided:**
|
||||
|
||||
- README feature section
|
||||
- CLAUDE module documentation
|
||||
- CHANGELOG version entry
|
||||
|
||||
---
|
||||
|
||||
### `/ck:doc-review/sdd`
|
||||
|
||||
**Purpose:** Update SDD (Specification-Driven Development) artifacts
|
||||
**Token Cost:** ~1,500-1,800 tokens
|
||||
**Files Modified:** specs/_/spec.md, plan.md, tasks.md, contracts/_.md
|
||||
**Execution Time:** 30-60 seconds
|
||||
|
||||
**What It Does:**
|
||||
|
||||
- ✅ Marks requirements (FR-\*) as completed in spec.md
|
||||
- ✅ Updates implementation plan and phase status in plan.md
|
||||
- ✅ Marks tasks complete and adds notes in tasks.md
|
||||
- ✅ Updates design contracts and API specs
|
||||
- ✅ Validates SDD ↔ code consistency
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- Completed an implementation phase
|
||||
- Need to sync specs with code
|
||||
- Mark requirements as done
|
||||
- Document architecture decisions
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
/ck:doc-review/sdd "Phase 2 completion"
|
||||
|
||||
→ Updates:
|
||||
- spec.md: Marked FR-005-1, FR-005-2 complete
|
||||
- plan.md: Phase 2 status = ✅ Completed
|
||||
- tasks.md: 15 tasks marked done
|
||||
- Consistency: 100%
|
||||
- Time: 42s
|
||||
```
|
||||
|
||||
**SDD Consistency Checks:**
|
||||
|
||||
- Requirements → Implementation alignment
|
||||
- Plan → Tasks alignment
|
||||
- Contracts → Code alignment
|
||||
- Traceability validation
|
||||
|
||||
---
|
||||
|
||||
### `/ck:doc-review/qa`
|
||||
|
||||
**Purpose:** Quality assurance - validate documentation
|
||||
**Token Cost:** ~1,800-2,000 tokens
|
||||
**Files Modified:** None
|
||||
**Execution Time:** 10-20 seconds
|
||||
|
||||
**What It Does:**
|
||||
|
||||
- ✅ Validates markdown links (finds broken links)
|
||||
- ✅ Checks file:line references (path/to/file.py:123)
|
||||
- ✅ Checks terminology consistency
|
||||
- ✅ Validates version number consistency
|
||||
- ✅ Checks SDD requirement traceability
|
||||
- ✅ Basic code example syntax validation
|
||||
- ✅ Completeness check (required sections)
|
||||
- ✅ Generates scored report (0-100)
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- Before committing documentation changes
|
||||
- After major documentation updates
|
||||
- Find and fix broken links
|
||||
- Ensure documentation quality
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
/ck:doc-review/qa
|
||||
|
||||
→ Results:
|
||||
- Valid links: 156
|
||||
- Broken links: 3
|
||||
- Version mismatches: 1
|
||||
- Overall score: 87/100
|
||||
- Time: 12s
|
||||
|
||||
→ Recommendations:
|
||||
1. Fix broken link in README.md:45
|
||||
2. Update version in pyproject.toml
|
||||
```
|
||||
|
||||
**QA Categories:**
|
||||
|
||||
1. Link Validation (20 points)
|
||||
2. Cross-Reference Validation (15 points)
|
||||
3. Terminology Consistency (15 points)
|
||||
4. Version Consistency (15 points)
|
||||
5. SDD Consistency (15 points)
|
||||
6. Code Example Quality (10 points)
|
||||
7. Completeness (10 points)
|
||||
|
||||
---
|
||||
|
||||
### `/ck:doc-review` (Main Orchestrator)
|
||||
|
||||
**Purpose:** Smart orchestration - analyze and delegate
|
||||
**Token Cost:** ~900-1,200 tokens (orchestrator only) + selected sub-commands
|
||||
**Files Modified:** Depends on user selection
|
||||
**Execution Time:** Variable (depends on selection)
|
||||
|
||||
**What It Does:**
|
||||
|
||||
- ✅ Runs comprehensive analysis (via doc-analyzer.sh)
|
||||
- ✅ Shows analysis summary
|
||||
- ✅ Asks user which areas to update
|
||||
- ✅ Invokes selected sub-commands automatically
|
||||
- ✅ Aggregates and shows summary
|
||||
|
||||
**When to Use:**
|
||||
|
||||
- Not sure what needs updating
|
||||
- Want guided workflow
|
||||
- Comprehensive documentation update
|
||||
- First time using the system
|
||||
|
||||
**Example:**
|
||||
|
||||
```bash
|
||||
/ck:doc-review "feature 005 implementation"
|
||||
|
||||
→ Analysis shown (principles, structure, changes, metrics)
|
||||
|
||||
→ User asked:
|
||||
Which areas to update?
|
||||
□ Core Files (README, CLAUDE, CHANGELOG)
|
||||
□ SDD Artifacts (spec, plan, tasks)
|
||||
□ Run QA Only
|
||||
□ Full Update
|
||||
|
||||
→ User selects "Full Update"
|
||||
|
||||
→ Executes:
|
||||
1. /ck:doc-review/core "feature 005"
|
||||
2. /ck:doc-review/sdd "feature 005"
|
||||
3. /ck:doc-review/qa
|
||||
|
||||
→ Aggregated summary:
|
||||
- 8 files updated
|
||||
- QA score: 92/100
|
||||
- Total time: 78s
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎓 Usage Patterns
|
||||
|
||||
### Pattern 1: Quick README Update (Most Common)
|
||||
|
||||
```bash
|
||||
# Scenario: Added new feature, need docs
|
||||
/ck:doc-review/core "new feature name"
|
||||
|
||||
# Time: 20s
|
||||
# Token: 1.2K
|
||||
# Updates: README, CLAUDE, CHANGELOG
|
||||
```
|
||||
|
||||
### Pattern 2: Analysis First (Recommended for New Users)
|
||||
|
||||
```bash
|
||||
# Step 1: Understand what needs updating
|
||||
/ck:doc-review/analyze
|
||||
|
||||
# Step 2: Update based on recommendations
|
||||
/ck:doc-review/core "feature X"
|
||||
|
||||
# Time: 1s + 20s = 21s
|
||||
# Tokens: 600 + 1.2K = 1.8K
|
||||
```
|
||||
|
||||
### Pattern 3: Full Update After Major Work
|
||||
|
||||
```bash
|
||||
# Completed major implementation
|
||||
/ck:doc-review "Phase 2 complete"
|
||||
|
||||
→ Select "Full Update"
|
||||
→ All docs updated + QA validated
|
||||
|
||||
# Time: 60-90s
|
||||
# Tokens: 3-4K
|
||||
# Updates: Everything
|
||||
```
|
||||
|
||||
### Pattern 4: QA Before Commit (Best Practice)
|
||||
|
||||
```bash
|
||||
# Before git commit
|
||||
/ck:doc-review/qa
|
||||
|
||||
→ Fix any issues found
|
||||
→ Re-run QA
|
||||
→ Commit with confidence
|
||||
|
||||
# Time: 10-15s per run
|
||||
# Tokens: 1.8K
|
||||
```
|
||||
|
||||
### Pattern 5: SDD Update After Phase
|
||||
|
||||
```bash
|
||||
# Completed implementation phase
|
||||
/ck:doc-review/sdd "Phase 2"
|
||||
|
||||
# Time: 40-50s
|
||||
# Tokens: 1.5K
|
||||
# Updates: All SDD artifacts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🗂️ File Structure Reference
|
||||
|
||||
### Command Files Location
|
||||
|
||||
```text
|
||||
~/.claude/commands/ck/
|
||||
├── doc-review.md # Main orchestrator
|
||||
├── doc-review:analyze.md # Analysis only
|
||||
├── doc-review:core.md # Core files update
|
||||
├── doc-review:sdd.md # SDD artifacts update
|
||||
├── doc-review:qa.md # Quality validation
|
||||
├── doc-review:help.md # This help file
|
||||
└── doc-categories.json # Pattern configuration
|
||||
```
|
||||
|
||||
### Supporting Tools
|
||||
|
||||
```text
|
||||
~/.claude/tools/
|
||||
└── doc-analyzer.sh # External analysis script
|
||||
├── principles # Extract doc principles
|
||||
├── structure # Analyze doc structure
|
||||
├── categorize # Categorize files
|
||||
├── impact # Assess change impact
|
||||
├── metrics # Generate metrics
|
||||
└── all # Run all analyses
|
||||
```
|
||||
|
||||
### Documentation
|
||||
|
||||
```text
|
||||
docs/
|
||||
├── ck-doc-review-analysis.md # Architecture analysis
|
||||
├── ck-doc-review-phase1-improvements.md # Phase 1 docs
|
||||
├── ck-doc-review-phase2-improvements.md # Phase 2 docs
|
||||
└── ck-doc-review-phase3-improvements.md # Phase 3 docs (current)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Token Budgeting
|
||||
|
||||
### Per-Command Token Costs
|
||||
|
||||
| Command | Tokens | Use Case |
|
||||
| ------------ | ------------------------ | ------------------ |
|
||||
| `:help` | ~200 | One-time reference |
|
||||
| `:analyze` | ~600-800 | Analysis only |
|
||||
| `:core` | ~1.2-1.5K | Quick update |
|
||||
| `:sdd` | ~1.5-1.8K | SDD update |
|
||||
| `:qa` | ~1.8-2K | Quality check |
|
||||
| `doc-review` | ~900-1.2K + sub-commands | Full orchestration |
|
||||
|
||||
### Monthly Token Budget Examples
|
||||
|
||||
**Light Usage (10 updates/month):**
|
||||
|
||||
```plaintext
|
||||
10x :core updates: 12-15K tokens
|
||||
2x :qa checks: 3.6-4K tokens
|
||||
1x :help reference: 200 tokens
|
||||
Total: ~16-19K tokens/month
|
||||
```
|
||||
|
||||
**Medium Usage (20 updates/month):**
|
||||
|
||||
```plaintext
|
||||
15x :core updates: 18-22.5K tokens
|
||||
4x :sdd updates: 6-7.2K tokens
|
||||
4x :qa checks: 7.2-8K tokens
|
||||
1x :help reference: 200 tokens
|
||||
Total: ~31-38K tokens/month
|
||||
```
|
||||
|
||||
**Heavy Usage (40 updates/month):**
|
||||
|
||||
```plaintext
|
||||
25x :core updates: 30-37.5K tokens
|
||||
8x :sdd updates: 12-14.4K tokens
|
||||
8x :qa checks: 14.4-16K tokens
|
||||
4x orchestrated: 12-16K tokens
|
||||
1x :help reference: 200 tokens
|
||||
Total: ~69-84K tokens/month
|
||||
```
|
||||
|
||||
**Original System (Same Usage):**
|
||||
|
||||
```
|
||||
40x monolithic commands: 400-480K tokens/month
|
||||
Savings with Phase 3: 83-93%
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
### "Command not found: /ck:doc-review/core"
|
||||
|
||||
**Cause:** Sub-command file not installed
|
||||
**Solution:**
|
||||
|
||||
```bash
|
||||
# Check if files exist
|
||||
ls ~/.claude/commands/ck/doc-review*.md
|
||||
|
||||
# Should see all sub-command files
|
||||
# If missing, reinstall from docs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### "Analysis fails with error"
|
||||
|
||||
**Cause:** doc-analyzer.sh not executable or not found
|
||||
**Solution:**
|
||||
|
||||
```bash
|
||||
# Check if tool exists
|
||||
ls -l ~/.claude/tools/doc-analyzer.sh
|
||||
|
||||
# Make executable
|
||||
chmod +x ~/.claude/tools/doc-analyzer.sh
|
||||
|
||||
# Test manually
|
||||
~/.claude/tools/doc-analyzer.sh help
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### "QA reports many broken links"
|
||||
|
||||
**Cause:** Links broken after file reorganization
|
||||
**Solution:**
|
||||
|
||||
```bash
|
||||
# Run QA to identify broken links
|
||||
/ck:doc-review/qa
|
||||
|
||||
# Fix links in reported files
|
||||
# Re-run QA to verify
|
||||
/ck:doc-review/qa
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### "SDD consistency check fails"
|
||||
|
||||
**Cause:** Requirements/tasks out of sync with code
|
||||
**Solution:**
|
||||
|
||||
```bash
|
||||
# Update SDD artifacts
|
||||
/ck:doc-review/sdd "current feature"
|
||||
|
||||
# Manually review any remaining inconsistencies
|
||||
# Update as needed
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 Tips & Best Practices
|
||||
|
||||
### 1. Run `:analyze` First (New Projects)
|
||||
|
||||
```bash
|
||||
# When starting with a new project
|
||||
/ck:doc-review/analyze
|
||||
|
||||
→ Understand doc structure
|
||||
→ Identify gaps
|
||||
→ Plan updates
|
||||
```
|
||||
|
||||
### 2. Use `:core` for Quick Updates
|
||||
|
||||
```bash
|
||||
# Daily workflow: added feature, need docs
|
||||
/ck:doc-review/core "feature name"
|
||||
|
||||
→ Fast (20s)
|
||||
→ Low token cost (1.2K)
|
||||
→ Updates essentials
|
||||
```
|
||||
|
||||
### 3. Run `:qa` Before Commits
|
||||
|
||||
```bash
|
||||
# Git workflow
|
||||
git add .
|
||||
/ck:doc-review/qa # Check doc quality
|
||||
→ Fix any issues
|
||||
git commit -m "docs: ..."
|
||||
```
|
||||
|
||||
### 4. Use Orchestrator When Unsure
|
||||
|
||||
```bash
|
||||
# Not sure what needs updating?
|
||||
/ck:doc-review "what changed"
|
||||
|
||||
→ Guided workflow
|
||||
→ Smart recommendations
|
||||
→ You choose scope
|
||||
```
|
||||
|
||||
### 5. Batch SDD Updates
|
||||
|
||||
```bash
|
||||
# Don't update SDD after every task
|
||||
# Batch at phase boundaries
|
||||
/ck:doc-review/sdd "Phase 2 complete"
|
||||
|
||||
→ More efficient
|
||||
→ Better overview
|
||||
→ Cleaner commits
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Decision Tree: Which Command to Use?
|
||||
|
||||
```text
|
||||
Start
|
||||
│
|
||||
├─ Need help? → /ck:doc-review/help
|
||||
│
|
||||
├─ Just want to see what needs updating?
|
||||
│ └─ /ck:doc-review/analyze
|
||||
│
|
||||
├─ Added new feature/module?
|
||||
│ └─ /ck:doc-review/core "feature name"
|
||||
│
|
||||
├─ Completed implementation phase?
|
||||
│ └─ /ck:doc-review/sdd "phase name"
|
||||
│
|
||||
├─ About to commit documentation?
|
||||
│ └─ /ck:doc-review/qa
|
||||
│
|
||||
├─ Not sure what to do?
|
||||
│ └─ /ck:doc-review "what changed"
|
||||
│
|
||||
└─ Want comprehensive update?
|
||||
└─ /ck:doc-review "scope" → Select "Full Update"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Further Reading
|
||||
|
||||
**Architecture Deep Dive:**
|
||||
|
||||
- `docs/ck-doc-review-analysis.md` - Initial architecture analysis
|
||||
- `docs/ck-doc-review-phase3-improvements.md` - Current system design
|
||||
|
||||
**Phase Evolution:**
|
||||
|
||||
- Phase 1: Progressive disclosure + patterns config
|
||||
- Phase 2: External tool architecture
|
||||
- Phase 3: Full modularization (current)
|
||||
|
||||
**External Tools:**
|
||||
|
||||
- `~/.claude/tools/doc-analyzer.sh help` - Tool documentation
|
||||
- Run `doc-analyzer.sh all` to see full analysis output
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Getting Help
|
||||
|
||||
### Within the System
|
||||
|
||||
```bash
|
||||
/ck:doc-review/help # This guide
|
||||
~/.claude/tools/doc-analyzer.sh help # Tool help
|
||||
```
|
||||
|
||||
### Documentation Files
|
||||
|
||||
```bash
|
||||
cat docs/ck-doc-review-phase3-improvements.md # Full system docs
|
||||
```
|
||||
|
||||
### Quick Reference Card
|
||||
|
||||
```bash
|
||||
# Analysis
|
||||
/ck:doc-review/analyze
|
||||
|
||||
# Updates
|
||||
/ck:doc-review/core "feature" # Quick
|
||||
/ck:doc-review/sdd "phase" # SDD
|
||||
/ck:doc-review "scope" # Full
|
||||
|
||||
# Validation
|
||||
/ck:doc-review/qa
|
||||
|
||||
# Help
|
||||
/ck:doc-review/help
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✨ Key Takeaways
|
||||
|
||||
1. **Modular = Efficient** - Use focused commands, not monolithic tool
|
||||
2. **Analyze First** - Understand before updating
|
||||
3. **Core for Speed** - Most common use case
|
||||
4. **QA Before Commit** - Catch issues early
|
||||
5. **Orchestrate When Unsure** - Guided workflow helps
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2025-10-24
|
||||
**Version:** Phase 3 (Modular Architecture)
|
||||
**System Status:** Production Ready ✅
|
||||
137
commands/main.md
Normal file
137
commands/main.md
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
|
||||
description: Documentation update orchestrator - analyzes and delegates to sub-commands
|
||||
allowed-tools: Bash(~/.claude/commands/ck/doc-review/tools/analyzer.sh:*), Bash(~/.claude/tools/doc-analyzer.sh:*), Read(*), SlashCommand(*), AskUserQuestion(*)
|
||||
---
|
||||
|
||||
# Documentation Update Orchestrator
|
||||
|
||||
## Context
|
||||
|
||||
- Analysis:
|
||||
!`~/.claude/commands/ck/doc-review/tools/analyzer.sh all || ~/.claude/tools/doc-analyzer.sh all`
|
||||
|
||||
## Task
|
||||
|
||||
**Update all documentation for:** $ARGUMENTS
|
||||
|
||||
**🎯 Smart Orchestration:** This command analyzes your changes and delegates to sub-commands.
|
||||
|
||||
---
|
||||
|
||||
## Analysis Review
|
||||
|
||||
Review the analysis output above to understand:
|
||||
|
||||
✅ **Principles:** Project documentation constraints (if any)
|
||||
✅ **Structure:** Current documentation organization
|
||||
✅ **Changes:** Files modified in recent commits
|
||||
✅ **Impact:** Which documentation needs updating
|
||||
|
||||
---
|
||||
|
||||
## Recommended Update Plan
|
||||
|
||||
Based on the analysis, here's what needs updating:
|
||||
|
||||
**Available Sub-Commands:**
|
||||
|
||||
- `/ck:doc-review/quick` - Fast updates, no analysis (~400-600 tokens)
|
||||
- `/ck:doc-review/analyze` - Run analysis only (no updates)
|
||||
- `/ck:doc-review/core` - Update README, CLAUDE, CHANGELOG
|
||||
- `/ck:doc-review/sdd` - Update SDD artifacts (spec.md, plan.md, tasks.md)
|
||||
- `/ck:doc-review/qa` - Quality validation and link checking
|
||||
|
||||
---
|
||||
|
||||
## User Confirmation
|
||||
|
||||
Use AskUserQuestion to ask:
|
||||
|
||||
### Question: Which documentation should be updated?
|
||||
|
||||
**header:** "Update Scope"
|
||||
**question:** "Which documentation areas should be updated for: $ARGUMENTS"
|
||||
**multiSelect:** true
|
||||
**options:**
|
||||
|
||||
- **label:** "Core Files"
|
||||
**description:** "README.md, CLAUDE.md, CHANGELOG.md - Quick updates (1-2 min)"
|
||||
|
||||
- **label:** "SDD Artifacts"
|
||||
**description:** "specs/\*/spec.md, plan.md, tasks.md - Specification updates (2-3 min)"
|
||||
|
||||
- **label:** "Run QA Only"
|
||||
**description:** "Link validation, consistency checks - No content changes"
|
||||
|
||||
- **label:** "Full Update"
|
||||
**description:** "All documentation areas - Comprehensive update (3-5 min)"
|
||||
|
||||
---
|
||||
|
||||
## Execution
|
||||
|
||||
Based on user selection, invoke appropriate sub-commands:
|
||||
|
||||
### If "Core Files" selected
|
||||
|
||||
```bash
|
||||
/ck:doc-review/core $ARGUMENTS
|
||||
```
|
||||
|
||||
### If "SDD Artifacts" selected
|
||||
|
||||
```bash
|
||||
/ck:doc-review/sdd $ARGUMENTS
|
||||
```
|
||||
|
||||
### If "Run QA Only" selected
|
||||
|
||||
```bash
|
||||
/ck:doc-review/qa
|
||||
```
|
||||
|
||||
### If "Full Update" selected
|
||||
|
||||
```bash
|
||||
/ck:doc-review/core $ARGUMENTS
|
||||
/ck:doc-review/sdd $ARGUMENTS
|
||||
/ck:doc-review/qa
|
||||
```
|
||||
|
||||
**⚠️ Note:** Run sub-commands sequentially, wait for each to complete before running the next.
|
||||
|
||||
---
|
||||
|
||||
## Final Summary
|
||||
|
||||
After all sub-commands complete, provide aggregated summary:
|
||||
|
||||
### 📊 Complete Documentation Update Summary
|
||||
|
||||
**Scope:** $ARGUMENTS
|
||||
|
||||
**Sub-Commands Executed:**
|
||||
|
||||
- [List which sub-commands ran]
|
||||
|
||||
**Total Updates:**
|
||||
|
||||
- Files modified: [aggregate count]
|
||||
- Total time: [sum of execution times]
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
- [ ] Review changes: `git diff`
|
||||
- [ ] Commit updates: `git add . && git commit -m "docs: ..."`
|
||||
- [ ] Push if ready: `git push`
|
||||
|
||||
---
|
||||
|
||||
## Benefits of Modular Approach
|
||||
|
||||
✅ **90% Token Reduction** - Only load what you need
|
||||
✅ **Faster Execution** - Focused commands run in < 1s
|
||||
✅ **Clear Responsibility** - Each command does one thing well
|
||||
✅ **Reusable** - Use sub-commands independently
|
||||
✅ **Composable** - Mix and match as needed
|
||||
480
commands/qa.md
Normal file
480
commands/qa.md
Normal file
@@ -0,0 +1,480 @@
|
||||
---
|
||||
|
||||
description: Quality validation - auto-fix linting, check links, consistency, completeness
|
||||
allowed-tools: Bash(find:*), Bash(grep:*), Bash(git:*), Bash(npm:*), Read(*), Grep(*), Glob(*), Edit(*), Write(*)
|
||||
---
|
||||
|
||||
# Quality Assurance Validation Command
|
||||
|
||||
## Context
|
||||
|
||||
- All markdown files: !`find . -name "*.md" | wc -l`
|
||||
- Recent doc changes:
|
||||
!`git log -5 --oneline -- "*.md" 2>/dev/null || echo "No recent doc commits"`
|
||||
|
||||
## Task
|
||||
|
||||
**Quality validation and auto-fix** - Automatically fixes formatting issues with
|
||||
linting tools, then performs validation checks for links, consistency, and
|
||||
completeness.
|
||||
|
||||
---
|
||||
|
||||
## Linting & Auto-Fix Phase
|
||||
|
||||
### Step 1: Check for Linting Tools
|
||||
|
||||
```bash
|
||||
# Check if markdownlint is available
|
||||
which markdownlint || npm list -g markdownlint || echo "markdownlint not found"
|
||||
|
||||
# Check if prettier is available
|
||||
which prettier || npm list -g prettier || echo "prettier not found"
|
||||
```
|
||||
|
||||
### Step 2: Install Tools if Missing
|
||||
|
||||
If tools are not available:
|
||||
|
||||
```bash
|
||||
npm install -g markdownlint-cli prettier
|
||||
```
|
||||
|
||||
### Step 3: Auto-Fix Markdown Files
|
||||
|
||||
**Run markdownlint with auto-fix enabled:**
|
||||
|
||||
```bash
|
||||
markdownlint --fix . --ignore node_modules --ignore '.git'
|
||||
```
|
||||
|
||||
This automatically fixes:
|
||||
|
||||
- MD032: Lists surrounded by blank lines
|
||||
- MD034: Bare URLs wrapped in links
|
||||
- MD036: Emphasis used instead of headings
|
||||
- MD040: Fenced code blocks with language specified
|
||||
- MD059: Link text descriptive
|
||||
|
||||
**Run prettier for consistent formatting:**
|
||||
|
||||
```bash
|
||||
prettier --write "**/*.md"
|
||||
```
|
||||
|
||||
This formats:
|
||||
|
||||
- Line length consistency
|
||||
- Indentation
|
||||
- List formatting
|
||||
- Code block formatting
|
||||
|
||||
### Step 4: Verify Changes
|
||||
|
||||
```bash
|
||||
# Show what was changed
|
||||
git diff --name-only 2>/dev/null || echo "Not a git repo"
|
||||
|
||||
# Count auto-fixed issues
|
||||
echo "✅ Auto-fix complete"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 1: Link Validation
|
||||
|
||||
### Find All Markdown Links
|
||||
|
||||
Search for markdown links in all .md files:
|
||||
|
||||
```bash
|
||||
# Find all links
|
||||
find . -name "*.md" -exec grep -o '\[.*\](.*\.md)' {} +
|
||||
|
||||
# Find relative links
|
||||
find . -name "*.md" -exec grep -o '](\.\.*/.*\.md)' {} +
|
||||
```
|
||||
|
||||
### Validate Links
|
||||
|
||||
For each link found:
|
||||
|
||||
- Check if target file exists
|
||||
- Note broken links
|
||||
- Note external links (for manual review)
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
✅ Valid links: [count]
|
||||
❌ Broken links: [count]
|
||||
⚠️ External links: [count] (manual review needed)
|
||||
|
||||
Broken Links Found:
|
||||
- file.md:123 → links to missing-file.md
|
||||
- [...]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 2: Cross-Reference Consistency
|
||||
|
||||
### File:Line References
|
||||
|
||||
Find all code references (e.g., `path/to/file.py:123`):
|
||||
|
||||
```bash
|
||||
find . -name "*.md" -exec grep -o '[a-zA-Z0-9_/.-]*\.[a-z]*:[0-9]*' {} +
|
||||
```
|
||||
|
||||
### Validate References
|
||||
|
||||
For each reference:
|
||||
|
||||
- Check if file exists
|
||||
- Optionally check if line number is reasonable (file has that many lines)
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
✅ Valid references: [count]
|
||||
❌ Invalid file references: [count]
|
||||
⚠️ Questionable line numbers: [count]
|
||||
|
||||
Issues Found:
|
||||
- README.md mentions deleted_file.py:50
|
||||
- CLAUDE.md references file.py:999 (file only has 200 lines)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 3: Terminology Consistency
|
||||
|
||||
### Extract Key Terms
|
||||
|
||||
Find variations of important terms:
|
||||
|
||||
```bash
|
||||
# Example: Find all variations of "apstra"
|
||||
grep -i "apstra\|APSTRA\|Apstra" . -r --include="*.md"
|
||||
|
||||
# Check for inconsistent capitalization
|
||||
# Check for inconsistent naming (e.g., "doc review" vs "doc-review")
|
||||
```
|
||||
|
||||
### Common Inconsistencies to Check
|
||||
|
||||
- Product names (capitalization)
|
||||
- Feature names (hyphenation)
|
||||
- Technical terms (spelling variations)
|
||||
- Version numbers (consistency)
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
📝 Terminology Review:
|
||||
|
||||
Consistent:
|
||||
- ✅ "Apstra" used consistently (capitalized)
|
||||
- ✅ "NetworkX" spelling consistent
|
||||
|
||||
Inconsistent:
|
||||
- ⚠️ "doc-review" vs "doc review" (3 vs 2 occurrences)
|
||||
- ⚠️ "Python" vs "python" mixed usage
|
||||
|
||||
Recommendations:
|
||||
- Standardize on "doc-review" (hyphenated)
|
||||
- Use "Python" (capitalized) for language name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 4: Version Number Consistency
|
||||
|
||||
### Find All Version References
|
||||
|
||||
```bash
|
||||
# Find version patterns
|
||||
grep -E "v?[0-9]+\.[0-9]+\.[0-9]+" . -r --include="*.md"
|
||||
grep -E "version.*[0-9]" . -r --include="*.md" -i
|
||||
```
|
||||
|
||||
### Check Consistency
|
||||
|
||||
- Same version mentioned in multiple places?
|
||||
- CHANGELOG.md version matches README.md?
|
||||
- pyproject.toml version matches documentation?
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
📊 Version Consistency:
|
||||
|
||||
Found Versions:
|
||||
- README.md: v1.2.0
|
||||
- CHANGELOG.md: 1.2.0 (latest entry)
|
||||
- pyproject.toml: 1.1.5
|
||||
|
||||
Issues:
|
||||
- ❌ Version mismatch: README (1.2.0) vs pyproject.toml (1.1.5)
|
||||
|
||||
Recommendation:
|
||||
- Update pyproject.toml to 1.2.0 or clarify version strategy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 5: SDD Consistency (if applicable)
|
||||
|
||||
### Check Requirement Traceability
|
||||
|
||||
Find all requirement IDs (FR-\*, NFR-\*):
|
||||
|
||||
```bash
|
||||
grep -E "(FR|NFR)-[0-9]+" . -r --include="*.md"
|
||||
```
|
||||
|
||||
### Validate Traceability
|
||||
|
||||
- Are requirements in spec.md referenced in plan.md?
|
||||
- Are completed requirements (✅) in spec.md also marked done in tasks.md?
|
||||
- Are all requirements accounted for?
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
🔍 SDD Traceability:
|
||||
|
||||
Requirements in spec.md: [count]
|
||||
Requirements in plan.md: [count]
|
||||
Requirements in tasks.md: [count]
|
||||
|
||||
Orphaned Requirements:
|
||||
- FR-005 appears in spec.md but not in tasks.md
|
||||
- [...]
|
||||
|
||||
Completed but Not Marked:
|
||||
- FR-003 marked done in tasks.md but not in spec.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 6: Code Example Syntax
|
||||
|
||||
### Find Code Blocks
|
||||
|
||||
```bash
|
||||
# Find all code fences
|
||||
grep -E "^\`\`\`" . -r --include="*.md"
|
||||
```
|
||||
|
||||
### Basic Syntax Check
|
||||
|
||||
- Are code fences properly closed?
|
||||
- Is language specified (`python vs`)?
|
||||
- Look for obvious syntax errors in examples
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
💻 Code Example Review:
|
||||
|
||||
Code blocks found: [count]
|
||||
Language specified: [count]/[total]
|
||||
Unclosed fences: [count]
|
||||
|
||||
Issues:
|
||||
- README.md:50 - Code fence not closed
|
||||
- CLAUDE.md:120 - No language specified
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## QA Check 7: Completeness Check
|
||||
|
||||
### Required Sections
|
||||
|
||||
Check if standard files have expected sections:
|
||||
|
||||
**README.md:**
|
||||
|
||||
- [ ] Project description
|
||||
- [ ] Installation
|
||||
- [ ] Usage examples
|
||||
- [ ] Configuration
|
||||
- [ ] License
|
||||
|
||||
**CLAUDE.md:**
|
||||
|
||||
- [ ] Project overview
|
||||
- [ ] Core architecture
|
||||
- [ ] Key modules
|
||||
- [ ] Common workflows
|
||||
|
||||
**CHANGELOG.md:**
|
||||
|
||||
- [ ] Recent version entries
|
||||
- [ ] Categorized changes (Added/Changed/Fixed)
|
||||
- [ ] Dates
|
||||
|
||||
**Report Format:**
|
||||
|
||||
```text
|
||||
📋 Completeness Check:
|
||||
|
||||
README.md:
|
||||
- ✅ Has installation section
|
||||
- ✅ Has usage examples
|
||||
- ❌ Missing troubleshooting section
|
||||
|
||||
CLAUDE.md:
|
||||
- ✅ Has architecture overview
|
||||
- ⚠️ Core modules section is sparse
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Output: QA Summary Report
|
||||
|
||||
### 📊 Documentation Quality Assurance Report
|
||||
|
||||
**Validation Date:** [YYYY-MM-DD]
|
||||
|
||||
---
|
||||
|
||||
### Auto-Fix Results
|
||||
|
||||
**Linting & Formatting Phase:**
|
||||
|
||||
- ✅ markdownlint: [X] issues auto-fixed
|
||||
- ✅ prettier: [X] files reformatted
|
||||
- Files modified: [list of files]
|
||||
- Time taken: < 1 second
|
||||
|
||||
**Common fixes applied:**
|
||||
|
||||
- Blank lines around lists (MD032)
|
||||
- Bare URLs wrapped in links (MD034)
|
||||
- Link text made descriptive (MD059)
|
||||
- Code blocks with language specified (MD040)
|
||||
- Emphasis replaced with headings (MD036)
|
||||
|
||||
---
|
||||
|
||||
### Overall Quality Score
|
||||
|
||||
**Baseline Score:** [X]/100 (before fixes)
|
||||
**After Fixes:** [X]/100 (after linting)
|
||||
|
||||
---
|
||||
|
||||
### Link Validation
|
||||
|
||||
- ✅ Valid links: [count]
|
||||
- ❌ Broken links: [count]
|
||||
- Score: [X]/20
|
||||
|
||||
### Cross-Reference Validation
|
||||
|
||||
- ✅ Valid references: [count]
|
||||
- ❌ Invalid references: [count]
|
||||
- Score: [X]/15
|
||||
|
||||
### Terminology Consistency
|
||||
|
||||
- Inconsistencies found: [count]
|
||||
- Score: [X]/15
|
||||
|
||||
### Version Consistency
|
||||
|
||||
- Matches found: [count]
|
||||
- Mismatches: [count]
|
||||
- Score: [X]/15
|
||||
|
||||
### SDD Consistency
|
||||
|
||||
- Orphaned requirements: [count]
|
||||
- Traceability: [X]%
|
||||
- Score: [X]/15
|
||||
|
||||
### Code Example Quality
|
||||
|
||||
- Syntax issues: [count]
|
||||
- Score: [X]/10
|
||||
|
||||
### Completeness
|
||||
|
||||
- Missing sections: [count]
|
||||
- Score: [X]/10
|
||||
|
||||
---
|
||||
|
||||
### Priority Issues
|
||||
|
||||
**High Priority (Fix Immediately):**
|
||||
|
||||
1. [Issue description and location]
|
||||
2. [...]
|
||||
|
||||
**Medium Priority (Fix Soon):**
|
||||
|
||||
1. [Issue description and location]
|
||||
2. [...]
|
||||
|
||||
**Low Priority (Nice to Have):**
|
||||
|
||||
1. [Issue description and location]
|
||||
2. [...]
|
||||
|
||||
---
|
||||
|
||||
### Recommended Actions
|
||||
|
||||
1. **Fix broken links:**
|
||||
- [Specific links to fix]
|
||||
|
||||
2. **Update version numbers:**
|
||||
- [Where to update]
|
||||
|
||||
3. **Standardize terminology:**
|
||||
- Use "[term]" instead of "[variation]"
|
||||
|
||||
4. **Complete missing sections:**
|
||||
- Add troubleshooting to README.md
|
||||
- [...]
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
- [x] Auto-fixed linting issues (markdownlint + prettier)
|
||||
- [ ] Review and fix high-priority semantic issues
|
||||
- [ ] Fix medium-priority issues (links, terminology, versions)
|
||||
- [ ] Consider low-priority improvements
|
||||
- [ ] Commit auto-fixes: `git commit -m "docs: Auto-fix linting issues (markdownlint + prettier)"`
|
||||
- [ ] Re-run QA to verify: `/ck:doc-review/qa`
|
||||
|
||||
---
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
### Auto-Fix Behavior
|
||||
|
||||
- **Automatic:** Linting tools run automatically on every QA check
|
||||
- **Non-destructive:** Only formatting and style issues are auto-fixed
|
||||
- **Semantic issues:** Links, terminology, versions require manual review
|
||||
- **Git-aware:** Shows diff of changes made
|
||||
|
||||
### Tool Requirements
|
||||
|
||||
- **markdownlint-cli:** Auto-fixes MD032, MD034, MD036, MD040, MD059
|
||||
- **prettier:** Enforces consistent code formatting
|
||||
- Both tools are lightweight and zero-dependency
|
||||
|
||||
### Configuration
|
||||
|
||||
Tools use standard configurations:
|
||||
|
||||
- `.markdownlintrc` - Markdownlint rules (if present)
|
||||
- `.prettierrc` - Prettier rules (if present)
|
||||
- Falls back to defaults if no config found
|
||||
150
commands/quick.md
Normal file
150
commands/quick.md
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
|
||||
description: Quick documentation update - skip analysis, direct edits only
|
||||
allowed-tools: Read(*), Edit(*), Write(*), Bash(git:*)
|
||||
---
|
||||
|
||||
# Quick Documentation Update
|
||||
|
||||
**⚡ Lightweight Mode** - No analysis, no validation, just updates
|
||||
**Token Cost:** 400-600 tokens (vs 1.2-1.5K for full :core)
|
||||
**Execution Time:** < 30 seconds
|
||||
**Use Case:** Known, simple documentation updates
|
||||
|
||||
---
|
||||
|
||||
## Task
|
||||
|
||||
**Quick update for:** $ARGUMENTS
|
||||
|
||||
**Fast path:** Skip analysis → Update files → Done
|
||||
|
||||
---
|
||||
|
||||
## Files to Update
|
||||
|
||||
Based on $ARGUMENTS, update one or more:
|
||||
|
||||
- **README.md** - Features, installation, usage, configuration
|
||||
- **CLAUDE.md** - AI context, module documentation
|
||||
- **CHANGELOG.md** - Add new version entry
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Identify Target File
|
||||
|
||||
Based on $ARGUMENTS, determine which file to update:
|
||||
|
||||
- Feature/usage change → README.md
|
||||
- New module/component → CLAUDE.md
|
||||
- Release/version change → CHANGELOG.md
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Direct Edit (No Analysis)
|
||||
|
||||
Quickly update the target file without analysis:
|
||||
|
||||
**For README.md:**
|
||||
- Add/update feature description in Features section
|
||||
- Update Installation if dependencies changed
|
||||
- Add Usage example
|
||||
|
||||
**For CLAUDE.md:**
|
||||
- Add new module documentation
|
||||
- Update architecture notes if changed
|
||||
- Document new components
|
||||
|
||||
**For CHANGELOG.md:**
|
||||
- Add new version entry at top
|
||||
- Categorize: Added/Changed/Fixed
|
||||
- Include dates and file references
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Quick Validation
|
||||
|
||||
Only check what was actually changed:
|
||||
|
||||
- ✅ File exists and is readable
|
||||
- ✅ No syntax errors in edited sections
|
||||
- ✅ Basic formatting correct
|
||||
|
||||
Do NOT run full QA or linting.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Summary
|
||||
|
||||
Show what was changed:
|
||||
|
||||
- Files modified: [list]
|
||||
- Lines changed: [approximate count]
|
||||
- Execution time: [< 30 seconds]
|
||||
|
||||
---
|
||||
|
||||
## Example Usage
|
||||
|
||||
```bash
|
||||
/ck:doc-review:quick "added new feature X"
|
||||
# Updates README.md with new feature → Done (< 1K tokens)
|
||||
|
||||
/ck:doc-review:quick "new API endpoint"
|
||||
# Updates CLAUDE.md with endpoint docs → Done (< 1K tokens)
|
||||
|
||||
/ck:doc-review:quick "version 1.2.0 release"
|
||||
# Updates CHANGELOG.md with release notes → Done (< 1K tokens)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## When to Use Quick Mode
|
||||
|
||||
✅ **Use quick mode when:**
|
||||
- Update is simple and straightforward
|
||||
- You know exactly what needs changing
|
||||
- No validation needed
|
||||
- Speed is priority over completeness
|
||||
|
||||
❌ **Don't use quick mode when:**
|
||||
- Update is complex or affects multiple files
|
||||
- Need comprehensive analysis first
|
||||
- Want full QA validation
|
||||
- Documentation has many interconnections
|
||||
|
||||
---
|
||||
|
||||
## When to Use Full Mode
|
||||
|
||||
For comprehensive updates with analysis and validation:
|
||||
|
||||
```bash
|
||||
# Full analysis before updating
|
||||
/ck:doc-review:analyze "feature"
|
||||
|
||||
# Full update with QA validation
|
||||
/ck:doc-review:core "feature"
|
||||
|
||||
# SDD artifact updates
|
||||
/ck:doc-review:sdd "phase"
|
||||
|
||||
# Quality assurance
|
||||
/ck:doc-review:qa
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Token Savings Comparison
|
||||
|
||||
| Task | Mode | Tokens | Time |
|
||||
|------|------|--------|------|
|
||||
| Add feature to README | quick | 400-600 | < 30s |
|
||||
| Add feature to README | core | 1.2-1.5K | 2-3s |
|
||||
| New module to CLAUDE | quick | 400-600 | < 30s |
|
||||
| New module to CLAUDE | core | 1.2-1.5K | 2-3s |
|
||||
| CHANGELOG entry | quick | 300-500 | < 20s |
|
||||
| CHANGELOG entry | core | 1.2-1.5K | 2-3s |
|
||||
|
||||
**Savings:** 60-70% tokens, 90%+ execution time reduction
|
||||
|
||||
326
commands/sdd.md
Normal file
326
commands/sdd.md
Normal file
@@ -0,0 +1,326 @@
|
||||
---
|
||||
|
||||
description: Update SDD artifacts (spec.md, plan.md, tasks.md, contracts)
|
||||
allowed-tools: Bash(find:*), Bash(git:*), Read(*), Write(*), Edit(*), Grep(*), Glob(*)
|
||||
---
|
||||
|
||||
# SDD Artifacts Update Command
|
||||
|
||||
## Context
|
||||
|
||||
- SDD files:
|
||||
!`find ./specs -name "spec.md" -o -name "plan.md" -o -name "tasks.md" | sort`
|
||||
- Recent changes:
|
||||
!`git diff --name-only HEAD~5..HEAD 2>/dev/null || echo "No recent commits"`
|
||||
|
||||
## Task
|
||||
|
||||
**Update SDD artifacts for:** $ARGUMENTS
|
||||
|
||||
SDD stands for Specification-Driven Development.
|
||||
|
||||
**Target files:**
|
||||
|
||||
- specs/\*/spec.md - Functional requirements
|
||||
- specs/\*/plan.md - Implementation plan
|
||||
- specs/\*/tasks.md - Task breakdown
|
||||
- specs/_/contracts/_.md - Design contracts
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Identify Relevant Spec Directory
|
||||
|
||||
Based on $ARGUMENTS, determine which spec directory to update:
|
||||
|
||||
- Extract feature number (e.g., "feature 005" → specs/005-\*)
|
||||
- Or identify by feature name
|
||||
- List matching directories found
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Update spec.md (Functional Requirements)
|
||||
|
||||
### Read Current spec.md
|
||||
|
||||
Read the relevant specs/\*/spec.md file.
|
||||
|
||||
### Update Requirements
|
||||
|
||||
**What to update:**
|
||||
|
||||
1. **Mark Completed Requirements:**
|
||||
- Find requirements (FR-\*) that are now implemented
|
||||
- Change status markers:
|
||||
- [ ] → [x] for completed
|
||||
- Add ✅ emoji if used in doc
|
||||
|
||||
2. **Add New Requirements (if discovered during implementation):**
|
||||
|
||||
````markdown
|
||||
### FR-[N]: [Requirement Title]
|
||||
|
||||
**Priority:** [High/Medium/Low]
|
||||
**Status:** [Planned/In Progress/Completed]
|
||||
|
||||
**Description:**
|
||||
[What the requirement is]
|
||||
|
||||
**Acceptance Criteria:**
|
||||
|
||||
- [ ] Criterion 1
|
||||
- [ ] Criterion 2
|
||||
|
||||
**Implementation Notes:**
|
||||
[Details from actual implementation]
|
||||
````
|
||||
|
||||
3. **Update Requirement Details:**
|
||||
- Add implementation notes to existing requirements
|
||||
- Update acceptance criteria based on what was actually built
|
||||
- Note any deviations from original plan
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply changes using Edit tool.
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Update plan.md (Implementation Plan)
|
||||
|
||||
### Read Current plan.md
|
||||
|
||||
Read the relevant specs/\*/plan.md file.
|
||||
|
||||
### Update Plan Status
|
||||
|
||||
**What to update:**
|
||||
|
||||
1. **Phase Completion:**
|
||||
|
||||
````markdown
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: [Name]
|
||||
|
||||
**Status:** ✅ Completed
|
||||
**Completion Date:** YYYY-MM-DD
|
||||
|
||||
**Implemented:**
|
||||
|
||||
- [What was built]
|
||||
- [What was built]
|
||||
|
||||
**Deviations:**
|
||||
|
||||
- [Any changes from original plan]
|
||||
````
|
||||
|
||||
2. **Architecture Decisions:**
|
||||
|
||||
````markdown
|
||||
### Architecture Decision: [Title]
|
||||
|
||||
**Decision:** [What was decided]
|
||||
**Rationale:** [Why this approach was chosen]
|
||||
**Alternatives Considered:** [Other options]
|
||||
**Implementation:** path/to/file.py:123
|
||||
**Trade-offs:**
|
||||
|
||||
- Pro: [Benefit]
|
||||
- Con: [Cost]
|
||||
````
|
||||
|
||||
3. **Design Patterns Used:**
|
||||
|
||||
````markdown
|
||||
### Design Pattern: [Pattern Name]
|
||||
|
||||
**Location:** path/to/implementation.py:123
|
||||
**Purpose:** [Why this pattern was used]
|
||||
**Implementation Details:** [How it's implemented]
|
||||
````
|
||||
|
||||
4. **Risk Updates:**
|
||||
- Mark mitigated risks as resolved
|
||||
- Add any new risks discovered
|
||||
- Update risk status
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply changes using Edit tool.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Update tasks.md (Task Breakdown)
|
||||
|
||||
### Read Current tasks.md
|
||||
|
||||
Read the relevant specs/\*/tasks.md file.
|
||||
|
||||
### Update Task Status
|
||||
|
||||
**What to update:**
|
||||
|
||||
1. **Mark Completed Tasks:**
|
||||
|
||||
````markdown
|
||||
- [x] Task name
|
||||
- **Status:** ✅ Completed
|
||||
- **Completion Date:** YYYY-MM-DD
|
||||
- **Implementation:** path/to/file.py:123
|
||||
- **Notes:** [Any lessons learned or important details]
|
||||
````
|
||||
|
||||
2. **Update In-Progress Tasks:**
|
||||
|
||||
````markdown
|
||||
- [ ] Task name
|
||||
- **Status:** 🔄 In Progress (60% complete)
|
||||
- **Current State:** [What's done, what's remaining]
|
||||
- **Blockers:** [Any issues]
|
||||
````
|
||||
|
||||
3. **Add New Tasks (if discovered):**
|
||||
|
||||
````markdown
|
||||
- [ ] New task discovered during implementation
|
||||
- **Priority:** High
|
||||
- **Dependency:** [Other tasks this depends on]
|
||||
- **Estimate:** [Time estimate]
|
||||
````
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply changes using Edit tool.
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Update Design Contracts (if applicable)
|
||||
|
||||
### Find Contract Files
|
||||
|
||||
Look for specs/_/contracts/_.md files related to this feature.
|
||||
|
||||
### Update Contracts
|
||||
|
||||
**What to update:**
|
||||
|
||||
1. **API Contracts:**
|
||||
|
||||
````markdown
|
||||
## Endpoint: [Name]
|
||||
|
||||
**Method:** GET/POST/etc
|
||||
**Path:** /api/v1/resource
|
||||
|
||||
**Request:**
|
||||
|
||||
```json
|
||||
{
|
||||
"param": "value"
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{
|
||||
"result": "value"
|
||||
}
|
||||
```
|
||||
|
||||
**Implementation:** path/to/handler.py:123
|
||||
|
||||
````
|
||||
|
||||
2. **Interface Contracts:**
|
||||
```markdown
|
||||
## Interface: [ClassName]
|
||||
|
||||
**Location:** path/to/file.py:123
|
||||
|
||||
**Methods:**
|
||||
- `method_name(param: Type) -> ReturnType`
|
||||
- Purpose: [What it does]
|
||||
- Example: [Usage example]
|
||||
````
|
||||
|
||||
3. **Data Schema Contracts:**
|
||||
- Update schema definitions to match actual implementation
|
||||
- Add examples with real data
|
||||
- Document any schema changes
|
||||
|
||||
### Make Updates
|
||||
|
||||
Apply changes using Edit tool for each contract file.
|
||||
|
||||
---
|
||||
|
||||
## Step 6: SDD Consistency Validation
|
||||
|
||||
**Cross-check consistency:**
|
||||
|
||||
- [ ] spec.md requirements match implementation
|
||||
- [ ] plan.md phases align with completed tasks
|
||||
- [ ] tasks.md references correct file:line locations
|
||||
- [ ] Contracts match actual API/interface implementation
|
||||
- [ ] No orphaned requirements (in spec but not in plan/tasks)
|
||||
- [ ] All completed tasks have corresponding requirement markers
|
||||
|
||||
**If inconsistencies found:**
|
||||
|
||||
- Document them
|
||||
- Fix or note as deviations with explanation
|
||||
|
||||
---
|
||||
|
||||
## Output: Summary
|
||||
|
||||
### 📊 SDD Documentation Update Summary
|
||||
|
||||
**Scope:** $ARGUMENTS
|
||||
|
||||
**Spec Directory:** specs/[directory]
|
||||
|
||||
**Files Updated:**
|
||||
|
||||
| File | Updates Made | Lines Changed |
|
||||
| --------------- | ---------------------------------------- | ------------- |
|
||||
| spec.md | [FR-X completed, FR-Y updated] | ~[estimate] |
|
||||
| plan.md | [Phase X status, architecture decisions] | ~[estimate] |
|
||||
| tasks.md | [X tasks completed, Y added] | ~[estimate] |
|
||||
| contracts/\*.md | [Contracts updated] | ~[estimate] |
|
||||
|
||||
**Requirement Status:**
|
||||
|
||||
- Completed: [count] requirements
|
||||
- In Progress: [count] requirements
|
||||
- Remaining: [count] requirements
|
||||
|
||||
**Phase Status:**
|
||||
|
||||
- Completed phases: [list]
|
||||
- Current phase: [name] ([%] complete)
|
||||
- Remaining phases: [list]
|
||||
|
||||
**SDD Consistency:**
|
||||
|
||||
- [x] Requirements ↔ Implementation aligned
|
||||
- [x] Plan ↔ Tasks aligned
|
||||
- [x] Contracts ↔ Code aligned
|
||||
- [x] No orphaned requirements
|
||||
- [x] All references accurate
|
||||
|
||||
**Execution Time:** [X]s
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
Recommended actions:
|
||||
|
||||
- [ ] Review SDD updates: `git diff specs/`
|
||||
- [ ] Update core docs: `/ck:doc-review/core $ARGUMENTS`
|
||||
- [ ] Run QA validation: `/ck:doc-review/qa`
|
||||
- [ ] Commit SDD updates with message like: `docs(sdd): Update spec 005 for feature implementation`
|
||||
69
plugin.lock.json
Normal file
69
plugin.lock.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:kimcharli/ck-skills:plugins/doc-review-commands",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "64c2b2778f4a7b78e603f2e0944e533654bb350e",
|
||||
"treeHash": "24f8de940935460ab19035e02f6b44060c0ed1a095682c0b3b2104dc868b92ee",
|
||||
"generatedAt": "2025-11-28T10:19:32.265755Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "doc-review-commands",
|
||||
"description": "AI-powered documentation management system for Claude Code - keeps project documentation in sync with code changes",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "50dac793a6f6b7af2cf37d1e089d45bc056e59793113e64a6340d8204388ede0"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "702c6e3a2f0894a1ff9fec530e31a08eab7becdcac892aad88046613e615364a"
|
||||
},
|
||||
{
|
||||
"path": "commands/qa.md",
|
||||
"sha256": "7804c3b5ee971b13dfc868c21491b549f381807cbaba260a1bf32549daece591"
|
||||
},
|
||||
{
|
||||
"path": "commands/analyze.md",
|
||||
"sha256": "9603250574de21738e746726f79e77aa480a6cad6ef1a5862f0a3f5bba7a9f80"
|
||||
},
|
||||
{
|
||||
"path": "commands/help.md",
|
||||
"sha256": "c958d2a8fc6191a7fbefc3554fbfed62cf21efc4c0699ab1950d025ccbe2b72f"
|
||||
},
|
||||
{
|
||||
"path": "commands/main.md",
|
||||
"sha256": "3866c82c05395ba423819990e6ce1744cc4c26b77cd50f496faaea1090e83df5"
|
||||
},
|
||||
{
|
||||
"path": "commands/core.md",
|
||||
"sha256": "6bd93f25094754fb0dc5b815f32ee615c8a12bb494d4fe8dd972b0c4c5c9a223"
|
||||
},
|
||||
{
|
||||
"path": "commands/sdd.md",
|
||||
"sha256": "db538d347bece85a4061307ef04010297edd36b48ef18ac48053639c1e1af4f0"
|
||||
},
|
||||
{
|
||||
"path": "commands/quick.md",
|
||||
"sha256": "a5ad0363e17b92cb9bd2cb4ee5d9246a74a58174154f41ec3d2de71142b45fc3"
|
||||
}
|
||||
],
|
||||
"dirSha256": "24f8de940935460ab19035e02f6b44060c0ed1a095682c0b3b2104dc868b92ee"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user