Arkhe-claude-plugins jd-docs
install
source · Clone the upstream repo
git clone https://github.com/joaquimscosta/arkhe-claude-plugins
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/joaquimscosta/arkhe-claude-plugins "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/doc/skills/jd-docs" ~/.claude/skills/joaquimscosta-arkhe-claude-plugins-jd-docs && rm -rf "$T"
manifest:
plugins/doc/skills/jd-docs/SKILL.mdsource content
Johnny.Decimal Documentation
Scaffold, validate, and maintain Johnny.Decimal documentation structure with sensible defaults and per-project customization.
Quick Start
# Scaffold a new structure uv run scripts/jd_init.py --dry-run # Preview first uv run scripts/jd_init.py # Create docs/ with defaults uv run scripts/jd_init.py --diataxis # Include Diataxis areas (41-44) # Validate existing structure uv run scripts/jd_validate.py --dir docs # Regenerate README index uv run scripts/jd_index.py --dir docs # Day-2: Add a new area uv run scripts/jd_add_area.py --prefix 40 --name operations --dry-run # Day-2: Classify unorganized files uv run scripts/jd_classify.py docs/*.md uv run scripts/jd_classify.py docs/*.md --diataxis # With quadrant info # Day-2: Move a file to an area uv run scripts/jd_add.py docs/roadmap.md 00 --dry-run
See WORKFLOW.md for the full methodology.
Capabilities
- Scaffolding (
) — Create J.D directory tree with README templates; supportsjd_init.py
for monorepo sub-trees,--product
to generate--init-config
, and.jd-config.json
to include Diataxis quadrant areas (41-44)--diataxis - Validation (
) — Checkjd_validate.py
naming, detect orphan files, verify README presence per area;NN-kebab-case
for CI enforcement--strict - Index generation (
) — Generate/update root README with table or tree index; preserves custom content viajd_index.py
markers<!-- JD:INDEX:START/END --> - Migration (Claude-driven) — Classify flat docs into J.D areas using naming heuristics, present a move plan, execute interactively
Day-2 Operations
- Add area (
) — Create a new J.D area with prefix, name, README stub, config update, and auto re-indexjd_add_area.py - Classify (
) — Classify files into areas using keyword heuristics with confidence scoring (high/medium/low);jd_classify.py
adds Diataxis quadrant column,--diataxis
routes files to quadrant areas (41-44)--diataxis-move - Add/move file (
) — Move a file to an area with auto-normalized kebab-case naming and cross-reference detectionjd_add.py
Default Area Scheme
| Prefix | Name | Purpose |
|---|---|---|
| getting-started | Onboarding, setup, quick start, MVP |
| product | Specs, features, roadmap, design, branding |
| architecture | Tech decisions, system design, integration |
| research | Spikes, investigations, reference material |
| archive | Historical/deprecated docs |
Gap at 40-80 reserved for per-project customization (e.g.,
40-operations).
With
, areas 41-44 are added for Diataxis quadrants:--diataxis
|
41- | tutorials | Tutorials — step-by-step lessons (Diataxis) |
| 42- | how-to | How-to guides — practical tasks (Diataxis) |
| 43- | reference | Reference — technical descriptions (Diataxis) |
| 44- | explanation | Explanation — conceptual discussions (Diataxis) |
Config File (.jd-config.json)
Optional per-project override at project root:
{ "version": 1, "root": "docs", "areas": { "00": "getting-started", "10": "product", "20": "architecture", "30": "research", "90": "archive" }, "products": [], "ignore": ["adr", "*.pdf"], "readme_format": "table" }
Create with
uv run scripts/jd_init.py --init-config. All fields have sensible defaults.
Common Issues
| Issue | Fix |
|---|---|
not found | or run with |
| Orphan files in validation | Move to area dir, or add to in |
| Index appended at wrong position | Move markers to desired location after first run |
| Low confidence on all files | Expand keywords in config or use Claude-driven classification |
See TROUBLESHOOTING.md for all error scenarios.
References
- WORKFLOW.md — Full methodology (discovery, config, scaffold, validate, index, migrate, day-2)
- EXAMPLES.md — Real-world examples for all operations
- TROUBLESHOOTING.md — Error handling and debugging tips